示例#1
0
    def set_item_view(self, item_view):
        """
        Sets the base item to be created
        :param item_view: LibraryItem
        """

        self._item_view = item_view

        if os.path.exists(item_view.image_sequence_path()):
            self.set_thumbnail_path(item_view.image_sequence_path())
        elif not item_view.is_default_thumbnail_path():
            self.set_thumbnail_path(item_view.thumbnail_path())

        schema = self.item().save_schema()
        if schema:
            form_widget = formwidget.FormWidget(self)
            form_widget.setSizePolicy(QSizePolicy.Expanding,
                                      QSizePolicy.Expanding)
            form_widget.set_schema(schema)
            form_widget.set_validator(self.item().save_validator)
            # item_name = os.path.basename(item.path())
            # form_widget.set_values({'name': item_name})
            self._options_frame.layout().addWidget(form_widget)
            form_widget.validate()
            self._form_widget = form_widget
        else:
            self._options_frame.setVisible(False)
示例#2
0
    def set_item(self, item):
        """
        Sets the library item to load
        :param item: LibraryItem
        """

        super(LoadWidget, self).set_item(item)

        self._title_lbl.setText(item.MenuName)
        self._icon_lbl.setPixmap(QPixmap(item.type_icon_path()))

        info_widget = formwidget.FormWidget(self)
        info_widget.set_schema(item.info())
        self._info_frame.layout().addWidget(info_widget)

        self.refresh()
示例#3
0
    def set_item(self, item):
        """
        Sets the base item to be created
        :param item: LibraryItem
        """

        self._item = item

        self._title_lbl.setText(item.MenuName)
        self._icon_lbl.setPixmap(QPixmap(item.type_icon_path()))
        schema = item.save_schema()
        if schema:
            options_widget = formwidget.FormWidget(self)
            options_widget.set_schema(schema)
            options_widget.set_validator(item.save_validator)
            self._options_frame.layout().addWidget(options_widget)
            self._options_widget = options_widget
            self.load_settings()
            options_widget.stateChanged.connect(self._on_options_changed)
            options_widget.validate()
        else:
            self._options_frame.setVisible(False)
示例#4
0
    def set_item_view(self, item_view):
        """
        Sets the base item to be created
        :param item_view: LibraryItem
        """

        self._item_view = item_view

        schema = self.item().export_schema()
        if schema:
            form_widget = formwidget.FormWidget(self)
            form_widget.setSizePolicy(QSizePolicy.Expanding,
                                      QSizePolicy.Expanding)
            form_widget.set_schema(schema)
            form_widget.set_validator(self.item().save_validator)
            item_name = os.path.basename(self.item().format_identifier())
            item_folder = os.path.dirname(self.item().format_identifier())
            form_widget.set_values({'name': item_name, 'folder': item_folder})
            self._options_frame.layout().addWidget(form_widget)
            form_widget.validate()
            self._form_widget = form_widget
        else:
            self._options_frame.setVisible(False)
