#ifndef MENU_H #define MENU_H #include #include #include #include #include /** * \class Menu * \brief The top main-menu */ class Menu : public Gtk::MenuBar { public: sigc::signal new_doc; sigc::signal open; sigc::signal open_edit; sigc::signal edit; sigc::signal save; sigc::signal save_as; sigc::signal publish; sigc::signal quit; sigc::signal undo; sigc::signal redo; sigc::signal cut; sigc::signal copy; sigc::signal paste; sigc::signal del; sigc::signal select_all; sigc::signal find; sigc::signal replace; sigc::signal back; sigc::signal forward; sigc::signal reload; sigc::signal home; sigc::signal toc; sigc::signal source_code; sigc::signal about; explicit Menu(const Glib::RefPtr& accelgroup); virtual ~Menu(); void set_back_menu_sensitive(bool sensitive); void set_forward_menu_sensitive(bool sensitive); void set_publish_menu_sensitive(bool sensitive); void set_edit_menu_sensitive(bool sensitive); protected: // Child widgets Gtk::MenuItem file_menu_item; Gtk::MenuItem edit_menu_item; Gtk::MenuItem view_menu_item; Gtk::MenuItem help_menu_item; Gtk::Menu file_menu; /*!< File drop-down menu */ Gtk::Menu edit_menu; /*!< Edit drop-down menu */ Gtk::Menu view_menu; /*!< View drop-down menu */ Gtk::Menu help_menu; /*!< Help drop-down menu */ Gtk::SeparatorMenuItem separator1; Gtk::SeparatorMenuItem separator2; Gtk::SeparatorMenuItem separator3; Gtk::SeparatorMenuItem separator4; Gtk::SeparatorMenuItem separator5; Gtk::SeparatorMenuItem separator6; Gtk::SeparatorMenuItem separator7; Gtk::SeparatorMenuItem separator8; private: Gtk::MenuItem* back_menu_item_; Gtk::MenuItem* forward_menu_item_; Gtk::MenuItem* publish_menu_item_; Gtk::MenuItem* edit_menu_item_; Gtk::MenuItem* create_menu_item(const Glib::ustring& label_text); }; #endif