From 6e5bd7bee0224614c306fba1bfbb474effe8cae8 Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 3 Jul 2020 15:22:18 +0200 Subject: [PATCH] Surface: handle old project files using Extend feature --- src/Mod/Surface/App/FeatureExtend.cpp | 22 ++++++++++++++++++++++ src/Mod/Surface/App/FeatureExtend.h | 5 ++++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/Mod/Surface/App/FeatureExtend.cpp b/src/Mod/Surface/App/FeatureExtend.cpp index f2090b8fe0..641ebc968d 100644 --- a/src/Mod/Surface/App/FeatureExtend.cpp +++ b/src/Mod/Surface/App/FeatureExtend.cpp @@ -189,3 +189,25 @@ App::DocumentObjectExecReturn *Extend::execute(void) return StdReturn; } + +void Extend::handleChangedPropertyName(Base::XMLReader &reader, + const char * TypeName, + const char *PropName) +{ + Base::Type type = Base::Type::fromName(TypeName); + if (App::PropertyFloatConstraint::getClassTypeId() == type && strcmp(PropName, "ExtendU") == 0) { + App::PropertyFloatConstraint v; + v.Restore(reader); + ExtendUNeg.setValue(v.getValue()); + ExtendUPos.setValue(v.getValue()); + } + else if (App::PropertyFloatConstraint::getClassTypeId() == type && strcmp(PropName, "ExtendV") == 0) { + App::PropertyFloatConstraint v; + v.Restore(reader); + ExtendVNeg.setValue(v.getValue()); + ExtendVPos.setValue(v.getValue()); + } + else { + Part::Spline::handleChangedPropertyName(reader, TypeName, PropName); + } +} diff --git a/src/Mod/Surface/App/FeatureExtend.h b/src/Mod/Surface/App/FeatureExtend.h index d4fa708e96..dedee29033 100644 --- a/src/Mod/Surface/App/FeatureExtend.h +++ b/src/Mod/Surface/App/FeatureExtend.h @@ -57,8 +57,11 @@ public: App::DocumentObjectExecReturn *execute(void) override; short mustExecute() const override; -private: +protected: virtual void onChanged(const App::Property* prop) override; + virtual void handleChangedPropertyName(Base::XMLReader &reader, + const char * TypeName, + const char *PropName) override; }; }//Namespace Surface