#pragma once #include "python_bind.h" #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 juci_menu; Glib::RefPtr window_menu; std::unique_ptr right_click_line_menu; std::unique_ptr right_click_selected_menu; std::function toggle_menu_items = [] {}; static void init_module(py::module &api); private: Glib::RefPtr builder; };