Skip to content
Snippets Groups Projects
Commit 7f5fff53 authored by stefan's avatar stefan
Browse files

Changed get_cpp_qobject to support python objects with qobject attribute

git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2084 5a81b35b-ba03-0410-adc8-b2c5c5119f08
parent f9a32a75
Branches
Tags
No related merge requests found
...@@ -98,17 +98,6 @@ object panels_get_menu(Panels* panels) ...@@ -98,17 +98,6 @@ object panels_get_menu(Panels* panels)
return get_py_qobject<QMenu>(panels->GetMenu()); return get_py_qobject<QMenu>(panels->GetMenu());
} }
object panels_get_qwidget(Panels* panels)
{
static object sip_module=import("sip");
static object pyqt4_module=import("PyQt4.QtGui");
object sip_handle((size_t)panels);
object qwidget = pyqt4_module.attr("QWidget");
object widget = sip_module.attr("wrapinstance")(sip_handle, qwidget);
return widget;
}
void panel_bar_add_widget_a(PanelBar * pb, Widget* widget, bool hidden=false) void panel_bar_add_widget_a(PanelBar * pb, Widget* widget, bool hidden=false)
{ {
pb->AddWidget(widget,hidden); pb->AddWidget(widget,hidden);
...@@ -149,7 +138,6 @@ void export_PanelBar() ...@@ -149,7 +138,6 @@ void export_PanelBar()
.def("RemoveWidget", &panels_remove_widget_b) .def("RemoveWidget", &panels_remove_widget_b)
.def("RemoveWidget", &panels_remove_widget_c) .def("RemoveWidget", &panels_remove_widget_c)
.def("GetMenu", &panels_get_menu) .def("GetMenu", &panels_get_menu)
.def("GetQWidget", &panels_get_qwidget)
.def("AddWidgetToPool", &panels_add_widget_to_pool_a) .def("AddWidgetToPool", &panels_add_widget_to_pool_a)
.def("AddWidgetToPool", &panels_add_widget_to_pool_b) .def("AddWidgetToPool", &panels_add_widget_to_pool_b)
.def("AddWidgetToPool", &panels_add_widget_to_pool_c) .def("AddWidgetToPool", &panels_add_widget_to_pool_c)
......
...@@ -52,6 +52,9 @@ template <class O> object get_py_qobject(O* cpp_object) ...@@ -52,6 +52,9 @@ template <class O> object get_py_qobject(O* cpp_object)
template <class O> O* get_cpp_qobject(object py_object) template <class O> O* get_cpp_qobject(object py_object)
{ {
if(py_object.ptr() != Py_None){ if(py_object.ptr() != Py_None){
if(PyObject_HasAttrString(py_object.ptr(), "qobject")){
py_object = py_object.attr("qobject");
}
static object sip_module=import("sip"); static object sip_module=import("sip");
unsigned long addr = extract<unsigned long>(sip_module.attr("unwrapinstance")(py_object)); unsigned long addr = extract<unsigned long>(sip_module.attr("unwrapinstance")(py_object));
if(addr){ if(addr){
......
...@@ -53,7 +53,7 @@ def _InitFrontEnd(): ...@@ -53,7 +53,7 @@ def _InitFrontEnd():
_InitMenuBar(app) _InitMenuBar(app)
_InitSpaceNav(app) _InitSpaceNav(app)
_InitContextMenu(app) _InitContextMenu(app)
main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win.qobject, int(QtCore.Qt.WindowMaximized)) main_area.AddPersistentWidget("3D Scene", "gl_win" , app.gl_win, int(QtCore.Qt.WindowMaximized))
app.perspective.Restore() app.perspective.Restore()
additional_modules=getattr(__main__, 'ADDITIONAL_GUI_MODULES', []) additional_modules=getattr(__main__, 'ADDITIONAL_GUI_MODULES', [])
for module_name in additional_modules: for module_name in additional_modules:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment