summaryrefslogtreecommitdiff
path: root/lib/extensions/auto_satin.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/extensions/auto_satin.py')
-rw-r--r--lib/extensions/auto_satin.py56
1 files changed, 4 insertions, 52 deletions
diff --git a/lib/extensions/auto_satin.py b/lib/extensions/auto_satin.py
index f846ac6b..b7cee83b 100644
--- a/lib/extensions/auto_satin.py
+++ b/lib/extensions/auto_satin.py
@@ -2,11 +2,8 @@ import sys
import inkex
-from ..elements import SatinColumn
from ..i18n import _
from ..stitches.auto_satin import auto_satin
-from ..svg import get_correction_transform
-from ..svg.tags import SVG_GROUP_TAG, INKSCAPE_LABEL
from .commands import CommandsExtension
@@ -37,22 +34,6 @@ class AutoSatin(CommandsExtension):
if command is not None:
return command.target_point
- def effect(self):
- if not self.check_selection():
- return
-
- if self.options.preserve_order:
- # when preservering order, auto_satin() takes care of putting the
- # newly-created elements into the existing group nodes in the SVG
- # DOM
- new_elements, trim_indices = self.auto_satin()
- else:
- group = self.create_group()
- new_elements, trim_indices = self.auto_satin()
- self.add_elements(group, new_elements)
-
- self.add_trims(new_elements, trim_indices)
-
def check_selection(self):
if not self.get_elements():
return
@@ -64,39 +45,10 @@ class AutoSatin(CommandsExtension):
return True
- def create_group(self):
- first = self.elements[0].node
- parent = first.getparent()
- insert_index = parent.index(first)
- group = inkex.etree.Element(SVG_GROUP_TAG, {
- "transform": get_correction_transform(parent, child=True)
- })
- parent.insert(insert_index, group)
-
- return group
+ def effect(self):
+ if not self.check_selection():
+ return
- def auto_satin(self):
starting_point = self.get_starting_point()
ending_point = self.get_ending_point()
- return auto_satin(self.elements, self.options.preserve_order, starting_point, ending_point)
-
- def add_elements(self, group, new_elements):
- for i, element in enumerate(new_elements):
- if isinstance(element, SatinColumn):
- element.node.set("id", self.uniqueId("autosatin"))
-
- # L10N Label for a satin column created by Auto-Route Satin Columns extension
- element.node.set(INKSCAPE_LABEL, _("AutoSatin %d") % (i + 1))
- else:
- element.node.set("id", self.uniqueId("autosatinrun"))
-
- # L10N Label for running stitch (underpathing) created by Auto-Route Satin Columns extension
- element.node.set(INKSCAPE_LABEL, _("AutoSatin Running Stitch %d") % (i + 1))
-
- group.append(element.node)
-
- def add_trims(self, new_elements, trim_indices):
- if self.options.trim and trim_indices:
- self.ensure_symbol("trim")
- for i in trim_indices:
- self.add_commands(new_elements[i], ["trim"])
+ auto_satin(self.elements, self.options.preserve_order, starting_point, ending_point, self.options.trim)