00001 // -*- c++ -*- 00002 //------------------------------------------------------------------------------ 00003 // MyPropertyBox.h 00004 //------------------------------------------------------------------------------ 00005 // $Id: MyPropertyBox.h,v 1.1 2003/02/07 05:15:10 vlg Exp $ 00006 //------------------------------------------------------------------------------ 00007 // Copyright (c) 2002 by Vladislav Grinchenko 00008 // 00009 // This program is free software; you can redistribute it and/or 00010 // modify it under the terms of the GNU General Public License 00011 // as published by the Free Software Foundation; either version 00012 // 2 of the License, or (at your option) any later version. 00013 //------------------------------------------------------------------------------ 00014 // Created: 00015 //------------------------------------------------------------------------------ 00016 #ifndef MY_PROPERTY_BOX_H 00017 #define MY_PROPERTY_BOX_H 00018 00019 #include <gtkmm/dialog.h> 00020 #include <gtkmm/notebook.h> 00021 00022 /******************************************************************************* 00023 Class 00024 *******************************************************************************/ 00025 class MyPropertyBox : public Gtk::Dialog 00026 { 00027 public: 00028 MyPropertyBox (const std::string& title_); 00029 ~MyPropertyBox (); 00030 00035 void changed (); 00036 00043 gint append_page (Gtk::Widget& child_, const std::string& tab_); 00044 00049 virtual void apply_impl () = 0; 00050 00054 virtual void close_impl () = 0; 00055 00056 protected: 00057 Gtk::Notebook* m_notebook; 00058 Gtk::Button* m_close_button; 00059 Gtk::Button* m_apply_button; 00060 00061 private: 00062 void on_apply_clicked (); 00063 void on_close_clicked (); 00064 00065 private: 00066 bool m_property_changed; 00067 }; 00068 00069 /******************************************************************************* 00070 Useful defines 00071 *******************************************************************************/ 00072 00073 #endif /* MY_PROPERTY_BOX_H */