summaryrefslogtreecommitdiff
path: root/lib/elements/element.py
diff options
context:
space:
mode:
authorGeorge Steel <george.steel@gmail.com>2022-12-11 22:18:09 -0500
committerGeorge Steel <george.steel@gmail.com>2022-12-11 22:18:09 -0500
commit903f724c888aea968e85b1e3f2817c66e64d7a02 (patch)
tree40b00d0b7b4265a9e055826d2d1b9d35515872bf /lib/elements/element.py
parentdd115ae02f5cb8932f2f23865909682ea6bcebac (diff)
refine GUI for text-based random_seed parameter and add global param.
Diffstat (limited to 'lib/elements/element.py')
-rw-r--r--lib/elements/element.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/elements/element.py b/lib/elements/element.py
index 84141d4f..b8b25b27 100644
--- a/lib/elements/element.py
+++ b/lib/elements/element.py
@@ -251,6 +251,22 @@ class EmbroideryElement(object):
return self.get_boolean_param('force_lock_stitches', False)
@property
+ @param('random_seed',
+ _('Random seed'),
+ tooltip=_('Use a specific seed for randomized attributes. Uses the element ID if empty.'),
+ type='random_seed',
+ default='',
+ sort_index=100)
+ @cache
+ def random_seed(self) -> str:
+ seed = self.get_param('random_seed')
+ if not seed:
+ seed = self.node.get_id() or ''
+ # TODO(#1696): When inplementing grouped clones, join this with the IDs of any shadow roots,
+ # letting each instance without a specified seed get a different default.
+ return seed
+
+ @property
def path(self):
# A CSP is a "cubic superpath".
#