SubLink: remove dead properties if shape type changes
This commit is contained in:
parent
3365f06155
commit
045b7133f1
|
@ -107,6 +107,9 @@ class LatticeSubLink:
|
|||
App.Console.PrintError(selfobj.Name+": analyzeShape: "+err.message+"\n")
|
||||
|
||||
def analyzeShape(self,selfobj):
|
||||
|
||||
self.updatedProperties = set()
|
||||
try:
|
||||
sh = selfobj.Shape
|
||||
|
||||
self.assignProp(selfobj,"App::PropertyString","ShapeType",sh.ShapeType)
|
||||
|
@ -164,12 +167,19 @@ class LatticeSubLink:
|
|||
|
||||
elif sh.ShapeType == "Vertex":
|
||||
self.assignProp(selfobj,"App::PropertyVector","Position",sh.Point)
|
||||
finally:
|
||||
#remove properties that haven't been updated
|
||||
for propname in selfobj.PropertiesList:
|
||||
if selfobj.getGroupOfProperty(propname) == "info":
|
||||
if not (propname in self.updatedProperties):
|
||||
selfobj.removeProperty(propname)
|
||||
|
||||
def assignProp(self, selfobj, proptype, propname, propvalue):
|
||||
if not hasattr(selfobj,propname):
|
||||
selfobj.addProperty(proptype, propname,"info")
|
||||
selfobj.setEditorMode(propname,1) #set read-only
|
||||
setattr(selfobj,propname,propvalue)
|
||||
self.updatedProperties.add(propname)
|
||||
|
||||
def transplant_all_attributes(self, selfobj, source, prefix):
|
||||
for attrname in dir(source):
|
||||
|
|
Loading…
Reference in New Issue
Block a user