diff --git a/src/Mod/PartDesign/App/FeatureTransformed.cpp b/src/Mod/PartDesign/App/FeatureTransformed.cpp index 5f43030ca..8e55f17d0 100644 --- a/src/Mod/PartDesign/App/FeatureTransformed.cpp +++ b/src/Mod/PartDesign/App/FeatureTransformed.cpp @@ -55,6 +55,16 @@ Transformed::Transformed() : rejected(0) Originals.setSize(0); } +void Transformed::onChanged(const App::Property* prop) +{ + if (prop == &Originals) { + // if attached then mark it as read-only + this->Placement.StatusBits.set(2, Originals.getSize() != 0); + } + + PartDesign::Feature::onChanged(prop); +} + void Transformed::positionBySupport(void) { Part::Feature *support = static_cast(getSupportObject()); diff --git a/src/Mod/PartDesign/App/FeatureTransformed.h b/src/Mod/PartDesign/App/FeatureTransformed.h index 6bb89f50a..ab2b29f6a 100644 --- a/src/Mod/PartDesign/App/FeatureTransformed.h +++ b/src/Mod/PartDesign/App/FeatureTransformed.h @@ -78,6 +78,9 @@ public: */ const std::list getRejectedTransformations(void) { return rejected; } +protected: + void onChanged(const App::Property* prop); + protected: std::list rejected; };