Browse Source

bind some of menu

python
Jørgen Lien Sellæg 7 years ago committed by Jørgen Sverre Lien Sellæg
parent
commit
57a42c8f9e
  1. 14
      src/menu.cpp
  2. 2
      src/menu.hpp

14
src/menu.cpp

@ -1,6 +1,7 @@
#include "menu.hpp"
#include "config.hpp"
#include <iostream>
#include <pybind11/functional.h>
#include <string>
const Glib::ustring menu_xml = R"RAW(<interface>
@ -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_<Menu, std::unique_ptr<Menu, py::nodelete>>(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)
;
}

2
src/menu.hpp

@ -1,4 +1,5 @@
#pragma once
#include "python_bind.h"
#include <functional>
#include <gtkmm.h>
#include <string>
@ -24,6 +25,7 @@ public:
std::unique_ptr<Gtk::Menu> right_click_line_menu;
std::unique_ptr<Gtk::Menu> right_click_selected_menu;
std::function<void()> toggle_menu_items = [] {};
static void init_module(py::module &api);
private:
Glib::RefPtr<Gtk::Builder> builder;

Loading…
Cancel
Save