diff --git a/src/Gui/MDIViewPy.cpp b/src/Gui/MDIViewPy.cpp index b2005957bc..23b7a255d3 100644 --- a/src/Gui/MDIViewPy.cpp +++ b/src/Gui/MDIViewPy.cpp @@ -55,6 +55,13 @@ void MDIViewPy::init_type() behaviors().supportSetattr(); behaviors().set_tp_new(extension_object_new); + add_varargs_method("printView",&MDIViewPy::printView,"printView()"); + add_varargs_method("printPdf",&MDIViewPy::printPdf,"printPdf()"); + add_varargs_method("printPreview",&MDIViewPy::printPreview,"printPreview()"); + + add_varargs_method("undoActions",&MDIViewPy::undoActions,"undoActions()"); + add_varargs_method("redoActions",&MDIViewPy::redoActions,"redoActions()"); + add_varargs_method("message",&MDIViewPy::sendMessage,"deprecated: use sendMessage"); add_varargs_method("sendMessage",&MDIViewPy::sendMessage,"sendMessage(str)"); add_varargs_method("supportMessage",&MDIViewPy::supportMessage,"supportMessage(str)"); @@ -104,6 +111,69 @@ Py::Object MDIViewPy::repr() return Py::String(s_out.str()); } +Py::Object MDIViewPy::printView(const Py::Tuple& args) +{ + if (!PyArg_ParseTuple(args.ptr(), "")) + throw Py::Exception(); + + if (_view) + _view->print(); + + return Py::None(); +} + +Py::Object MDIViewPy::printPdf(const Py::Tuple& args) +{ + if (!PyArg_ParseTuple(args.ptr(), "")) + throw Py::Exception(); + + if (_view) + _view->printPdf(); + + return Py::None(); +} + +Py::Object MDIViewPy::printPreview(const Py::Tuple& args) +{ + if (!PyArg_ParseTuple(args.ptr(), "")) + throw Py::Exception(); + + if (_view) + _view->printPreview(); + + return Py::None(); +} + +Py::Object MDIViewPy::undoActions(const Py::Tuple& args) +{ + if (!PyArg_ParseTuple(args.ptr(), "")) + throw Py::Exception(); + + Py::List list; + if (_view) { + QStringList undo = _view->undoActions(); + for (const auto& it : undo) + list.append(Py::String(it.toStdString())); + } + + return list; +} + +Py::Object MDIViewPy::redoActions(const Py::Tuple& args) +{ + if (!PyArg_ParseTuple(args.ptr(), "")) + throw Py::Exception(); + + Py::List list; + if (_view) { + QStringList redo = _view->redoActions(); + for (const auto& it : redo) + list.append(Py::String(it.toStdString())); + } + + return list; +} + Py::Object MDIViewPy::sendMessage(const Py::Tuple& args) { const char **ppReturn = 0; diff --git a/src/Gui/MDIViewPy.h b/src/Gui/MDIViewPy.h index aee3897ff3..86ced43a8b 100644 --- a/src/Gui/MDIViewPy.h +++ b/src/Gui/MDIViewPy.h @@ -46,6 +46,19 @@ public: Py::Object repr(); + /** @name Printing */ + //@{ + Py::Object printView(const Py::Tuple&); + Py::Object printPdf(const Py::Tuple&); + Py::Object printPreview(const Py::Tuple&); + //@} + + /** @name Undo/Redo actions */ + //@{ + Py::Object undoActions(const Py::Tuple&); + Py::Object redoActions(const Py::Tuple&); + //@} + Py::Object sendMessage(const Py::Tuple&); Py::Object supportMessage(const Py::Tuple&); Py::Object fitAll(const Py::Tuple&);