LibreWeb-Browser/src/menu.h

68 lines
1.9 KiB
C
Raw Normal View History

2020-12-04 14:37:01 -08:00
#ifndef MENU_H
#define MENU_H
2020-11-30 15:43:52 -08:00
#include <signal.h>
#include <gtkmm/menubar.h>
#include <gtkmm/menu.h>
#include <gtkmm/menuitem.h>
#include <gtkmm/separatormenuitem.h>
/**
* \class Menu
* \brief The top main-menu
*/
2021-02-12 12:46:41 -08:00
class Menu : public Gtk::MenuBar
2020-11-30 15:43:52 -08:00
{
public:
2021-02-18 12:05:58 -08:00
sigc::signal<void> new_doc;
sigc::signal<void> open;
sigc::signal<void> save;
sigc::signal<void> save_as;
sigc::signal<void> publish;
sigc::signal<void> quit;
sigc::signal<void> undo;
sigc::signal<void> redo;
sigc::signal<void> cut;
sigc::signal<void> copy;
sigc::signal<void> paste;
sigc::signal<void> del;
sigc::signal<void> select_all;
sigc::signal<void> find;
2021-03-12 13:44:48 -08:00
sigc::signal<void> replace;
sigc::signal<void> back;
sigc::signal<void> forward;
2021-02-12 12:46:41 -08:00
sigc::signal<void> reload;
2021-02-16 15:06:33 -08:00
sigc::signal<void> home;
2021-02-12 12:46:41 -08:00
sigc::signal<void> source_code;
sigc::signal<void> about;
2020-11-30 15:43:52 -08:00
2021-02-15 11:19:25 -08:00
explicit Menu(const Glib::RefPtr<Gtk::AccelGroup> &accelgroup);
2021-02-12 12:46:41 -08:00
virtual ~Menu();
void setBackMenuSensitive(bool sensitive);
void setForwardMenuSensitive(bool sensitive);
2021-03-29 13:03:14 -07:00
void setPublishMenuSensitive(bool sensitive);
2020-11-30 15:43:52 -08:00
protected:
2021-02-12 12:46:41 -08:00
// Child widgets
Gtk::MenuItem m_file;
Gtk::MenuItem m_edit;
2021-02-12 12:46:41 -08:00
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 */
2021-02-12 12:46:41 -08:00
Gtk::SeparatorMenuItem m_separator1;
Gtk::SeparatorMenuItem m_separator2;
Gtk::SeparatorMenuItem m_separator3;
2021-02-18 12:05:58 -08:00
Gtk::SeparatorMenuItem m_separator4;
Gtk::SeparatorMenuItem m_separator5;
Gtk::SeparatorMenuItem m_separator6;
2020-11-30 15:43:52 -08:00
private:
2021-02-12 12:46:41 -08:00
Gtk::MenuItem *createMenuItem(const Glib::ustring &label_text);
Gtk::MenuItem *backMenuItem;
Gtk::MenuItem *forwardMenuItem;
2021-03-29 13:03:14 -07:00
Gtk::MenuItem *publishMenuItem;
2020-11-30 15:43:52 -08:00
};
2020-12-04 14:37:01 -08:00
#endif