From 333e7c37ae1b4cf0aa5d78edf9ab3da90c58009f Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Tue, 13 Jul 2021 11:59:21 +0200 Subject: [PATCH] loads values from instances --- openpype/tools/new_publisher/control.py | 5 +++-- openpype/tools/new_publisher/widgets.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/openpype/tools/new_publisher/control.py b/openpype/tools/new_publisher/control.py index cfe39cd9e7..aa5db39b68 100644 --- a/openpype/tools/new_publisher/control.py +++ b/openpype/tools/new_publisher/control.py @@ -110,11 +110,12 @@ class PublisherController: instance = instances[0] output = [] for attr_def in instance.family_attribute_defs: - output.append((attr_def, [instance])) + value = instance.data["family_attributes"][attr_def.key] + output.append((attr_def, [instance], [value])) return output # TODO mulsiselection - return ([], []) + return ([], [], []) def get_publish_attribute_definitions(self, instances): families = set() diff --git a/openpype/tools/new_publisher/widgets.py b/openpype/tools/new_publisher/widgets.py index 9384236dd4..cace227ee8 100644 --- a/openpype/tools/new_publisher/widgets.py +++ b/openpype/tools/new_publisher/widgets.py @@ -100,13 +100,21 @@ class FamilyAttrsWidget(QtWidgets.QWidget): content_widget = QtWidgets.QWidget(self._scroll_area) content_layout = QtWidgets.QFormLayout(content_widget) - for attr_def, _instances in result: + for attr_def, attr_instances, values in result: widget = create_widget_for_attr_def(attr_def, content_widget) + if len(values) == 1: + value = values[0] + if value is not None: + widget.set_value(values[0]) + else: + # TODO multiselection + pass + label = attr_def.label or attr_def.key content_layout.addRow(label, widget) widget.value_changed.connect(self._input_value_changed) - self._attr_def_id_to_instances[attr_def.id] = _instances + self._attr_def_id_to_instances[attr_def.id] = attr_instances self._attr_def_id_to_attr_def[attr_def.id] = attr_def self._scroll_area.setWidget(content_widget)