#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 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 source_code; sigc::signal about; explicit Menu(const Glib::RefPtr &accelgroup); virtual ~Menu(); void setBackMenuSensitive(bool sensitive); void setForwardMenuSensitive(bool sensitive); void setPublishMenuSensitive(bool sensitive); protected: // Child widgets Gtk::MenuItem m_file; Gtk::MenuItem m_edit; Gtk::MenuItem m_view; Gtk::MenuItem m_help; Gtk::Menu m_fileSubmenu; /*!< File sub menu */ Gtk::Menu m_editSubmenu; /*!< Edit sub menu */ Gtk::Menu m_viewSubmenu; /*!< View sub menu */ Gtk::Menu m_helpSubmenu; /*!< Help sub menu */ Gtk::SeparatorMenuItem m_separator1; Gtk::SeparatorMenuItem m_separator2; Gtk::SeparatorMenuItem m_separator3; Gtk::SeparatorMenuItem m_separator4; Gtk::SeparatorMenuItem m_separator5; Gtk::SeparatorMenuItem m_separator6; private: Gtk::MenuItem *createMenuItem(const Glib::ustring &label_text); Gtk::MenuItem *backMenuItem; Gtk::MenuItem *forwardMenuItem; Gtk::MenuItem *publishMenuItem; }; #endif