File indexing completed on 2024-05-12 05:34:33
0001 #ifndef oxygenhook_h 0002 #define oxygenhook_h 0003 /* 0004 * this file is part of the oxygen gtk engine 0005 * SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0006 * SPDX-FileCopyrightText: 2010 Ruslan Kabatsayev <b7.10110111@gmail.com> 0007 * 0008 * SPDX-License-Identifier: LGPL-2.0-or-later 0009 */ 0010 0011 #include <gtk/gtk.h> 0012 #include <string> 0013 0014 namespace Oxygen 0015 { 0016 //! handles gtk signal hooks 0017 class Hook 0018 { 0019 public: 0020 0021 //! constructor 0022 Hook( void ): 0023 _signalId(0), 0024 _hookId(0) 0025 {} 0026 0027 //! destructor 0028 virtual ~Hook( void ) 0029 {} 0030 0031 0032 0033 //! connect 0034 bool connect( const std::string&, GType, GSignalEmissionHook, gpointer ); 0035 0036 bool connect( const std::string& signal, GSignalEmissionHook hook, gpointer data ) 0037 { return connect( signal, GTK_TYPE_WIDGET, hook, data ); } 0038 0039 //! disconnect 0040 void disconnect( void ); 0041 0042 private: 0043 0044 //! signal id 0045 guint _signalId; 0046 gulong _hookId; 0047 0048 }; 0049 0050 } 0051 0052 #endif