assembly: fix feature double clicking
This commit is contained in:
parent
c67bf962de
commit
7adcf54874
30
assembly.py
30
assembly.py
|
@ -692,6 +692,10 @@ class ViewProviderAsmElement(ViewProviderAsmOnTop):
|
||||||
AsmElement.make(AsmElement.Selection(Element=vobj.Object,
|
AsmElement.make(AsmElement.Selection(Element=vobj.Object,
|
||||||
Group=owner, Subname=subname+element),undo=True)
|
Group=owner, Subname=subname+element),undo=True)
|
||||||
|
|
||||||
|
def doubleClicked(self,_vobj):
|
||||||
|
from . import mover
|
||||||
|
return mover.movePart()
|
||||||
|
|
||||||
|
|
||||||
class AsmElementSketch(AsmElement):
|
class AsmElementSketch(AsmElement):
|
||||||
def __init__(self,obj,parent):
|
def __init__(self,obj,parent):
|
||||||
|
@ -2999,9 +3003,17 @@ class ViewProviderAssembly(ViewProviderAsmGroup):
|
||||||
return utils.getIcon(self.__class__)
|
return utils.getIcon(self.__class__)
|
||||||
return System.getIcon(self.ViewObject.Object)
|
return System.getIcon(self.ViewObject.Object)
|
||||||
|
|
||||||
def doubleClicked(self, _vobj):
|
def doubleClicked(self, vobj):
|
||||||
from . import mover
|
from . import mover
|
||||||
return mover.movePart()
|
sel = FreeCADGui.Selection.getSelection('',0)
|
||||||
|
if not sel:
|
||||||
|
return False
|
||||||
|
if sel[0].getLinkedObject(True) == vobj.Object:
|
||||||
|
vobj = sel[0].ViewObject
|
||||||
|
return vobj.Document.setEdit(vobj,1)
|
||||||
|
if logger.catchDebug('',mover.movePart):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
def onExecute(self):
|
def onExecute(self):
|
||||||
if not getattr(self,'_movingPart',None):
|
if not getattr(self,'_movingPart',None):
|
||||||
|
@ -3025,7 +3037,7 @@ class ViewProviderAssembly(ViewProviderAsmGroup):
|
||||||
|
|
||||||
def initDraggingPlacement(self):
|
def initDraggingPlacement(self):
|
||||||
if not getattr(self,'_movingPart',None):
|
if not getattr(self,'_movingPart',None):
|
||||||
return
|
return True
|
||||||
self._movingPart.begin()
|
self._movingPart.begin()
|
||||||
return (FreeCADGui.editDocument().EditingTransform,
|
return (FreeCADGui.editDocument().EditingTransform,
|
||||||
self._movingPart.draggerPlacement,
|
self._movingPart.draggerPlacement,
|
||||||
|
@ -3037,14 +3049,20 @@ class ViewProviderAssembly(ViewProviderAsmGroup):
|
||||||
Assembly.cancelAutoSolve();
|
Assembly.cancelAutoSolve();
|
||||||
FreeCADGui.Selection.clearSelection()
|
FreeCADGui.Selection.clearSelection()
|
||||||
self.__class__._Busy = True
|
self.__class__._Busy = True
|
||||||
FreeCAD.setActiveTransaction('Assembly move')
|
if getattr(self,'_movingPart',None):
|
||||||
|
FreeCAD.setActiveTransaction('Assembly move')
|
||||||
|
return True
|
||||||
|
|
||||||
def onDragMotion(self):
|
def onDragMotion(self):
|
||||||
return self._movingPart.move()
|
if getattr(self,'_movingPart',None):
|
||||||
|
self._movingPart.move()
|
||||||
|
return True
|
||||||
|
|
||||||
def onDragEnd(self):
|
def onDragEnd(self):
|
||||||
self.__class__._Busy = False
|
self.__class__._Busy = False
|
||||||
FreeCAD.closeActiveTransaction()
|
if getattr(self,'_movingPart',None):
|
||||||
|
FreeCAD.closeActiveTransaction()
|
||||||
|
return True
|
||||||
|
|
||||||
def unsetEdit(self,_vobj,_mode):
|
def unsetEdit(self,_vobj,_mode):
|
||||||
self._movingPart = None
|
self._movingPart = None
|
||||||
|
|
Loading…
Reference in New Issue
Block a user