diff --git a/src/Mod/Measure/App/Measurement.h b/src/Mod/Measure/App/Measurement.h index 25b1c41903..ceef0c6bb8 100644 --- a/src/Mod/Measure/App/Measurement.h +++ b/src/Mod/Measure/App/Measurement.h @@ -48,7 +48,7 @@ class MeasureExport Measurement : public Base::BaseClass { TYPESYSTEM_HEADER(); public: - App::PropertyLinkSubList References3D; + App::PropertyLinkSubListGlobal References3D; public: Measurement(); @@ -70,13 +70,13 @@ public: public: // Methods for distances (edge length, two points, edge and a point double length() const; - Base::Vector3d delta() const; + Base::Vector3d delta() const; //when would client use delta?? // Calculates the radius for an arc or circular edge double radius() const; // Calculates the angle between two edges - double angle(const Base::Vector3d ¶m = Base::Vector3d(0,0,0)) const; + double angle(const Base::Vector3d ¶m = Base::Vector3d(0,0,0)) const; //param is never used??? // Calculate volumetric/mass properties Base::Vector3d massCenter() const; diff --git a/src/Mod/TechDraw/App/DrawProjGroup.h b/src/Mod/TechDraw/App/DrawProjGroup.h index d71db43cd1..4c9fcbfa64 100644 --- a/src/Mod/TechDraw/App/DrawProjGroup.h +++ b/src/Mod/TechDraw/App/DrawProjGroup.h @@ -54,7 +54,7 @@ public: DrawProjGroup(); ~DrawProjGroup(); - App::PropertyLink Source; + App::PropertyLinkGlobal Source; App::PropertyEnumeration ProjectionType; App::PropertyBool AutoDistribute; diff --git a/src/Mod/TechDraw/App/DrawProjGroupItem.cpp b/src/Mod/TechDraw/App/DrawProjGroupItem.cpp index a2bfa0d3ee..7adbc0e7e5 100644 --- a/src/Mod/TechDraw/App/DrawProjGroupItem.cpp +++ b/src/Mod/TechDraw/App/DrawProjGroupItem.cpp @@ -166,6 +166,11 @@ double DrawProjGroupItem::getRotateAngle() double DrawProjGroupItem::getScale(void) const { double result = Scale.getValue(); +//TODO: should always use DPG.Scale? +// auto pgroup = getPGroup(); +// if (pgroup != nullptr) { +// result = pgroup->Scale.getValue(); +// } return result; } diff --git a/src/Mod/TechDraw/App/DrawViewArch.h b/src/Mod/TechDraw/App/DrawViewArch.h index 856bf24470..fd573e9c14 100644 --- a/src/Mod/TechDraw/App/DrawViewArch.h +++ b/src/Mod/TechDraw/App/DrawViewArch.h @@ -42,7 +42,7 @@ public: DrawViewArch(void); virtual ~DrawViewArch(); - App::PropertyLink Source; + App::PropertyLinkGlobal Source; App::PropertyBool AllOn; App::PropertyEnumeration RenderMode; // "Wireframe","Solid" App::PropertyBool ShowHidden; diff --git a/src/Mod/TechDraw/App/DrawViewDimension.h b/src/Mod/TechDraw/App/DrawViewDimension.h index 0f434cc1b8..37a2e38eb7 100644 --- a/src/Mod/TechDraw/App/DrawViewDimension.h +++ b/src/Mod/TechDraw/App/DrawViewDimension.h @@ -53,10 +53,10 @@ public: DrawViewDimension(); virtual ~DrawViewDimension(); - App::PropertyEnumeration MeasureType; //True/Projected - App::PropertyLinkSubList References2D; //Points to Projection SubFeatures - App::PropertyLinkSubList References3D; //Points to 3D Geometry SubFeatures - App::PropertyEnumeration Type; //DistanceX,DistanceY,Diameter, etc + App::PropertyEnumeration MeasureType; //True/Projected + App::PropertyLinkSubList References2D; //Points to Projection SubFeatures + App::PropertyLinkSubListGlobal References3D; //Points to 3D Geometry SubFeatures + App::PropertyEnumeration Type; //DistanceX,DistanceY,Diameter, etc /// Properties for Visualisation App::PropertyFont Font; diff --git a/src/Mod/TechDraw/App/DrawViewDraft.h b/src/Mod/TechDraw/App/DrawViewDraft.h index 09602515e3..26d0d5d017 100644 --- a/src/Mod/TechDraw/App/DrawViewDraft.h +++ b/src/Mod/TechDraw/App/DrawViewDraft.h @@ -43,7 +43,7 @@ public: DrawViewDraft(void); virtual ~DrawViewDraft(); - App::PropertyLink Source; + App::PropertyLinkGlobal Source; App::PropertyFloat LineWidth; App::PropertyFloat FontSize; App::PropertyVector Direction; diff --git a/src/Mod/TechDraw/App/DrawViewMulti.cpp b/src/Mod/TechDraw/App/DrawViewMulti.cpp index 09ce493b41..f33a63b735 100644 --- a/src/Mod/TechDraw/App/DrawViewMulti.cpp +++ b/src/Mod/TechDraw/App/DrawViewMulti.cpp @@ -81,6 +81,7 @@ DrawViewMulti::DrawViewMulti() //Source is replaced by Sources in Multi Source.setStatus(App::Property::ReadOnly,true); + Source.setStatus(App::Property::Hidden,true); geometryObject = nullptr; } @@ -152,7 +153,7 @@ App::DocumentObjectExecReturn *DrawViewMulti::execute(void) const std::vector& links = Sources.getValues(); if (links.empty()) { Base::Console().Log("INFO - DVM::execute - No Sources - creation?\n"); - return DrawViewPart::execute(); + return DrawView::execute(); } m_compound = TopoDS::Compound(getSourceShape()); diff --git a/src/Mod/TechDraw/App/DrawViewMulti.h b/src/Mod/TechDraw/App/DrawViewMulti.h index b8c549dab0..79a3acfefc 100644 --- a/src/Mod/TechDraw/App/DrawViewMulti.h +++ b/src/Mod/TechDraw/App/DrawViewMulti.h @@ -57,13 +57,13 @@ public: DrawViewMulti(void); virtual ~DrawViewMulti(); - App::PropertyLinkList Sources; + App::PropertyLinkListGlobal Sources; virtual short mustExecute() const; /** @name methods overide Feature */ //@{ /// recalculate the Feature - virtual App::DocumentObjectExecReturn *execute(void); + virtual App::DocumentObjectExecReturn *execute(void) override; virtual void onChanged(const App::Property* prop); //@} diff --git a/src/Mod/TechDraw/App/DrawViewPart.cpp b/src/Mod/TechDraw/App/DrawViewPart.cpp index df747de904..097b3b2929 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.cpp +++ b/src/Mod/TechDraw/App/DrawViewPart.cpp @@ -152,8 +152,6 @@ DrawViewPart::~DrawViewPart() delete geometryObject; } -//does this need all the validation logic? -//how to TopoDS_Shape DrawViewPart::getSourceShape(void) const { TopoDS_Shape result; @@ -173,17 +171,8 @@ App::DocumentObjectExecReturn *DrawViewPart::execute(void) if (!keepUpdated()) { return App::DocumentObject::StdReturn; } -// App::DocumentObject *link = Source.getValue(); -// if (!link) { -// return new App::DocumentObjectExecReturn("DVP - No Source object linked"); -// } - -// if (!link->getTypeId().isDerivedFrom(Part::Feature::getClassTypeId())) { -// return new App::DocumentObjectExecReturn("DVP - Linked object is not a Part object"); -// } TopoDS_Shape shape = getSourceShape(); -// TopoDS_Shape shape = static_cast(link)->Shape.getShape().getShape(); if (shape.IsNull()) { return new App::DocumentObjectExecReturn("DVP - Linked shape object is invalid"); } diff --git a/src/Mod/TechDraw/App/DrawViewPart.h b/src/Mod/TechDraw/App/DrawViewPart.h index 402f01cf7a..0d59d68e82 100644 --- a/src/Mod/TechDraw/App/DrawViewPart.h +++ b/src/Mod/TechDraw/App/DrawViewPart.h @@ -76,7 +76,7 @@ public: DrawViewPart(void); virtual ~DrawViewPart(); - App::PropertyLink Source; //Part Feature + App::PropertyLinkGlobal Source; //Part Feature App::PropertyVector Direction; //TODO: Rename to YAxisDirection or whatever this actually is (ProjectionDirection) App::PropertyBool SeamVisible; App::PropertyBool SmoothVisible;