SVGHMI: unlink clones (i.e. deep copy elements refered by svg:use) inside widget.
Designer can use Inkscape clones to duplicate similar assets accross widget. Those clones are unliked so that elements can be independently transformed by individual widgets.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# This file is part of Beremiz.
# See COPYING file for copyrights details.
from __future__ import absolute_import
from plcopen.XSLTModelQuery import XSLTModelQuery
class InstancesPathCollector(XSLTModelQuery):
""" object for collecting instances path list"""
def __init__(self, controller):
self.Instances = []
XSLTModelQuery.__init__(self,
controller,
"instances_path.xslt",
[("AddInstance", self.AddInstance)])
def AddInstance(self, context, *args):
self.Instances.append(args[0][0])
def Collect(self, root, name, debug):
self._process_xslt(root, debug, instance_type=name)
res = self.Instances
self.Instances = []
return res