|
UniWidgets
1.0.0
|
00001 #ifndef _ULOCKNOTEBOOK_H 00002 #define _ULOCKNOTEBOOK_H 00003 // ------------------------------------------------------------------------- 00004 #include <gtkmm.h> 00005 #include <uniwidgets/UDefaultFunctions.h> 00006 #include <deque> 00007 #include <plugins.h> 00008 // ------------------------------------------------------------------------- 00022 class ULockNotebook : public UDefaultFunctions<Gtk::Notebook> 00023 { 00024 public: 00025 ULockNotebook(); 00026 00027 explicit ULockNotebook(GtkmmBaseType::BaseObjectType* gobject); 00028 ~ULockNotebook(); 00029 00030 // virtual bool set_current_page(int page); 00031 void lock_nbook(const Gtk::Widget *w); 00033 virtual void add_lock(const Gtk::Widget& w); 00034 virtual void unlock_current(); 00036 void enable_lock(bool enable=true); 00038 protected: 00043 virtual void on_switch_page(GtkNotebookPage* page, guint page_num); 00045 virtual bool on_button_press_event(GdkEventButton* event); 00046 00047 private: 00048 void ctor(); 00049 sigc::connection lock_connection; 00050 Glib::Property<bool> property_enable_lock; 00051 00052 typedef std::deque<const Gtk::Widget*> LockList; 00053 LockList locks_list; 00054 00055 void on_property_enable_lock_changed(); 00056 00057 }; 00058 #endif
1.7.6.1