From a55559dd2ee78b8fcfef2149df38e4a3a59b0f91 Mon Sep 17 00:00:00 2001 From: jrheinlaender Date: Wed, 18 Sep 2013 14:19:44 +0200 Subject: [PATCH] Fixed double clicking bug in the viewprovider --- src/Mod/PartDesign/FeatureHole/HoleGui.py | 10 ++-------- src/Mod/PartDesign/FeatureHole/TaskHole.py | 1 + src/Mod/PartDesign/FeatureHole/ViewProviderHole.py | 9 ++++----- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/Mod/PartDesign/FeatureHole/HoleGui.py b/src/Mod/PartDesign/FeatureHole/HoleGui.py index c2c156ac84..59893d3787 100644 --- a/src/Mod/PartDesign/FeatureHole/HoleGui.py +++ b/src/Mod/PartDesign/FeatureHole/HoleGui.py @@ -69,19 +69,13 @@ class HoleGui: hole = Hole(feature) body.addFeature(feature) - ViewProviderHole(feature.ViewObject) + vp = ViewProviderHole(feature.ViewObject) feature.touch() FreeCAD.ActiveDocument.recompute() # Fit view (remove after the testing phase) FreeCADGui.SendMsgToActiveView("ViewFit") - panel = TaskHole(feature) - - FreeCADGui.Control.showDialog(panel) - if panel.setupUi(): - FreeCADGui.Control.closeDialog(panel) - return None - return panel + vp.setEdit(vp, 1) def GetResources(self): IconPath = FreeCAD.ConfigGet("AppHomePath") + "Mod/PartDesign/FeatureHole/PartDesign_Hole.svg" diff --git a/src/Mod/PartDesign/FeatureHole/TaskHole.py b/src/Mod/PartDesign/FeatureHole/TaskHole.py index 5eec78c203..c02dda1823 100644 --- a/src/Mod/PartDesign/FeatureHole/TaskHole.py +++ b/src/Mod/PartDesign/FeatureHole/TaskHole.py @@ -185,6 +185,7 @@ class TaskHole: # Update the UI self.updateUI() + return True def getRefText(self, ref): (obj, element) = ref diff --git a/src/Mod/PartDesign/FeatureHole/ViewProviderHole.py b/src/Mod/PartDesign/FeatureHole/ViewProviderHole.py index 5dd342446f..94f836ca52 100644 --- a/src/Mod/PartDesign/FeatureHole/ViewProviderHole.py +++ b/src/Mod/PartDesign/FeatureHole/ViewProviderHole.py @@ -63,17 +63,16 @@ class ViewProviderHole: ''' Print the name of the property that has changed ''' #FreeCAD.Console.PrintMessage("Change property: " + str(prop) + "\n") pass - + def setEdit(self,vp,mode): - FreeCAD.Console.PrintMessage("setEdit\n") panel = TaskHole(self.Object) FreeCADGui.Control.showDialog(panel) - if panel.setupUi(): + if not panel.setupUi(): FreeCADGui.Control.closeDialog(panel) - return True + return False - return False + return True def unsetEdit(self,vp,mode): return