File indexing completed on 2024-05-12 05:34:33
0001 #ifndef oxygendialogengine_h 0002 #define oxygendialogengine_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 DialogEngine: public BaseEngine 0022 { 0023 0024 public: 0025 0026 //! constructor 0027 DialogEngine( Animations* widget ): 0028 BaseEngine( widget ) 0029 {} 0030 0031 //! destructor 0032 virtual ~DialogEngine( void ) 0033 {} 0034 0035 //! register widget 0036 virtual bool registerWidget( GtkWidget* ); 0037 0038 //! unregister widget 0039 virtual void unregisterWidget( GtkWidget* widget ) 0040 { _data.erase( widget ); } 0041 0042 //! true if widget is included 0043 virtual bool contains( GtkWidget* widget ) 0044 { return _data.find( widget ) != _data.end(); } 0045 0046 private: 0047 0048 //! store registered widgets 0049 std::set<GtkWidget*> _data; 0050 0051 }; 0052 0053 } 0054 0055 #endif