assembly: fix element group drag and drop
This commit is contained in:
parent
58a6ad6752
commit
a1506a1d67
16
assembly.py
16
assembly.py
|
@ -662,15 +662,17 @@ class ViewProviderAsmElement(ViewProviderAsmOnTop):
|
||||||
def getDefaultColor(self):
|
def getDefaultColor(self):
|
||||||
return (60.0/255.0,1.0,1.0)
|
return (60.0/255.0,1.0,1.0)
|
||||||
|
|
||||||
def canDropObjectEx(self,_obj,owner,_subname,elements):
|
def canDropObjectEx(self,_obj,owner,subname,elements):
|
||||||
if not elements:
|
if not owner:
|
||||||
|
return False
|
||||||
|
if not elements and not utils.isElement((owner,subname)):
|
||||||
return False
|
return False
|
||||||
proxy = self.ViewObject.Object.Proxy
|
proxy = self.ViewObject.Object.Proxy
|
||||||
return proxy.getAssembly().getPartGroup()==owner
|
return proxy.getAssembly().getPartGroup()==owner
|
||||||
|
|
||||||
def dropObjectEx(self,vobj,_obj,owner,subname,elements):
|
def dropObjectEx(self,vobj,_obj,owner,subname,elements):
|
||||||
if not elements:
|
if not elements:
|
||||||
return
|
elements = ['']
|
||||||
for element in elements:
|
for element in elements:
|
||||||
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)
|
||||||
|
@ -1839,8 +1841,10 @@ class AsmElementGroup(AsmGroup):
|
||||||
class ViewProviderAsmElementGroup(ViewProviderAsmGroup):
|
class ViewProviderAsmElementGroup(ViewProviderAsmGroup):
|
||||||
_iconName = 'Assembly_Assembly_Element_Tree.svg'
|
_iconName = 'Assembly_Assembly_Element_Tree.svg'
|
||||||
|
|
||||||
def canDropObjectEx(self,_obj,owner,_subname,elements):
|
def canDropObjectEx(self,_obj,owner,subname,elements):
|
||||||
if not owner or not elements:
|
if not owner:
|
||||||
|
return False
|
||||||
|
if not elements and not utils.isElement((owner,subname)):
|
||||||
return False
|
return False
|
||||||
proxy = self.ViewObject.Object.Proxy
|
proxy = self.ViewObject.Object.Proxy
|
||||||
return proxy.getAssembly().getPartGroup()==owner
|
return proxy.getAssembly().getPartGroup()==owner
|
||||||
|
@ -1855,6 +1859,8 @@ class ViewProviderAsmElementGroup(ViewProviderAsmGroup):
|
||||||
else:
|
else:
|
||||||
sel = None
|
sel = None
|
||||||
FreeCADGui.Selection.clearSelection()
|
FreeCADGui.Selection.clearSelection()
|
||||||
|
if not elements:
|
||||||
|
elements = ['']
|
||||||
for element in elements:
|
for element in elements:
|
||||||
obj = AsmElement.make(AsmElement.Selection(
|
obj = AsmElement.make(AsmElement.Selection(
|
||||||
Element=None, Group=owner, Subname=subname+element))
|
Element=None, Group=owner, Subname=subname+element))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user