diff --git a/openpype/hosts/maya/api/workfile_template_builder.py b/openpype/hosts/maya/api/workfile_template_builder.py index 865f497710a..a46b0e46944 100644 --- a/openpype/hosts/maya/api/workfile_template_builder.py +++ b/openpype/hosts/maya/api/workfile_template_builder.py @@ -186,6 +186,9 @@ def create_placeholder(self, placeholder_data): if parent: placeholder = cmds.parent(placeholder, selection[0])[0] + if placeholder_data['action'] is None: + placeholder_data.pop('action') + imprint(placeholder, placeholder_data) # Add helper attributes to keep placeholder info diff --git a/openpype/hosts/maya/plugins/builder/builder_test.py b/openpype/hosts/maya/plugins/builder/builder_test.py index c0e6efb0e2c..59ed614f719 100644 --- a/openpype/hosts/maya/plugins/builder/builder_test.py +++ b/openpype/hosts/maya/plugins/builder/builder_test.py @@ -4,8 +4,8 @@ from openpype.pipeline.action import BuilderAction -class ConnectGeometry(BuilderAction): - """Connect geometries within containers. +class ConnectShape(BuilderAction): + """Connect Shape within containers. Source container will connect to the target containers, by searching for matching geometry IDs (cbid). @@ -13,10 +13,10 @@ class ConnectGeometry(BuilderAction): The connection with be done with a live world space blendshape. """ - label = "Connect Geometry" + label = "Connect Shape" icon = "link" color = "white" def process(self): - self.log.info("CONNECT GEOMETRY") + self.log.info("Connect Shape") print(cmds.ls()) diff --git a/openpype/tools/attribute_defs/widgets.py b/openpype/tools/attribute_defs/widgets.py index 65e2d129258..f87cb09d97b 100644 --- a/openpype/tools/attribute_defs/widgets.py +++ b/openpype/tools/attribute_defs/widgets.py @@ -185,6 +185,7 @@ def current_value(self): attr_def = widget.attr_def if not isinstance(attr_def, UIDef): output[attr_def.key] = widget.current_value() + return output @@ -410,6 +411,7 @@ def set_value(self, value, multivalue=False): class EnumAttrWidget(_BaseAttrDefWidget): def __init__(self, *args, **kwargs): self._multivalue = False + self._parent = args[1] super(EnumAttrWidget, self).__init__(*args, **kwargs) @property @@ -436,17 +438,9 @@ def _ui_init(self): if idx >= 0: input_widget.setCurrentIndex(idx) - if self.multiselection: - input_widget.value_changed.connect(self._on_value_change) - - if self.attr_def.on_value_changed_callback: - self._on_value_change_custom = self.attr_def.on_value_changed_callback - input_widget.currentIndexChanged.connect(self._on_value_change) - self._input_widget = input_widget - self.main_layout.addWidget(input_widget, 0) def _on_value_change(self): @@ -454,6 +448,7 @@ def _on_value_change(self): if self._multivalue: self._multivalue = False self._input_widget.set_custom_text(None) + self.value_changed.emit(new_value, self.attr_def.id) def current_value(self):