示例#5
0
    def ui(self):
        super(PreviewWidget, self).ui()

        title_frame = QFrame(self)
        title_frame_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0))
        title_frame.setLayout(title_frame_layout)
        title_widget = QWidget(self)
        title_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0))
        title_widget.setLayout(title_layout)
        buttons_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0))
        title_layout.addLayout(buttons_layout)
        self._title_icon = label.BaseLabel(parent=self)
        self._title_button = label.ElidedLabel(parent=self)
        self._title_button.setText(self.item().name())
        self._menu_button = buttons.BaseButton(parent=self)
        self._menu_button.setIcon(resources.icon('menu_dots'))
        buttons_layout.addWidget(self._title_icon)
        buttons_layout.addStretch()
        buttons_layout.addWidget(self._title_button)
        buttons_layout.addStretch()
        buttons_layout.addWidget(self._menu_button)
        title_frame_layout.addWidget(title_widget)

        item_icon_name = self.item().icon() or 'tpDcc'
        item_icon = resources.icon(item_icon_name)
        if not item_icon:
            item_icon = resources.icon('tpDcc')
        self._title_icon.setPixmap(item_icon.pixmap(QSize(20, 20)))

        icon_title_frame = QFrame(self)
        icon_title_frame_layout = layouts.VerticalLayout(spacing=0, margins=(4, 2, 4, 2))
        icon_title_frame.setLayout(icon_title_frame_layout)

        self._icon_group_frame = QFrame(self)
        icon_group_layout = layouts.HorizontalLayout(spacing=0, margins=(0, 0, 0, 0))
        self._icon_group_frame.setLayout(icon_group_layout)
        self._icon_frame = QFrame(self)
        icon_frame_layout = layouts.VerticalLayout(spacing=0, margins=(4, 2, 4, 2))
        self._icon_frame.setLayout(icon_frame_layout)
        icon_group_layout.addWidget(self._icon_frame)
        icon_group_box_widget = group.GroupBoxWidget('Icon', widget=self._icon_group_frame, parent=self)
        icon_title_frame_layout.addWidget(icon_group_box_widget)

        form_frame = QFrame(self)
        form_frame_layout = layouts.VerticalLayout(spacing=0, margins=(4, 2, 4, 2))
        form_frame.setLayout(form_frame_layout)

        buttons_frame = QFrame(self)
        buttons_frame_layout = layouts.HorizontalLayout(spacing=4, margins=(4, 4, 4, 4))
        buttons_frame.setLayout(buttons_frame_layout)

        self._accept_button = buttons.BaseButton('Load')
        self._accept_button.setIcon(resources.icon('open'))
        self._accept_button.setVisible(False)
        buttons_frame_layout.addWidget(self._accept_button)

        schema = self._item_view.item.load_schema() if self._item_view else None
        if schema:
            self._form_widget = formwidget.FormWidget(self)
            self._form_widget.setObjectName('{}Form'.format(self._item_view.__class__.__name__))
            self._form_widget.set_schema(schema)
            self._form_widget.set_validator(self.validator)
            form_frame_layout.addWidget(self._form_widget)

        self.main_layout.addWidget(title_frame)
        self.main_layout.addWidget(icon_title_frame)
        self.main_layout.addWidget(self._icon_group_frame)
        self.main_layout.addWidget(form_frame)
        self.main_layout.addStretch()
        self.main_layout.addWidget(buttons_frame)
