Added DrawStyles to Draft objects

+ Draft Viewproviders now have a "DrawStyle" property which
allows to set solid, dashed, dotted or dashdotted linestyles.
This commit is contained in:
Yorik van Havre 2012-02-22 00:01:30 -02:00
parent 3368fdd989
commit c2039f2590

View File

@ -1490,7 +1490,10 @@ class _ViewProviderDraft:
def __init__(self, obj):
obj.Proxy = self
obj.addProperty("App::PropertyEnumeration","DrawStyle","Base",
"The line style of this object")
self.Object = obj.Object
obj.DrawStyle = ["solid","dashed","dotted","dashdot"]
def attach(self, obj):
self.Object = obj.Object
@ -1507,8 +1510,21 @@ class _ViewProviderDraft:
return mode
def onChanged(self, vp, prop):
if prop == "DrawStyle":
self.setStyle(vp)
return
def setStyle(self,vobj):
ds = vobj.RootNode.getChild(2).getChild(0).getChild(0).getChild(1)
if vobj.DrawStyle == "solid":
ds.linePattern = 0xffff
elif vobj.DrawStyle == "dotted":
ds.linePattern = 0x0f0f
elif vobj.DrawStyle == "dashed":
ds.linePattern = 0xf00f
elif vobj.DrawStyle == "dashdot":
ds.linePattern = 0xff88
def __getstate__(self):
return None
@ -2100,6 +2116,8 @@ class _ViewProviderRectangle(_ViewProviderDraft):
if self.texture:
r.removeChild(self.texture)
self.texture = None
elif prop == "DrawStyle":
self.setStyle(vp)
return
class _Circle:
@ -2266,6 +2284,8 @@ class _ViewProviderWire(_ViewProviderDraft):
rn.addChild(self.pt)
else:
rn.removeChild(self.pt)
elif prop == "DrawStyle":
self.setStyle(vp)
return
def claimChildren(self):
@ -2426,6 +2446,8 @@ class _ViewProviderBSpline(_ViewProviderDraft):
rn.addChild(self.pt)
else:
rn.removeChild(self.pt)
elif prop == "DrawStyle":
self.setStyle(vp)
return
class _Block: