File indexing completed on 2024-05-12 05:34:34
0001 #ifndef oxygenmenuitemdata_h 0002 #define oxygenmenuitemdata_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 "oxygensignal.h" 0012 #include "oxygentimer.h" 0013 0014 #include <gtk/gtk.h> 0015 0016 namespace Oxygen 0017 { 0018 // track main window resize events 0019 class MenuItemData 0020 { 0021 0022 public: 0023 0024 //! constructor 0025 MenuItemData( void ): 0026 _target(0) 0027 {} 0028 0029 //! destructor 0030 virtual ~MenuItemData( void ) 0031 { disconnect( _target ); } 0032 0033 //! setup connections 0034 void connect( GtkWidget* ); 0035 0036 //! disconnect 0037 void disconnect( GtkWidget* ); 0038 0039 protected: 0040 0041 //! attach style of widget to passed window [recursive] 0042 void attachStyle( GtkWidget*, GdkWindow* ) const; 0043 0044 //! parent set callback 0045 static void parentSet( GtkWidget*, GtkWidget*, gpointer ); 0046 0047 private: 0048 0049 //! target 0050 GtkWidget* _target; 0051 0052 //! reparent signal id 0053 Signal _parentSetId; 0054 0055 }; 0056 0057 } 0058 0059 #endif