diff --git a/modules/gui/pymod/export_gosty.cc b/modules/gui/pymod/export_gosty.cc index 88967d5191253a098cd08b8c6aa0cde7569906e6..88aacd0596736aa6ee884036f0692e6d02f08c01 100644 --- a/modules/gui/pymod/export_gosty.cc +++ b/modules/gui/pymod/export_gosty.cc @@ -28,6 +28,8 @@ using namespace boost::python; #include <ost/gui/tools/tool_options_win.hh> #include "transfer_ownership.hh" +#include "sip_handler.hh" + #include "python_shell_proxy.hh" #include "tool_options_win_proxy.hh" #include "scene_win_proxy.hh" @@ -84,6 +86,13 @@ void app_add_widget_to_app_a(GostyApp* app, const QString& ident, } } +void app_add_widget_to_app_b(GostyApp* app, const QString& ident, + object py_object) +{ + if(QWidget* widget = get_cpp_qobject<QWidget>(py_object)){ + app->AddWidgetToApp(ident, widget); + } +} void export_Gosty() { @@ -112,6 +121,7 @@ void export_Gosty() make_function(&GostyApp::GetPerspective, return_value_policy<reference_existing_object>())) .def("AddWidgetToApp", &app_add_widget_to_app_a) + .def("AddWidgetToApp", &app_add_widget_to_app_b) .def("GetPerspective", &GostyApp::GetPerspective, return_value_policy<reference_existing_object>()) ; diff --git a/modules/gui/pymod/export_perspective.cc b/modules/gui/pymod/export_perspective.cc index d7367b700c11ed021c1a76c680ac3b3857d3379c..bf5f14b3f133bc33a425e15ad7f3bffafa057fd4 100644 --- a/modules/gui/pymod/export_perspective.cc +++ b/modules/gui/pymod/export_perspective.cc @@ -57,6 +57,7 @@ void export_Perspective() return_value_policy<reference_existing_object>())) .add_property("panels", make_function(&Perspective::GetPanels, return_value_policy<reference_existing_object>())) + .add_property("menubar", make_function(&app_get_menu_bar)) ; } diff --git a/modules/gui/pymod/scene/init_inspector.py b/modules/gui/pymod/scene/init_inspector.py index 03e88ef63650bbbe1bd695434cb256eefb84ee94..74801269192122bb16a95e6758725d4c056345d1 100644 --- a/modules/gui/pymod/scene/init_inspector.py +++ b/modules/gui/pymod/scene/init_inspector.py @@ -18,6 +18,7 @@ #------------------------------------------------------------------------------ import sip + from ost import gui from ost import gfx from PyQt4 import QtCore, QtGui @@ -45,8 +46,7 @@ def _InitInspector(): mywidget = InspectorDialog(app.gl_win.qobject) mywidget.setWindowFlags(QtCore.Qt.Dialog | QtCore.Qt.Tool) mywidget.show() - unwrapped = gui.BPQtHandle(sip.unwrapinstance(mywidget)) - app.AddWidgetToApp("InspectorDialog", unwrapped) + app.AddWidgetToApp("InspectorDialog", mywidget) menu_bar=app.perspective.GetMenuBar() InitInspectorMenu(mywidget,menu_bar) diff --git a/scripts/init.py b/scripts/init.py index e012b61180085a5748f3c306a20f5feb0519f467..1fcf39cb82137ee91e176d3ce6c8a73a1cee6c3d 100644 --- a/scripts/init.py +++ b/scripts/init.py @@ -1,5 +1,4 @@ import __main__ -import sip import sys import optparse from ost import io, mol, seq, geom, conop, gui @@ -50,7 +49,7 @@ def _InitFrontEnd(): app.SetAppTitle("DNG") main_area=app.perspective.main_area _InitPanels(app, app.perspective.panels) - _InitMenuBar(app.perspective.GetMenuBar()) + _InitMenuBar(app.perspective.menubar) _InitSpaceNav(app.perspective.panels.qobject) _InitContextMenu() main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win.qobject, int(QtCore.Qt.WindowMaximized))