From 8b006b27dd7c77ee22480fa72e47a5e29abc0901 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 18 Dec 2012 10:35:30 +0100 Subject: [PATCH] Disable Placement editing for part design transformation features --- src/Mod/PartDesign/App/FeatureTransformed.cpp | 10 ++++++++++ src/Mod/PartDesign/App/FeatureTransformed.h | 3 +++ 2 files changed, 13 insertions(+) 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; };