Draft: V0.18 VisGroups were not handled (#8234)

This commit is contained in:
Roy-043
2023-01-23 11:27:52 +01:00
committed by GitHub
parent 433b17b829
commit 633a89debf
4 changed files with 30 additions and 77 deletions

View File

@@ -30,6 +30,9 @@
# @{
from PySide.QtCore import QT_TRANSLATE_NOOP
from draftutils.messages import _wrn
from draftutils.translate import translate
class Layer:
"""The Layer object.
@@ -44,13 +47,6 @@ class Layer:
obj.Proxy = self
def onDocumentRestored(self, obj):
"""Execute code when the document is restored.
Add properties that don't exist.
"""
self.set_properties(obj)
def set_properties(self, obj):
"""Set properties only if they don't exist."""
if "Group" not in obj.PropertiesList:
@@ -61,6 +57,29 @@ class Layer:
"Layer",
_tip)
def onDocumentRestored(self, obj):
"""Execute code when the document is restored."""
self.set_properties(obj)
if self.Type != "VisGroup":
return
if not hasattr(obj, "ViewObject"):
return
vobj = obj.ViewObject
if not vobj:
return
self.add_missing_properties_0v19(obj, vobj)
self.Type = "Layer"
def add_missing_properties_0v19(self, obj, vobj):
"""Update view properties."""
# It is not possible to change the property group of obj.Group.
for prop in ("DrawStyle", "LineColor", "LineWidth", "ShapeColor", "Transparency"):
vobj.setGroupOfProperty(prop, "Layer")
vobj.Proxy.set_properties(vobj)
_wrn("v0.19, " + obj.Label + ", "
+ translate("draft", "added missing view properties"))
def __getstate__(self):
"""Return a tuple of objects to save or None."""
return self.Type