00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef BAKERY_APP_GNOMEUI_H
00020 #define BAKERY_APP_GNOMEUI_H
00021
00022 #include "bakery/App/App.h"
00023 #include <libgnomeuimm.h>
00024 #include <gtkmm.h>
00025
00026
00027
00028 namespace Bakery
00029 {
00030
00044 class App_GnomeUI
00045 : virtual public Bakery::App,
00046 public Gnome::UI::App
00047 {
00048 public:
00049 friend class AppInstanceManager;
00050
00052 App_GnomeUI(const Glib::ustring& appname, const Glib::ustring& title);
00053 virtual ~App_GnomeUI();
00054
00055 virtual void init();
00056
00057 static void set_command_line_args(int argc, char **&argv);
00058
00059
00060 typedef std::map<GnomeUIInfoConfigurableTypes, Gtk::Widget*> type_mapMenuItemWidgets;
00061
00062 protected:
00063 virtual void init_menus();
00064 virtual void init_menus_file();
00065 virtual void init_menus_edit();
00066 virtual void init_menus_help();
00067 virtual void init_toolbars();
00068
00069
00070
00071
00072
00073 virtual void on_menu_help_about();
00074
00075
00076 virtual void on_about_close();
00077
00078
00079 virtual void on_session_die();
00080 virtual bool on_session_save_yourself(int phase, Gnome::UI::SaveStyle save_style, bool is_shutdown, Gnome::UI::InteractStyle interact_style, bool is_fast);
00081
00082 virtual void on_hide();
00083
00084 virtual void ui_hide();
00085 virtual void ui_bring_to_front();
00086
00087 virtual bool on_delete_event(GdkEventAny *event);
00088
00089
00090
00091
00092
00093 typedef std::vector<Gnome::UI::Items::SubTree> type_vecGnome_UI_SubTree;
00094 type_vecGnome_UI_SubTree m_menu_UI_Infos;
00095 typedef std::vector<Gnome::UI::Items::Info> type_vecGnome_UI_Info;
00096 type_vecGnome_UI_Info m_toolbar_UI_Infos;
00097
00098
00099 Gnome::UI::AppBar m_Status;
00100
00101
00102 static Gnome::UI::About* m_pAbout;
00103
00104
00105 static Glib::ustring m_strCommandLine_0;
00106 };
00107
00108 }
00109
00110 #endif //BAKERY_APP_GNOMEUI_H