diff --git a/src/Mod/TechDraw/App/CMakeLists.txt b/src/Mod/TechDraw/App/CMakeLists.txt index 74f4b419c..28ef1079e 100644 --- a/src/Mod/TechDraw/App/CMakeLists.txt +++ b/src/Mod/TechDraw/App/CMakeLists.txt @@ -34,6 +34,7 @@ generate_from_xml(DrawParametricTemplatePy) generate_from_xml(DrawSVGTemplatePy) generate_from_xml(DrawViewSymbolPy) generate_from_xml(DrawViewClipPy) +generate_from_xml(DrawViewDimensionPy) SET(Draw_SRCS DrawPage.cpp @@ -101,6 +102,8 @@ SET(Python_SRCS DrawSVGTemplatePyImp.cpp DrawViewClipPy.xml DrawViewClipPyImp.cpp + DrawViewDimensionPy.xml + DrawViewDimensionPyImp.cpp ) SOURCE_GROUP("Mod" FILES ${TechDraw_SRCS}) diff --git a/src/Mod/TechDraw/App/DrawViewDimension.cpp b/src/Mod/TechDraw/App/DrawViewDimension.cpp index 6f2b9a0c4..676bdf4f1 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.cpp +++ b/src/Mod/TechDraw/App/DrawViewDimension.cpp @@ -48,6 +48,8 @@ #include #include +#include "DrawViewDimensionPy.h" // generated from DrawViewDimensionPy.xml + using namespace TechDraw; //=========================================================================== @@ -510,3 +512,12 @@ bool DrawViewDimension::hasReferences(void) const } return result; } + +PyObject *DrawViewDimension::getPyObject(void) +{ + if (PythonObject.is(Py::_None())) { + // ref counter is set to 1 + PythonObject = Py::Object(new DrawViewDimensionPy(this),true); + } + return Py::new_reference_to(PythonObject); +} diff --git a/src/Mod/TechDraw/App/DrawViewDimension.h b/src/Mod/TechDraw/App/DrawViewDimension.h index e16c3fd0b..7480c5378 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.h +++ b/src/Mod/TechDraw/App/DrawViewDimension.h @@ -73,6 +73,8 @@ public: virtual const char* getViewProviderName(void) const { return "TechDrawGui::ViewProviderDimension"; } + //return PyObject as DrawViewDimensionPy + virtual PyObject *getPyObject(void); virtual std::string getFormatedValue() const; virtual double getDimValue() const; diff --git a/src/Mod/TechDraw/App/DrawViewDimensionPy.xml b/src/Mod/TechDraw/App/DrawViewDimensionPy.xml new file mode 100644 index 000000000..f6b84ecae --- /dev/null +++ b/src/Mod/TechDraw/App/DrawViewDimensionPy.xml @@ -0,0 +1,18 @@ + + + + + + Feature for creating and manipulating Technical Drawing Dimensions + + + + diff --git a/src/Mod/TechDraw/App/DrawViewDimensionPyImp.cpp b/src/Mod/TechDraw/App/DrawViewDimensionPyImp.cpp new file mode 100644 index 000000000..ebaefe8a1 --- /dev/null +++ b/src/Mod/TechDraw/App/DrawViewDimensionPyImp.cpp @@ -0,0 +1,32 @@ + +#include "PreCompiled.h" + +#include "Mod/TechDraw/App/DrawViewDimension.h" + +// inclusion of the generated files (generated out of DrawViewDimensionPy.xml) +#include "DrawViewDimensionPy.h" +#include "DrawViewDimensionPy.cpp" + +using namespace TechDraw; + +// returns a string which represents the object e.g. when printed in python +std::string DrawViewDimensionPy::representation(void) const +{ + return std::string(""); +} + + + + + + + +PyObject *DrawViewDimensionPy::getCustomAttributes(const char* /*attr*/) const +{ + return 0; +} + +int DrawViewDimensionPy::setCustomAttributes(const char* /*attr*/, PyObject* /*obj*/) +{ + return 0; +}