File indexing completed on 2024-05-12 17:05:48
0001 #ifndef oxygengroupboxengine_h 0002 #define oxygengroupboxengine_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 * 0007 * SPDX-License-Identifier: LGPL-2.0-or-later 0008 */ 0009 0010 #include "oxygenbaseengine.h" 0011 0012 #include <gtk/gtk.h> 0013 #include <set> 0014 0015 namespace Oxygen 0016 { 0017 //! forward declaration 0018 class Animations; 0019 0020 //! associates widgets with some type of data 0021 class GroupBoxEngine: public BaseEngine 0022 { 0023 0024 public: 0025 0026 //! constructor 0027 GroupBoxEngine( Animations* widget ): 0028 BaseEngine( widget ) 0029 {} 0030 0031 //! destructor 0032 virtual ~GroupBoxEngine( void ) 0033 {} 0034 0035 //! register widget 0036 virtual bool registerWidget( GtkWidget* widget ) 0037 { return( _data.insert( widget ).second ); } 0038 0039 //! unregister widget 0040 virtual void unregisterWidget( GtkWidget* widget ) 0041 { _data.erase( widget ); } 0042 0043 //! true if widget is included 0044 virtual bool contains( GtkWidget* widget ) 0045 { return _data.find( widget ) != _data.end(); } 0046 0047 private: 0048 0049 //! store registered widgets 0050 std::set<GtkWidget*> _data; 0051 0052 }; 0053 0054 } 0055 0056 #endif