diff --git a/modules/gui/pymod/CMakeLists.txt b/modules/gui/pymod/CMakeLists.txt index ab7094a8653f2647be35185cc5ae6e4d3f0cd59a..0f3b63b94fdec661fa1cb122c8754cb94a6b18ef 100644 --- a/modules/gui/pymod/CMakeLists.txt +++ b/modules/gui/pymod/CMakeLists.txt @@ -17,6 +17,7 @@ set(OST_GUI_PYMOD_SOURCES export_file_loader.cc export_file_viewer.cc export_widget.cc + export_gl_canvas.cc ) set(OST_GUI_SCENE_PYMOD_MODULES __init__.py diff --git a/modules/gui/pymod/export_gl_canvas.cc b/modules/gui/pymod/export_gl_canvas.cc new file mode 100644 index 0000000000000000000000000000000000000000..306f5fd670cc91543abf55db1f600375e98f735e --- /dev/null +++ b/modules/gui/pymod/export_gl_canvas.cc @@ -0,0 +1,42 @@ +//------------------------------------------------------------------------------ +// This file is part of the OpenStructure project <www.openstructure.org> +// +// Copyright (C) 2008-2011 by the OpenStructure authors +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License as published by the Free +// Software Foundation; either version 3.0 of the License, or (at your option) +// any later version. +// This library is distributed in the hope that it will be useful, but WITHOUT +// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +// details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with this library; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +//------------------------------------------------------------------------------ +#include <boost/python.hpp> + +#include <ost/gui/gl_canvas.hh> +#include "sip_handler.hh" + +using namespace boost::python; +using namespace ost; +using namespace ost::gui; + +void WrapSetGLCanvasFormat(GLCanvas& canvas, object py_obj) { + QSurfaceFormat* f = get_cpp_qobject<QSurfaceFormat>(py_obj); + canvas.setFormat(*f); +} + +void export_GLCanvas() { + + class_<GLCanvas, boost::noncopyable>("GLCanvas", init<>()) + .def("Show", &GLCanvas::show) + .def("SetFormat", &WrapSetGLCanvasFormat) + .def("SetDefaultFormat", &GLCanvas::SetDefaultFormat) + .def("GetQObject",&get_py_qobject<GLCanvas>) + .add_property("qobject", &get_py_qobject<GLCanvas>) + ; +} diff --git a/modules/gui/pymod/wrap_gui.cc b/modules/gui/pymod/wrap_gui.cc index 6e4baae550ea669ab9e9ee79781f1b2c86d4ea12..b24863ca8b04e04d9b6125e77e4074fb988c57e2 100644 --- a/modules/gui/pymod/wrap_gui.cc +++ b/modules/gui/pymod/wrap_gui.cc @@ -41,6 +41,7 @@ void export_MenuBar(); void export_FileLoader(); void export_FileViewer(); void export_Widget(); +void export_GLCanvas(); #if OST_SPNAV_ENABLED void export_Input(); @@ -120,6 +121,7 @@ BOOST_PYTHON_MODULE(_ost_gui) export_FileLoader(); export_FileViewer(); export_Widget(); + export_GLCanvas(); #if OST_SPNAV_ENABLED export_Input();