kopia lustrzana https://github.com/inkstitch/inkstitch
unlink clones: add option wether resulting paths should be grouped or not
rodzic
2d18a061e3
commit
37ed8de66d
|
@ -17,6 +17,7 @@ class UnlinkClone(InkstitchExtension):
|
|||
def __init__(self, *args, **kwargs):
|
||||
InkstitchExtension.__init__(self, *args, **kwargs)
|
||||
self.arg_parser.add_argument("--notebook")
|
||||
self.arg_parser.add_argument("-g", "--add-group", dest="add_group", type=Boolean, default=True)
|
||||
self.arg_parser.add_argument("-r", "--recursive", dest="recursive", type=Boolean, default=True)
|
||||
|
||||
def effect(self) -> None:
|
||||
|
@ -36,11 +37,14 @@ class UnlinkClone(InkstitchExtension):
|
|||
if isinstance(element, Clone):
|
||||
resolved = element.resolve_clone(recursive=recursive)
|
||||
if resolved[0].tag in SVG_SYMBOL_TAG:
|
||||
group = Group()
|
||||
parent = cast(BaseElement, resolved[0].getparent()) # Safe assumption that this has a parent.
|
||||
group = self.get_group(parent)
|
||||
for child in resolved[0]:
|
||||
group.append(child)
|
||||
parent = cast(BaseElement, resolved[0].getparent()) # Safe assumption that this has a parent.
|
||||
parent.replace(resolved[0], group)
|
||||
if self.options.add_group:
|
||||
parent.replace(resolved[0], group)
|
||||
else:
|
||||
resolved[0].delete()
|
||||
clones_resolved.append((element.node, resolved[0]))
|
||||
|
||||
for (clone, resolved_clone) in clones_resolved:
|
||||
|
@ -52,3 +56,8 @@ class UnlinkClone(InkstitchExtension):
|
|||
backlink_attrib = CONNECTION_START if command.connector.get(CONNECTION_START) == ("#"+orig_id) else CONNECTION_END
|
||||
command.connector.set(backlink_attrib, "#"+new_id)
|
||||
resolved_clone.set_id(new_id)
|
||||
|
||||
def get_group(self, parent):
|
||||
if self.options.add_group:
|
||||
return Group()
|
||||
return parent
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
<page name="options" gui-text="Options">
|
||||
<param name="extension" type="string" gui-hidden="true">unlink_clone</param>
|
||||
<param name="recursive" type="boolean" gui-text="Recursive">true</param>
|
||||
<param name="add-group" type="boolean" gui-text="Group unlinked elements">true</param>
|
||||
</page>
|
||||
<page name="info" gui-text="Help">
|
||||
<label>Unlink clones and apply the fill stitch angle.</label>
|
||||
|
|
Ładowanie…
Reference in New Issue