Draft: Fix EditMode for hatch, facebinder and shapestring

This commit is contained in:
Roy-043
2022-07-12 13:30:01 +02:00
parent 90b0d3253e
commit e9761691ae
3 changed files with 17 additions and 11 deletions

View File

@@ -29,11 +29,8 @@
# @{
import FreeCADGui as Gui
import DraftGui
from draftviewproviders.view_base import ViewProviderDraft
class ViewProviderFacebinder(ViewProviderDraft):
def __init__(self,vobj):
super(ViewProviderFacebinder, self).__init__(vobj)
@@ -42,6 +39,10 @@ class ViewProviderFacebinder(ViewProviderDraft):
return ":/icons/Draft_Facebinder_Provider.svg"
def setEdit(self,vobj,mode):
if mode != 0:
return None
import DraftGui # Moving this to the top of the file results in a circular import.
taskd = DraftGui.FacebinderTaskPanel()
taskd.obj = vobj.Object
taskd.update()
@@ -49,8 +50,11 @@ class ViewProviderFacebinder(ViewProviderDraft):
return True
def unsetEdit(self,vobj,mode):
if mode != 0:
return None
Gui.Control.closeDialog()
return False
return True
# Alias for compatibility with v0.18 and earlier

View File

@@ -23,8 +23,6 @@
"""This module contains FreeCAD commands for the Draft workbench"""
import os
import FreeCAD
from draftguitools.gui_hatch import Draft_Hatch_TaskPanel
class ViewProviderDraftHatch:
@@ -47,6 +45,8 @@ class ViewProviderDraftHatch:
return None
def setEdit(self,vobj,mode):
if mode != 0:
return None
import FreeCADGui
@@ -59,12 +59,10 @@ class ViewProviderDraftHatch:
return True
def unsetEdit(self,vobj,mode):
if mode != 0:
return None
import FreeCADGui
FreeCADGui.Control.closeDialog()
return True
def doubleClicked(self,vobj):
self.setEdit(vobj,None)

View File

@@ -39,6 +39,8 @@ class ViewProviderShapeString(ViewProviderDraft):
return ":/icons/Draft_ShapeString.svg"
def setEdit(self, vobj, mode):
if mode != 0:
return None
self.wb_before_edit = Gui.activeWorkbench()
Gui.activateWorkbench("DraftWorkbench")
@@ -47,7 +49,9 @@ class ViewProviderShapeString(ViewProviderDraft):
return True
def unsetEdit(self,vobj,mode):
def unsetEdit(self, vobj, mode):
if mode != 0:
return None
self.task.finish()
Gui.activateWorkbench(self.wb_before_edit.name())