示例#6
0
    def ui(self):
        super(BaseLoadWidget, self).ui()

        self.setWindowTitle('Load Item')

        title_frame = QFrame(self)
        title_frame_layout = layouts.VerticalLayout(spacing=0,
                                                    margins=(0, 0, 0, 0))
        title_frame.setLayout(title_frame_layout)
        title_widget = QFrame(self)
        title_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0))
        title_widget.setLayout(title_layout)
        title_buttons_layout = layouts.HorizontalLayout(spacing=0,
                                                        margins=(0, 0, 0, 0))
        title_layout.addLayout(title_buttons_layout)
        title_icon = label.BaseLabel(parent=self)
        title_button = label.BaseLabel(self.item().label(), parent=self)
        title_button.setSizePolicy(QSizePolicy.Expanding,
                                   QSizePolicy.Preferred)
        self._menu_button = buttons.BaseButton(parent=self)
        self._menu_button.setIcon(resources.icon('menu_dots'))
        title_buttons_layout.addWidget(title_icon)
        title_buttons_layout.addWidget(title_button)
        title_buttons_layout.addWidget(self._menu_button)
        title_frame_layout.addWidget(title_widget)

        item_icon_name = self.item().icon() or 'tpDcc'
        item_icon = resources.icon(item_icon_name)
        if not item_icon:
            item_icon = resources.icon('tpDcc')
        title_icon.setPixmap(item_icon.pixmap(QSize(20, 20)))

        main_frame = QFrame(self)
        main_frame_layout = layouts.VerticalLayout(spacing=0,
                                                   margins=(0, 0, 0, 0))
        main_frame.setLayout(main_frame_layout)
        icon_frame = QFrame(self)
        icon_frame_layout = layouts.VerticalLayout(spacing=0,
                                                   margins=(0, 0, 0, 0))
        icon_frame.setLayout(icon_frame_layout)
        icon_title_frame = QFrame(self)
        icon_title_frame_layout = layouts.VerticalLayout(spacing=0,
                                                         margins=(0, 0, 0, 0))
        icon_frame_layout.addWidget(icon_title_frame)
        icon_title_frame.setLayout(icon_title_frame_layout)
        icon_frame2 = QFrame(self)
        icon_frame2_layout = layouts.VerticalLayout(spacing=0,
                                                    margins=(0, 0, 0, 0))
        icon_frame2.setLayout(icon_frame2_layout)
        thumbnail_layout = layouts.HorizontalLayout(spacing=0,
                                                    margins=(0, 0, 0, 0))
        self._thumbnail_frame = QFrame(self)
        thumbnail_frame_layout = layouts.VerticalLayout(spacing=0,
                                                        margins=(0, 0, 0, 0))
        self._thumbnail_frame.setLayout(thumbnail_frame_layout)
        icon_frame_layout.addWidget(icon_frame2)
        icon_frame2_layout.addLayout(thumbnail_layout)
        thumbnail_layout.addWidget(self._thumbnail_frame)
        form_frame = QFrame(self)
        form_frame_layout = layouts.VerticalLayout(spacing=0,
                                                   margins=(0, 0, 0, 0))
        form_frame.setLayout(form_frame_layout)
        main_frame_layout.addWidget(icon_frame)
        main_frame_layout.addWidget(form_frame)

        version_frame = QFrame(self)
        version_frame_layout = layouts.VerticalLayout(spacing=0,
                                                      margins=(0, 0, 0, 0))
        version_frame.setLayout(version_frame_layout)
        self._versions_widget = version.VersionHistoryWidget(parent=self)
        version_frame_layout.addWidget(self._versions_widget)

        self._custom_widget_frame = QFrame(self)
        custom_widget_layout = layouts.VerticalLayout(spacing=0,
                                                      margins=(0, 0, 0, 0))
        self._custom_widget_frame.setLayout(custom_widget_layout)

        self._preview_buttons_frame = QFrame(self)
        preview_buttons_layout = layouts.HorizontalLayout(spacing=2,
                                                          margins=(0, 0, 0, 0))
        self._preview_buttons_frame.setLayout(preview_buttons_layout)
        self._accept_button = buttons.BaseButton('Load', parent=self)
        self._accept_button.setIcon(resources.icon('open'))
        preview_buttons_layout.addStretch()
        preview_buttons_layout.addWidget(self._accept_button)
        preview_buttons_layout.addStretch()

        self._export_btn = buttons.BaseButton('Export', parent=self)
        self._export_btn.setIcon(resources.icon('export'))
        self._import_btn = buttons.BaseButton('Import', parent=self)
        self._import_btn.setIcon(resources.icon('import'))
        self._reference_btn = buttons.BaseButton('Reference', parent=self)
        self._reference_btn.setIcon(resources.icon('reference'))
        for btn in [self._export_btn, self._import_btn, self._reference_btn]:
            btn.setToolTip(btn.text())
        extra_buttons_frame = QFrame(self)
        extra_buttons_layout = layouts.HorizontalLayout(spacing=2,
                                                        margins=(0, 0, 0, 0))
        extra_buttons_frame.setLayout(extra_buttons_layout)
        extra_buttons_layout.addWidget(self._export_btn)
        extra_buttons_layout.addWidget(self._import_btn)
        extra_buttons_layout.addWidget(self._reference_btn)

        group_box = group.GroupBoxWidget('Icon', icon_frame)
        group_box.set_persistent(True)
        group_box.set_checked(True)

        self._version_box = group.GroupBoxWidget('Version', version_frame)
        self._version_box.set_persistent(True)
        self._version_box.set_checked(True)

        self._sequence_widget = sequence.ImageSequenceWidget(self)
        thumbnail_frame_layout.insertWidget(0, self._sequence_widget)

        if os.path.exists(self._item_view.image_sequence_path()):
            self._sequence_widget.set_path(
                self._item_view.image_sequence_path())
        elif os.path.exists(self._item_view.thumbnail_path()):
            self._sequence_widget.set_path(self._item_view.thumbnail_path())

        self._form_widget = formwidget.FormWidget(self)
        self._form_widget.set_schema(self.item().load_schema())
        self._form_widget.set_validator(self.item().load_validator)
        form_frame_layout.addWidget(self._form_widget)

        self.main_layout.addWidget(title_frame)
        self.main_layout.addWidget(group_box)
        self.main_layout.addWidget(main_frame)
        self.main_layout.addWidget(self._version_box)
        self.main_layout.addWidget(version_frame)
        self.main_layout.addWidget(self._custom_widget_frame)
        self.main_layout.addStretch()
        self.main_layout.addWidget(dividers.Divider())
        self.main_layout.addWidget(self._preview_buttons_frame)
        self.main_layout.addWidget(extra_buttons_frame)