summaryrefslogtreecommitdiffstats
path: root/tdegtk/tdegtk-signals.h
diff options
context:
space:
mode:
Diffstat (limited to 'tdegtk/tdegtk-signals.h')
-rw-r--r--tdegtk/tdegtk-signals.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/tdegtk/tdegtk-signals.h b/tdegtk/tdegtk-signals.h
new file mode 100644
index 0000000..1d0310c
--- /dev/null
+++ b/tdegtk/tdegtk-signals.h
@@ -0,0 +1,64 @@
+#ifndef tdegtk_signal_h
+#define tdegtk_signal_h
+
+/*
+* this file was largely taken from the oxygen gtk engine
+* Copyright (c) 2010 Hugo Pereira Da Costa <hugo@oxygen-icons.org>
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or(at your option ) any later version.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+* MA 02110-1301, USA.
+*/
+
+#include <gtk/gtk.h>
+#include <cassert>
+#include <string>
+
+ //! handles gtk signal connections
+ class Signal
+ {
+ public:
+
+ //! constructor
+ Signal( void ):
+ _id(0),
+ _object(0L)
+ {}
+
+ //! destructor
+ virtual ~Signal( void )
+ {}
+
+ //! true if connected
+ bool isConnected( void ) const
+ { return _id > 0 && _object; }
+
+ //! connect
+ bool connect( GObject*, const std::string&, GCallback, gpointer, bool after=false );
+
+ //! disconnect
+ void disconnect( void );
+
+ private:
+
+ //! signal id
+ guint _id;
+
+ //! connected object
+ GObject* _object;
+
+ };
+
+#endif
+