From 4e106902f1be6676755e5f0755430a1405690866 Mon Sep 17 00:00:00 2001 From: vocx-fc Date: Wed, 17 Jun 2020 20:31:39 -0500 Subject: [PATCH] Draft: add onChanged method in the derived annotation classes The classes `ViewProviderDimensionBase`, `ViewProviderLinearDimension`, `ViewProviderAngularDimension`, `ViewProviderText`, and `ViewProviderLabel` use `super()` to call the `onChanged` method of the parent class `ViewProviderDraftAnnotation`. In this way the `AnnotationStyle` property correctly modifies the properties of every annotation object. --- src/Mod/Draft/draftviewproviders/view_dimension.py | 11 ++++++++--- src/Mod/Draft/draftviewproviders/view_label.py | 5 ++++- src/Mod/Draft/draftviewproviders/view_text.py | 4 +++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/Mod/Draft/draftviewproviders/view_dimension.py b/src/Mod/Draft/draftviewproviders/view_dimension.py index 85c4209177..7f8bd3fe3b 100644 --- a/src/Mod/Draft/draftviewproviders/view_dimension.py +++ b/src/Mod/Draft/draftviewproviders/view_dimension.py @@ -265,8 +265,8 @@ class ViewProviderDimensionBase(ViewProviderDraftAnnotation): return def onChanged(self, vobj, prop): - """called when a view property has changed""" - return + """Execute when a view property is changed.""" + super(ViewProviderDimensionBase, self).onChanged(vobj, prop) def doubleClicked(self,vobj): self.setEdit(vobj) @@ -559,7 +559,9 @@ class ViewProviderLinearDimension(ViewProviderDimensionBase): self.line.coordIndex.setValues(0,4,(0,1,2,3)) def onChanged(self, vobj, prop): - """called when a view property has changed""" + """Execute when a view property is changed.""" + super(ViewProviderLinearDimension, self).onChanged(vobj, prop) + if prop == "ScaleMultiplier" and hasattr(vobj, "ScaleMultiplier"): # update all dimension values if hasattr(self,"font"): @@ -936,6 +938,9 @@ class ViewProviderAngularDimension(ViewProviderDimensionBase): obj.Angle = a def onChanged(self, vobj, prop): + """Execute when a view property is changed.""" + super(ViewProviderAngularDimension, self).onChanged(vobj, prop) + if hasattr(vobj, "ScaleMultiplier"): if vobj.ScaleMultiplier == 0: return diff --git a/src/Mod/Draft/draftviewproviders/view_label.py b/src/Mod/Draft/draftviewproviders/view_label.py index 4f5577bb70..c85a016d9a 100644 --- a/src/Mod/Draft/draftviewproviders/view_label.py +++ b/src/Mod/Draft/draftviewproviders/view_label.py @@ -276,7 +276,10 @@ class ViewProviderLabel(ViewProviderDraftAnnotation): text.getBoundingBox(b) return b.getBoundingBox().getSize().getValue() - def onChanged(self,vobj,prop): + def onChanged(self, vobj, prop): + """Execute when a view property is changed.""" + super(ViewProviderLabel, self).onChanged(vobj, prop) + if prop == "ScaleMultiplier": if not hasattr(vobj,"ScaleMultiplier"): return diff --git a/src/Mod/Draft/draftviewproviders/view_text.py b/src/Mod/Draft/draftviewproviders/view_text.py index a84f916184..d97595feca 100644 --- a/src/Mod/Draft/draftviewproviders/view_text.py +++ b/src/Mod/Draft/draftviewproviders/view_text.py @@ -162,8 +162,10 @@ class ViewProviderText(ViewProviderDraftAnnotation): self.trans.translation.setValue(obj.Placement.Base) self.trans.rotation.setValue(obj.Placement.Rotation.Q) + def onChanged(self, vobj, prop): + """Execute when a view property is changed.""" + super(ViewProviderText, self).onChanged(vobj, prop) - def onChanged(self,vobj,prop): if prop == "ScaleMultiplier": if "ScaleMultiplier" in vobj.PropertiesList: if vobj.ScaleMultiplier: