diff --git a/src/menu.cpp b/src/menu.cpp index 5760594..ed69ea5 100644 --- a/src/menu.cpp +++ b/src/menu.cpp @@ -1,6 +1,7 @@ #include "menu.hpp" #include "config.hpp" #include +#include #include const Glib::ustring menu_xml = R"RAW( @@ -574,3 +575,16 @@ void Menu::build() { std::cerr << "building menu failed: " << ex.what(); } } + +void Menu::init_module(py::module &api) { + // TODO bind glib members + py::class_>(api, "Menu") + .def(py::init([] { return &Menu::get(); })) + .def("add_action", &Menu::add_action, + py::arg("name"), + py::arg("action")) + .def("set_keys", &Menu::set_keys) + .def("build", &Menu::build) + + ; +} diff --git a/src/menu.hpp b/src/menu.hpp index a6f56f8..6f1b6e0 100644 --- a/src/menu.hpp +++ b/src/menu.hpp @@ -1,4 +1,5 @@ #pragma once +#include "python_bind.h" #include #include #include @@ -24,6 +25,7 @@ public: 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;