diff options
| author | Kaalleen <reni@allenka.de> | 2021-06-27 22:47:43 +0200 |
|---|---|---|
| committer | Kaalleen <reni@allenka.de> | 2021-06-27 22:47:43 +0200 |
| commit | 2f54ff2a436f2774bfdc730b6e95c43f18ed81ac (patch) | |
| tree | 638565e7ba94a12afcdafb0ab896246c4860c751 /lib/extensions/group_commands.py | |
| parent | c602c4c517cab40dfc2dc7dbc5c29c037cccafae (diff) | |
group command extension
Diffstat (limited to 'lib/extensions/group_commands.py')
| -rw-r--r-- | lib/extensions/group_commands.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/extensions/group_commands.py b/lib/extensions/group_commands.py new file mode 100644 index 00000000..af1f9fb1 --- /dev/null +++ b/lib/extensions/group_commands.py @@ -0,0 +1,41 @@ +# Authors: see git history +# +# Copyright (c) 2010 Authors +# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details. + +import inkex +from lxml import etree + +from ..commands import GROUP_COMMANDS, ensure_symbol, get_command_description +from ..i18n import _ +from ..svg import get_correction_transform +from ..svg.tags import INKSCAPE_LABEL, SVG_USE_TAG, XLINK_HREF +from .commands import CommandsExtension + + +class GroupCommands(CommandsExtension): + COMMANDS = GROUP_COMMANDS + + def effect(self): + commands = [command for command in self.COMMANDS if getattr(self.options, command)] + + if not commands: + inkex.errormsg(_("Please choose one or more commands to add.")) + return + + correction_transform = get_correction_transform(self.svg.get_current_layer(), child=True) + + for i, command in enumerate(commands): + ensure_symbol(self.document, command) + + etree.SubElement(self.svg.get_current_layer(), SVG_USE_TAG, + { + "id": self.uniqueId("use"), + INKSCAPE_LABEL: _("Ink/Stitch Command") + ": %s" % get_command_description(command), + XLINK_HREF: "#inkstitch_%s" % command, + "height": "100%", + "width": "100%", + "x": str(i * 20), + "y": "-10", + "transform": correction_transform + }) |
