From a7e1a62f9be04ad5526242f5e874da1116b680e3 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Wed, 21 Apr 2010 13:13:37 +0000 Subject: [PATCH] New Sip Exports for WidgetWrapper git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2089 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/gui/pymod/export_widget.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules/gui/pymod/export_widget.cc b/modules/gui/pymod/export_widget.cc index 7eca6987c..0834cec32 100644 --- a/modules/gui/pymod/export_widget.cc +++ b/modules/gui/pymod/export_widget.cc @@ -37,8 +37,12 @@ using namespace ost::gui; struct WrappedWidget : public Widget { - WrappedWidget(PyObject *p, QObject* object): - Widget(dynamic_cast<QWidget*>(object)){ } + WrappedWidget(PyObject *p, object py_object): + Widget(NULL,NULL){ + if(QWidget* widget = get_cpp_qobject<QWidget>(py_object)){ + this->SetInternalWidget(widget); + } + } virtual bool Restore(const QString& prefix){return true;} @@ -50,11 +54,13 @@ struct WrappedWidget : public Widget void export_Widget() { - class_<Widget, WrappedWidget, boost::noncopyable>("WrappedWidget",init<QObject*>()) + class_<Widget, WrappedWidget, boost::noncopyable>("WrappedWidget",init<object>()) .def("Save", &WrappedWidget::Save) .def("Restore", &WrappedWidget::Restore) .def("SetDestroyOnClose", &WrappedWidget::SetDestroyOnClose) .def("DestroyOnClose", &WrappedWidget::DestroyOnClose) + .def("GetQObject",&get_py_qobject<Widget>) + .add_property("qobject", &get_py_qobject<Widget>) ; } -- GitLab