diff --git a/src/App/Application.cpp b/src/App/Application.cpp index e1cbf5e2e1..2d498974de 100644 --- a/src/App/Application.cpp +++ b/src/App/Application.cpp @@ -114,6 +114,12 @@ #include #include "Link.h" +#include "DocumentPy.h" +#include "DocumentObjectGroupPy.h" +#include "LinkBaseExtensionPy.h" +#include "OriginGroupExtensionPy.h" +#include "PartPy.h" + // If you stumble here, run the target "BuildExtractRevision" on Windows systems // or the Python script "SubWCRev.py" on Linux based systems which builds // src/Build/Version.h. Or create your own from src/Build/Version.h.in! @@ -309,6 +315,23 @@ Application::Application(std::map &mConfig) Base::Interpreter().addType(&App::MaterialPy::Type, pAppModule, "Material"); + // Add document types + Base::Interpreter().addType(&App::PropertyContainerPy::Type, pAppModule, "PropertyContainer"); + Base::Interpreter().addType(&App::ExtensionContainerPy::Type, pAppModule, "ExtensionContainer"); + Base::Interpreter().addType(&App::DocumentPy::Type, pAppModule, "Document"); + Base::Interpreter().addType(&App::DocumentObjectPy::Type, pAppModule, "DocumentObject"); + Base::Interpreter().addType(&App::DocumentObjectGroupPy::Type, pAppModule, "DocumentObjectGroup"); + Base::Interpreter().addType(&App::GeoFeaturePy::Type, pAppModule, "GeoFeature"); + Base::Interpreter().addType(&App::PartPy::Type, pAppModule, "Part"); + + // Add extension types + Base::Interpreter().addType(&App::ExtensionPy::Type, pAppModule, "Extension"); + Base::Interpreter().addType(&App::DocumentObjectExtensionPy::Type, pAppModule, "DocumentObjectExtension"); + Base::Interpreter().addType(&App::GroupExtensionPy::Type, pAppModule, "GroupExtension"); + Base::Interpreter().addType(&App::GeoFeatureGroupExtensionPy::Type, pAppModule, "GeoFeatureGroupExtension"); + Base::Interpreter().addType(&App::OriginGroupExtensionPy::Type, pAppModule, "OriginGroupExtension"); + Base::Interpreter().addType(&App::LinkBaseExtensionPy::Type, pAppModule, "LinkBaseExtension"); + //insert Base and Console Py_INCREF(pBaseModule); PyModule_AddObject(pAppModule, "Base", pBaseModule); diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 4c30b6ac31..b12752ca32 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -68,6 +68,7 @@ #include "GuiApplication.h" #include "MainWindow.h" #include "Document.h" +#include "DocumentPy.h" #include "View.h" #include "View3DPy.h" #include "WidgetFactory.h" @@ -94,6 +95,7 @@ #include "TransactionObject.h" #include "FileDialog.h" #include "ExpressionBindingPy.h" +#include "ViewProviderLinkPy.h" #include "TextDocumentEditorView.h" #include "SplitView3DInventor.h" @@ -474,6 +476,10 @@ Application::Application(bool GUIenabled) Base::Interpreter().addType(&LinkViewPy::Type,module,"LinkView"); Base::Interpreter().addType(&AxisOriginPy::Type,module,"AxisOrigin"); Base::Interpreter().addType(&CommandPy::Type,module, "Command"); + Base::Interpreter().addType(&DocumentPy::Type, module, "Document"); + Base::Interpreter().addType(&ViewProviderPy::Type, module, "ViewProvider"); + Base::Interpreter().addType(&ViewProviderDocumentObjectPy::Type, module, "ViewProviderDocumentObject"); + Base::Interpreter().addType(&ViewProviderLinkPy::Type, module, "ViewProviderLink"); } Base::PyGILStateLocker lock; diff --git a/src/Mod/Part/App/AppPart.cpp b/src/Mod/Part/App/AppPart.cpp index 2d57c86e0c..31eaa25a27 100644 --- a/src/Mod/Part/App/AppPart.cpp +++ b/src/Mod/Part/App/AppPart.cpp @@ -53,8 +53,10 @@ #include "FeatureOffset.h" #include "PartFeatures.h" #include "BodyBase.h" +#include "BodyBasePy.h" #include "PrimitiveFeature.h" #include "Part2DObject.h" +#include "Part2DObjectPy.h" #include "CustomFeature.h" #include "Geometry.h" #include "GeometryExtension.h" @@ -360,6 +362,8 @@ PyMOD_INIT_FUNC(Part) ::Type,partModule,"RectangularTrimmedSurface"); Base::Interpreter().addType(&Part::PartFeaturePy ::Type,partModule,"Feature"); + Base::Interpreter().addType(&Part::Part2DObjectPy ::Type,partModule,"Part2DObject"); + Base::Interpreter().addType(&Part::BodyBasePy ::Type,partModule,"BodyBase"); Base::Interpreter().addType(&Attacher::AttachEnginePy ::Type,partModule,"AttachEngine"); Base::Interpreter().addType(&Part::GeometryIntExtensionPy ::Type,partModule,"GeometryIntExtension");