kopia lustrzana https://github.com/inkstitch/inkstitch
group command extension
rodzic
c602c4c517
commit
2f54ff2a43
|
|
@ -6,7 +6,7 @@
|
|||
from copy import deepcopy
|
||||
from itertools import chain
|
||||
|
||||
from inkex import paths, NSS
|
||||
from inkex import NSS, paths
|
||||
from shapely import affinity as shaffinity
|
||||
from shapely import geometry as shgeo
|
||||
from shapely.ops import nearest_points
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
# Copyright (c) 2010 Authors
|
||||
# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
|
||||
|
||||
from ..commands import is_command
|
||||
from ..commands import group_commands, is_command
|
||||
from ..svg.tags import (EMBROIDERABLE_TAGS, INKSTITCH_ATTRIBS, SVG_IMAGE_TAG,
|
||||
SVG_PATH_TAG, SVG_POLYLINE_TAG, SVG_TEXT_TAG)
|
||||
from .auto_fill import AutoFill
|
||||
|
|
@ -17,7 +17,6 @@ from .polyline import Polyline
|
|||
from .satin_column import SatinColumn
|
||||
from .stroke import Stroke
|
||||
from .text import TextObject
|
||||
from ..commands import group_commands
|
||||
|
||||
|
||||
def node_to_elements(node): # noqa: C901
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@ from .duplicate_params import DuplicateParams
|
|||
from .embroider_settings import EmbroiderSettings
|
||||
from .flip import Flip
|
||||
from .global_commands import GlobalCommands
|
||||
from .group_commands import GroupCommands
|
||||
from .import_threadlist import ImportThreadlist
|
||||
from .input import Input
|
||||
from .install import Install
|
||||
|
|
@ -41,6 +42,7 @@ __all__ = extensions = [StitchPlanPreview,
|
|||
Zip,
|
||||
Flip,
|
||||
ObjectCommands,
|
||||
GroupCommands,
|
||||
LayerCommands,
|
||||
GlobalCommands,
|
||||
ConvertToSatin,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import inkex
|
|||
from lxml import etree
|
||||
from stringcase import snakecase
|
||||
|
||||
from ..commands import is_command, layer_commands, group_commands
|
||||
from ..commands import group_commands, is_command, layer_commands
|
||||
from ..elements import EmbroideryElement, nodes_to_elements
|
||||
from ..elements.clone import is_clone
|
||||
from ..i18n import _
|
||||
|
|
|
|||
|
|
@ -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
|
||||
})
|
||||
|
|
@ -5,8 +5,8 @@
|
|||
|
||||
import pyembroidery
|
||||
|
||||
from ..commands import (COMMANDS, GLOBAL_COMMANDS, LAYER_COMMANDS,
|
||||
OBJECT_COMMANDS)
|
||||
from ..commands import (COMMANDS, GLOBAL_COMMANDS, GROUP_COMMANDS,
|
||||
LAYER_COMMANDS, OBJECT_COMMANDS)
|
||||
from ..extensions import Input, Output, extensions
|
||||
from ..threads import ThreadCatalog
|
||||
from .outputs import pyembroidery_output_formats
|
||||
|
|
@ -24,6 +24,10 @@ def global_commands():
|
|||
return [(command, COMMANDS[command]) for command in GLOBAL_COMMANDS]
|
||||
|
||||
|
||||
def group_commands():
|
||||
return [(command, COMMANDS[command]) for command in GROUP_COMMANDS]
|
||||
|
||||
|
||||
def object_commands():
|
||||
return [(command, COMMANDS[command]) for command in OBJECT_COMMANDS]
|
||||
|
||||
|
|
@ -51,6 +55,7 @@ def generate_extension_inx_files():
|
|||
write_inx_file(name, template.render(formats=pyembroidery_output_formats(),
|
||||
debug_formats=pyembroidery_debug_formats(),
|
||||
threadcatalog=threadcatalog(),
|
||||
group_commands=group_commands(),
|
||||
layer_commands=layer_commands(),
|
||||
object_commands=object_commands(),
|
||||
global_commands=global_commands()))
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
|
||||
<name>{% trans %}Add Group Commands{% endtrans %}</name>
|
||||
<id>org.inkstitch.group_commands.{{ locale }}</id>
|
||||
<param name="description" type="description">{% trans %}Commands will be added to the currently-selected group.{% endtrans %}</param>
|
||||
{% for command, description in group_commands %}
|
||||
<param name="{{ command }}" type="boolean" _gui-text="{{ _(description) }}">false</param>
|
||||
{% endfor %}
|
||||
<param name="extension" type="string" gui-hidden="true">group_commands</param>
|
||||
<effect>
|
||||
<object-type>all</object-type>
|
||||
<effects-menu>
|
||||
<submenu name="Ink/Stitch">
|
||||
<submenu name="{% trans %}Commands{% endtrans %}" />
|
||||
</submenu>
|
||||
</effects-menu>
|
||||
</effect>
|
||||
<script>
|
||||
{{ command_tag | safe }}
|
||||
</script>
|
||||
</inkscape-extension>
|
||||
Ładowanie…
Reference in New Issue