diff --git a/src/Mod/PartDesign/App/FeatureLinearPattern.cpp b/src/Mod/PartDesign/App/FeatureLinearPattern.cpp index 463339fd2b..8d1c9d2321 100644 --- a/src/Mod/PartDesign/App/FeatureLinearPattern.cpp +++ b/src/Mod/PartDesign/App/FeatureLinearPattern.cpp @@ -49,12 +49,15 @@ namespace PartDesign { PROPERTY_SOURCE(PartDesign::LinearPattern, PartDesign::Transformed) +const App::PropertyIntegerConstraint::Constraints intOccurrences = { 1, INT_MAX, 1 }; + LinearPattern::LinearPattern() { ADD_PROPERTY_TYPE(Direction,(0),"LinearPattern",(App::PropertyType)(App::Prop_None),"Direction"); ADD_PROPERTY(Reversed,(0)); ADD_PROPERTY(Length,(100.0)); ADD_PROPERTY(Occurrences,(3)); + Occurrences.setConstraints(&intOccurrences); } short LinearPattern::mustExecute() const @@ -187,4 +190,16 @@ const std::list LinearPattern::getTransformations(const std::vector getTransformations(const std::vector ); + +protected: + virtual void handleChangedPropertyType(Base::XMLReader& reader, const char* TypeName, App::Property* prop); }; } //namespace PartDesign diff --git a/src/Mod/PartDesign/App/FeaturePolarPattern.cpp b/src/Mod/PartDesign/App/FeaturePolarPattern.cpp index aebf8fe0e8..a871c1bbed 100644 --- a/src/Mod/PartDesign/App/FeaturePolarPattern.cpp +++ b/src/Mod/PartDesign/App/FeaturePolarPattern.cpp @@ -48,12 +48,17 @@ namespace PartDesign { PROPERTY_SOURCE(PartDesign::PolarPattern, PartDesign::Transformed) +const App::PropertyIntegerConstraint::Constraints intOccurrences = { 1, INT_MAX, 1 }; +const App::PropertyAngle::Constraints floatAngle = { Base::toDegrees(Precision::Angular()), 360.0, 1.0 }; + PolarPattern::PolarPattern() { - ADD_PROPERTY_TYPE(Axis,(0),"PolarPattern",(App::PropertyType)(App::Prop_None),"Direction"); - ADD_PROPERTY(Reversed,(0)); - ADD_PROPERTY(Angle,(360.0)); - ADD_PROPERTY(Occurrences,(3)); + ADD_PROPERTY_TYPE(Axis, (0), "PolarPattern", (App::PropertyType)(App::Prop_None), "Direction"); + ADD_PROPERTY(Reversed, (0)); + ADD_PROPERTY(Angle, (360.0)); + Angle.setConstraints(&floatAngle); + ADD_PROPERTY(Occurrences, (3)); + Occurrences.setConstraints(&intOccurrences); } short PolarPattern::mustExecute() const @@ -173,4 +178,16 @@ const std::list PolarPattern::getTransformations(const std::vector getTransformations(const std::vector); + +protected: + virtual void handleChangedPropertyType(Base::XMLReader& reader, const char* TypeName, App::Property* prop); }; } //namespace PartDesign