From 8e5c48f38c86d31cf2338a45e0f031b887b9ea7e Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Wed, 21 Apr 2010 13:13:26 +0000 Subject: [PATCH] New sip exports for menubar and menu git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2077 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/gui/pymod/export_gl_win.cc | 6 +++--- modules/gui/pymod/export_input.cc | 4 ++-- modules/gui/pymod/export_main_area.cc | 1 + modules/gui/pymod/export_menu_bar.cc | 19 +++++++++++++------ modules/gui/pymod/export_panel_bar.cc | 9 +-------- modules/gui/pymod/export_perspective.cc | 21 ++------------------- 6 files changed, 22 insertions(+), 38 deletions(-) diff --git a/modules/gui/pymod/export_gl_win.cc b/modules/gui/pymod/export_gl_win.cc index a0ef599d4..d42165b00 100644 --- a/modules/gui/pymod/export_gl_win.cc +++ b/modules/gui/pymod/export_gl_win.cc @@ -28,12 +28,12 @@ using namespace ost::gui; void export_GLWin() { - class_<GLWin, boost::noncopyable >("GLWin", no_init) + class_<GLWin, boost::noncopyable>("GLWin", no_init) .def("Show", &GLWin::show) .def("Hide", &GLWin::hide) .def("StatusMessage",&GLWin::StatusMessage) - .def("GetQObject",&ost::gui::get_py_qobject<GLWin>) - .add_property("qobject", &ost::gui::get_py_qobject<GLWin>) + .def("GetQObject",&get_py_qobject<GLWin>) + .add_property("qobject", &get_py_qobject<GLWin>) ; } diff --git a/modules/gui/pymod/export_input.cc b/modules/gui/pymod/export_input.cc index f0df02754..25ede19bc 100644 --- a/modules/gui/pymod/export_input.cc +++ b/modules/gui/pymod/export_input.cc @@ -43,8 +43,8 @@ void export_Input() { class_<SpnavInput, bases<SipHandlerBase>, boost::noncopyable >("SpnavInput",no_init) .def("GetQThread", &spnav_get_instance).staticmethod("GetQThread") - .def("GetQObject", &ost::gui::get_py_qobject<SpnavInput>) - .add_property("qobject", &ost::gui::get_py_qobject<SpnavInput>) + .def("GetQObject", &get_py_qobject<SpnavInput>) + .add_property("qobject", &get_py_qobject<SpnavInput>) .def("Instance", &SpnavInput::Instance, return_value_policy<reference_existing_object>()).staticmethod("Instance") ; diff --git a/modules/gui/pymod/export_main_area.cc b/modules/gui/pymod/export_main_area.cc index 70c69427a..afeea34ae 100644 --- a/modules/gui/pymod/export_main_area.cc +++ b/modules/gui/pymod/export_main_area.cc @@ -148,6 +148,7 @@ void export_MainArea() .def("AddWidget", &MainArea::AddWidget) .def("AddWidget", &main_area_add_widget_a) .def("AddWidget", &main_area_add_widget_b) + .def("AddWidget", &main_area_add_widget_c) .def("AddPersistentWidget", &main_area_add_pers_widget_a) .def("AddPersistentWidget", &main_area_add_pers_widget_b) .def("AddPersistentWidget", &main_area_add_pers_widget_c) diff --git a/modules/gui/pymod/export_menu_bar.cc b/modules/gui/pymod/export_menu_bar.cc index a53c45c67..146e0785c 100644 --- a/modules/gui/pymod/export_menu_bar.cc +++ b/modules/gui/pymod/export_menu_bar.cc @@ -18,8 +18,10 @@ //------------------------------------------------------------------------------ #include <boost/python.hpp> -#include "menu_proxy.hh" -#include "menu_bar_proxy.hh" +#include "sip_handler.hh" + +#include <QMenuBar> +#include <QMenu> using namespace boost::python; using namespace ost; @@ -28,11 +30,16 @@ using namespace ost::gui; void export_MenuBar() { - class_<MenuBarProxy, bases<SipHandlerBase> >("MenuBar") - .def("Show", &MenuBarProxy::Show) - .def("Hide", &MenuBarProxy::Hide) + class_<QMenuBar, boost::noncopyable>("MenuBar") + .def("Show", &QMenuBar::show) + .def("Hide", &QMenuBar::hide) + .def("GetQObject",&get_py_qobject<QMenuBar>) + .add_property("qobject", &get_py_qobject<QMenuBar>) ; - class_<MenuProxy, bases<SipHandlerBase> >("Menu"); + class_<QMenu, boost::noncopyable>("Menu") + .def("GetQObject",&get_py_qobject<QMenu>) + .add_property("qobject", &get_py_qobject<QMenu>) + ; } diff --git a/modules/gui/pymod/export_panel_bar.cc b/modules/gui/pymod/export_panel_bar.cc index 2153804cf..38e2b6458 100644 --- a/modules/gui/pymod/export_panel_bar.cc +++ b/modules/gui/pymod/export_panel_bar.cc @@ -75,14 +75,7 @@ void panels_add_widget_to_pool_b(Panels * panels, const QString& name, int limit object panels_get_menu(Panels* panels) { - static object sip_module=import("sip"); - static object pyqt4_module=import("PyQt4.QtGui"); - object obj(MenuProxy(panels->GetMenu())); - object sip_handle=obj.attr("GetSipHandle")(); - object qmenu = pyqt4_module.attr("QMenu"); - object menu = sip_module.attr("wrapinstance")(sip_handle, qmenu); - - return menu; + return get_py_qobject<QMenu>(panels->GetMenu()); } object panels_get_qwidget(Panels* panels) diff --git a/modules/gui/pymod/export_perspective.cc b/modules/gui/pymod/export_perspective.cc index 6c20c2327..d7367b700 100644 --- a/modules/gui/pymod/export_perspective.cc +++ b/modules/gui/pymod/export_perspective.cc @@ -23,9 +23,6 @@ #include <ost/gui/perspective.hh> #include <ost/gui/main_area.hh> -#include "menu_bar_proxy.hh" -#include "menu_proxy.hh" - #include "sip_handler.hh" using namespace boost::python; @@ -34,26 +31,12 @@ using namespace ost::gui; object app_get_menu_bar(Perspective* pers) { - static object sip_module=import("sip"); - static object pyqt4_module=import("PyQt4.QtGui"); - object obj(MenuBarProxy(pers->GetMenuBar())); - object sip_handle=obj.attr("GetSipHandle")(); - object qmenubar = pyqt4_module.attr("QMenuBar"); - object menu_bar = sip_module.attr("wrapinstance")(sip_handle, qmenubar); - - return menu_bar; + return get_py_qobject<QMenuBar>(pers->GetMenuBar()); } object app_get_menu(Perspective* pers, const QString& name) { - static object sip_module=import("sip"); - static object pyqt4_module=import("PyQt4.QtGui"); - object obj(MenuProxy(pers->GetMenu(name))); - object sip_handle=obj.attr("GetSipHandle")(); - object qmenu = pyqt4_module.attr("QMenu"); - object menu = sip_module.attr("wrapinstance")(sip_handle, qmenu); - - return menu; + return get_py_qobject<QMenu>(pers->GetMenu(name)); } void export_Perspective() -- GitLab