#pragma once #include #include #include #include class Menu { Menu() = default; public: static Menu &get() { static Menu instance; return instance; } void add_action(const std::string &name, const std::function &action); std::unordered_map> actions; std::map, std::vector>> accelerators_with_multiple_actions; void set_keys(); void build(); Glib::RefPtr window_menu; std::unique_ptr right_click_line_menu; std::unique_ptr right_click_selected_menu; std::function toggle_menu_items = [] {}; private: Glib::RefPtr builder; };