def ui(self):
        super(SequencesPublisher, self).ui()

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        self._sequences_viewer = artellapipe.SequencesViewer(project=self._project)
        self._stack.addWidget(self._sequences_viewer)

        publisher_widget = QWidget()
        self._publisher_layout = QVBoxLayout()
        self._publisher_layout.setContentsMargins(0, 0, 0, 0)
        self._publisher_layout.setSpacing(2)
        publisher_widget.setLayout(self._publisher_layout)
        self._stack.addWidget(publisher_widget)

        back_icon = tpDcc.ResourcesMgr().icon('back')
        self._back_btn = QPushButton()
        self._back_btn.setIcon(back_icon)
        buttons_layout = QHBoxLayout()
        buttons_layout.setContentsMargins(0, 0, 0, 0)
        buttons_layout.setSpacing(2)
        self._publisher_layout.addLayout(buttons_layout)
        buttons_layout.addWidget(self._back_btn)
        buttons_layout.addItem(QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        self._publisher_layout.addLayout(splitters.SplitterLayout())
        options_layout = QHBoxLayout()
        options_layout.setContentsMargins(0, 0, 0, 0)
        options_layout.setSpacing(2)
        self._publisher_layout.addLayout(options_layout)
        self._upload_new_version_cbx = QCheckBox('Upload New Version')
        os.environ['{}_SEQUENCES_PUBLISHER_NEW_VERSION'.format(self._project.get_clean_name().upper())] = str(False)
        options_layout.addWidget(self._upload_new_version_cbx)
        options_layout.addItem(QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
    def ui(self):
        super(ArtellaOutlinerWidget, self).ui()

        self._toolbar = QToolBar()
        self._setup_toolbar()
        self.main_layout.addWidget(self._toolbar)

        self._main_stack = stack.SlidingStackedWidget(self)
        self.main_layout.addWidget(self._main_stack)

        self._outliner_widget = QWidget()
        self._outliner_layout = QVBoxLayout()
        self._outliner_layout.setContentsMargins(2, 2, 2, 2)
        self._outliner_layout.setSpacing(2)
        self._outliner_widget.setLayout(self._outliner_layout)

        top_layout = QHBoxLayout()
        top_layout.setContentsMargins(0, 0, 0, 0)
        top_layout.setSpacing(2)
        top_layout.setAlignment(Qt.AlignCenter)

        self._tags_menu_layout = QHBoxLayout()
        self._tags_menu_layout.setContentsMargins(0, 0, 0, 0)
        self._tags_menu_layout.setSpacing(0)
        self._tags_menu_layout.setAlignment(Qt.AlignTop)
        top_layout.addLayout(self._tags_menu_layout)

        self._tags_btn_grp = QButtonGroup(self)
        self._tags_btn_grp.setExclusive(True)

        self._outliners_stack = stack.SlidingStackedWidget()
        self._outliner_layout.addLayout(top_layout)
        self._outliner_layout.addLayout(dividers.DividerLayout())
        self._outliner_layout.addWidget(self._outliners_stack)

        self._settings_widget = ArtellaOutlinerSettings()

        self._main_stack.addWidget(self._outliner_widget)
        self._main_stack.addWidget(self._settings_widget)
Ejemplo n.º 3
0
    def _init(self):
        if not self._shot_widget:
            return

        self._buttons_widget = self._create_asset_files_buttons()

        self.main_layout.addLayout(dividers.DividerLayout())
        self.main_layout.addWidget(self._buttons_widget)
        self.main_layout.addLayout(dividers.DividerLayout())

        self._stack = stack.SlidingStackedWidget()
        self._stack.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self.main_layout.addWidget(self._stack)

        no_shots_widget = QFrame()
        no_shots_widget.setFrameShape(QFrame.StyledPanel)
        no_shots_widget.setFrameShadow(QFrame.Sunken)
        no_shots_widget.setSizePolicy(QSizePolicy.Preferred,
                                      QSizePolicy.Expanding)
        no_shots_layout = QVBoxLayout()
        no_shots_layout.setContentsMargins(0, 0, 0, 0)
        no_shots_layout.setSpacing(0)
        no_shots_widget.setLayout(no_shots_layout)
        no_shots_lbl = QLabel()
        no_items_pixmap = tpDcc.ResourcesMgr().pixmap('no_shot_selected')
        no_shots_lbl.setPixmap(no_items_pixmap)
        no_shots_lbl.setAlignment(Qt.AlignCenter)
        no_shots_layout.addItem(
            QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        no_shots_layout.addWidget(no_shots_lbl)
        no_shots_layout.addItem(
            QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))

        version_widget = QWidget()
        version_layout = QHBoxLayout()
        version_layout.setContentsMargins(2, 2, 2, 2)
        version_layout.setSpacing(2)
        version_widget.setLayout(version_layout)

        version_splitter = QSplitter(Qt.Horizontal)
        version_layout.addWidget(version_splitter)

        self._versions_tree = ShotVersionsTree()
        version_splitter.addWidget(self._versions_tree)

        version_splitter.addWidget(QPushButton('Test'))

        self._stack.addWidget(no_shots_widget)
        self._stack.addWidget(version_splitter)

        self._versions_tree.itemClicked.connect(self._on_version_item_clicked)
Ejemplo n.º 4
0
    def ui(self):
        super(AssetShadersStack, self).ui()

        export_icon = tpDcc.ResourcesMgr().icon('export')
        open_folder_icon = tpDcc.ResourcesMgr().icon('folder')

        self._export_btn = QPushButton('Shaders Exporter')
        self._export_btn.setIcon(export_icon)
        self._export_btn.setMinimumWidth(80)
        self._open_folder_btn = QPushButton('Open Shaders Folder')
        self._open_folder_btn.setIcon(open_folder_icon)
        self._open_folder_btn.setMaximumWidth(135)

        buttons_layout = QHBoxLayout()
        buttons_layout.setContentsMargins(0, 0, 0, 0)
        buttons_layout.setSpacing(10)
        buttons_layout.addWidget(self._open_folder_btn)
        buttons_layout.addWidget(self._export_btn)

        self._shaders_stack = stack.SlidingStackedWidget()

        project = self._asset_widget.asset.project
        shaders_viewer_widget = QWidget()
        self._shaders_viewer = artellapipe.ShadersViewer(
            project=project,
            shaders_path=self._asset_widget.asset.get_shaders_path())
        shaders_viewer_widget.setLayout(self._shaders_viewer)
        no_shaders_widget = QFrame()
        no_shaders_widget.setFrameShape(QFrame.StyledPanel)
        no_shaders_widget.setFrameShadow(QFrame.Sunken)
        no_shaders_layout = QVBoxLayout()
        no_shaders_layout.setContentsMargins(0, 0, 0, 0)
        no_shaders_layout.setSpacing(0)
        no_shaders_widget.setLayout(no_shaders_layout)
        no_shaders_lbl = QLabel()
        no_shaders_pixmap = tpDcc.ResourcesMgr().pixmap('no_shaders_available')
        no_shaders_lbl.setPixmap(no_shaders_pixmap)
        no_shaders_lbl.setAlignment(Qt.AlignCenter)
        no_shaders_layout.addItem(
            QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        no_shaders_layout.addWidget(no_shaders_lbl)
        no_shaders_layout.addItem(
            QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        self._shaders_exporter = shaderexporter.ShaderExporter(project=project)

        self._shaders_stack.addWidget(no_shaders_widget)
        self._shaders_stack.addWidget(shaders_viewer_widget)
        self._shaders_stack.addWidget(self._shaders_exporter)

        self.main_layout.addLayout(buttons_layout)
        self.main_layout.addWidget(self._shaders_stack)
Ejemplo n.º 5
0
    def ui(self):
        super(ArtellaLightRigManager, self).ui()

        buttons_layout = QHBoxLayout()
        buttons_layout.setContentsMargins(0, 0, 0, 0)
        buttons_layout.setSpacing(0)
        self.main_layout.addLayout(buttons_layout)

        self._open_btn = QToolButton()
        self._open_btn.setIcon(tpDcc.ResourcesMgr().icon('open'))
        self._sync_btn = QToolButton()
        self._sync_btn.setIcon(tpDcc.ResourcesMgr().icon('sync'))
        buttons_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Fixed))
        buttons_layout.addWidget(self._open_btn)
        buttons_layout.addWidget(dividers.get_horizontal_separator_widget())
        buttons_layout.addWidget(self._sync_btn)
        buttons_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Fixed))

        self.main_layout.addLayout(dividers.DividerLayout())

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        no_lights_pixmap = tpDcc.ResourcesMgr().pixmap('no_light_rigs')
        no_lights_lbl = QLabel()
        no_lights_lbl.setPixmap(no_lights_pixmap)
        no_lights_widget = QWidget()
        no_lights_layout = QHBoxLayout()
        no_lights_widget.setLayout(no_lights_layout)
        no_lights_layout.setContentsMargins(2, 2, 2, 2)
        no_lights_layout.setSpacing(2)
        no_lights_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        no_lights_layout.addWidget(no_lights_lbl)
        no_lights_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        self._stack.addWidget(no_lights_widget)

        light_rigs_widget = QWidget()
        self._light_rigs_layout = QHBoxLayout()
        light_rigs_widget.setLayout(self._light_rigs_layout)
        self._light_rigs_layout.setContentsMargins(5, 5, 5, 5)
        self._light_rigs_layout.setSpacing(5)
        self._light_rigs_layout.setAlignment(Qt.AlignCenter)
        self._stack.addWidget(light_rigs_widget)

        self._update_ui()
Ejemplo n.º 6
0
    def ui(self):
        super(StatusStack, self).ui()

        buttons_layout = QHBoxLayout()
        buttons_layout.setContentsMargins(0, 0, 0, 0)
        buttons_layout.setSpacing(10)
        buttons_group = QButtonGroup(self)
        buttons_group.setExclusive(True)

        working_icon = tpDcc.ResourcesMgr().icon('working')
        published_icon = tpDcc.ResourcesMgr().icon('box')

        self._working_btn = QPushButton('Working')
        self._working_btn.setIcon(working_icon)
        self._working_btn.setMinimumWidth(80)
        self._working_btn.setCheckable(True)
        self._published_btn = QPushButton('Published')
        self._published_btn.setIcon(published_icon)
        self._published_btn.setMinimumWidth(80)
        self._published_btn.setCheckable(True)

        buttons_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        buttons_layout.addWidget(self._working_btn)
        buttons_layout.addWidget(self._published_btn)
        buttons_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        buttons_group.addButton(self._working_btn)
        buttons_group.addButton(self._published_btn)
        self._working_btn.setChecked(True)

        self._status_stack = stack.SlidingStackedWidget()
        self._working_status_widget = WorkingShotInfo(
            shot_widget=self._shot_widget)
        self._working_status_widget.setSizePolicy(QSizePolicy.Expanding,
                                                  QSizePolicy.Expanding)
        self._published_status_widget = PublishedShotInfo(
            shot_widget=self._shot_widget)
        self._published_status_widget.setSizePolicy(QSizePolicy.Expanding,
                                                    QSizePolicy.Expanding)

        self._status_stack.addWidget(self._working_status_widget)
        self._status_stack.addWidget(self._published_status_widget)

        self.main_layout.addLayout(buttons_layout)
        self.main_layout.addWidget(self._status_stack)
    def ui(self):
        super(KitsuLoginDialog, self).ui()

        self._main_stack = stack.SlidingStackedWidget(parent=self)

        self._login_widget = self._create_login_form()
        self._kitsu_waiter = loginwidget.KitsuLoginWidget()

        self._main_stack.addWidget(self._login_widget)
        self._main_stack.addWidget(self._kitsu_waiter)

        self._lightbox = lightbox.Lightbox(self)
        self._lightbox.set_widget(self._main_stack)
        self._lightbox.show()

        self._lightbox.closed.connect(self.close)

        self.main_layout.addWidget(self._main_stack)
Ejemplo n.º 8
0
    def ui(self):
        super(PreferencesWidget, self).ui()

        self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)

        self._splitter = QSplitter()
        self._splitter.setOrientation(Qt.Horizontal)
        self._splitter.setSizePolicy(QSizePolicy.Preferred,
                                     QSizePolicy.Expanding)
        self._scroll_area = QScrollArea()
        self._scroll_area.setWidgetResizable(True)
        self._scroll_area.setSizePolicy(QSizePolicy.Expanding,
                                        QSizePolicy.Expanding)
        # self._scroll_area.setMinimumWidth(200)
        self._scroll_area_widget_contents = QWidget()
        # self._scroll_area_widget_contents.setGeometry(QRect(0, 0, 480, 595))
        self._scroll_area_layout = layouts.VerticalLayout(spacing=2,
                                                          margins=(1, 1, 1, 1))
        self._scroll_area_layout.setAlignment(Qt.AlignTop)
        self._scroll_area_widget_contents.setLayout(self._scroll_area_layout)
        self._categories_layout = layouts.VerticalLayout()
        self._stack = stack.SlidingStackedWidget()
        self._stack.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self._stack.set_vertical_mode()
        self._buttons_layout = layouts.HorizontalLayout(spacing=1,
                                                        margins=(0, 0, 0, 0))
        self._save_prefs_close_btn = buttons.BaseButton(
            'Save and Close', icon=resources.icon('save'), parent=self)
        self._close_btn = buttons.BaseButton('Close',
                                             icon=resources.icon('cancel'),
                                             parent=self)

        self._buttons_layout.addStretch()
        self._buttons_layout.addWidget(self._save_prefs_close_btn)
        self._buttons_layout.addWidget(self._close_btn)
        self._scroll_area_layout.addLayout(self._categories_layout)
        self._scroll_area.setWidget(self._scroll_area_widget_contents)
        self._splitter.addWidget(self._scroll_area)
        self._splitter.addWidget(self._stack)
        self._splitter.setSizes([150, 450])

        self.main_layout.addWidget(self._splitter)
        self.main_layout.addWidget(dividers.Divider(parent=self))
        self.main_layout.addLayout(self._buttons_layout)
Ejemplo n.º 9
0
    def ui(self):
        super(ArtellaAssetShadersViewer, self).ui()

        shader_splitter = QSplitter(Qt.Horizontal)
        shader_splitter.setSizePolicy(QSizePolicy.Expanding,
                                      QSizePolicy.Expanding)
        self.main_layout.addWidget(shader_splitter)

        self._assets_viewer = assetswidget.AssetsWidget(project=self._project,
                                                        column_count=2,
                                                        parent=self)
        self._assets_viewer.setSizePolicy(QSizePolicy.Expanding,
                                          QSizePolicy.Expanding)

        self._stack = stack.SlidingStackedWidget()

        no_items_widget = QFrame()
        no_items_widget.setFrameShape(QFrame.StyledPanel)
        no_items_widget.setFrameShadow(QFrame.Sunken)
        no_items_layout = QVBoxLayout()
        no_items_layout.setContentsMargins(0, 0, 0, 0)
        no_items_layout.setSpacing(0)
        no_items_widget.setLayout(no_items_layout)
        no_items_lbl = QLabel()
        no_items_pixmap = tpDcc.ResourcesMgr().pixmap('no_asset_selected')
        no_items_lbl.setPixmap(no_items_pixmap)
        no_items_lbl.setAlignment(Qt.AlignCenter)
        no_items_layout.addItem(
            QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        no_items_layout.addWidget(no_items_lbl)
        no_items_layout.addItem(
            QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        self._asset_shaders_layout = QVBoxLayout()
        self._asset_shaders_layout.setContentsMargins(0, 0, 0, 0)
        self._asset_shaders_layout.setSpacing(0)
        self._assets_shaders_widget = QWidget()
        self._assets_shaders_widget.setLayout(self._asset_shaders_layout)
        self._stack.addWidget(no_items_widget)
        self._stack.addWidget(self._assets_shaders_widget)

        shader_splitter.addWidget(self._assets_viewer)
        shader_splitter.addWidget(self._stack)
        shader_splitter.setSizes([1, 2])
Ejemplo n.º 10
0
    def ui(self):
        super(ArtellaBugTracker, self).ui()

        top_layout = QGridLayout()
        type_lbl = QLabel('Type')
        self._types_combo = QComboBox()
        self._types_combo.setSizePolicy(QSizePolicy.Expanding,
                                        QSizePolicy.Preferred)
        tool_lbl = QLabel('Tool: ')
        self._tools_combo = QComboBox()
        self._tools_combo.setSizePolicy(QSizePolicy.Expanding,
                                        QSizePolicy.Preferred)
        department_lbl = QLabel('Department: ')
        self._departments_combo = QComboBox()
        self._departments_combo.setSizePolicy(QSizePolicy.Expanding,
                                              QSizePolicy.Preferred)

        top_layout.setColumnStretch(1, 1)
        top_layout.addWidget(type_lbl, 0, 0)
        top_layout.addWidget(self._types_combo, 0, 1)
        top_layout.addWidget(tool_lbl, 1, 0)
        top_layout.addWidget(self._tools_combo, 1, 1)
        top_layout.addWidget(department_lbl, 2, 0)
        top_layout.addWidget(self._departments_combo, 2, 1)

        self._stack = stack.SlidingStackedWidget()
        self._stack.set_vertical_mode()

        self._bug_widget = BugWidget(main=self,
                                     project=self._project,
                                     traceback=self._trace)
        self._request_widget = RequestWidget(main=self, project=self._project)
        self._stack.addWidget(self._bug_widget)
        self._stack.addWidget(self._request_widget)

        self.main_layout.addLayout(top_layout)
        self.main_layout.addWidget(self._stack)

        self._fill_combos()
    def ui(self):
        super(AlembicManagerView, self).ui()

        export_icon = resources.icon('export')
        import_icon = resources.icon('import')

        buttons_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2))
        self.main_layout.addLayout(buttons_layout)
        self.main_layout.addLayout(dividers.DividerLayout())

        self._exporter_btn = buttons.BaseButton('Exporter', parent=self)
        self._exporter_btn.setIcon(export_icon)
        self._exporter_btn.setMinimumWidth(80)
        self._exporter_btn.setCheckable(True)
        self._importer_btn = buttons.BaseButton('Importer', parent=self)
        self._importer_btn.setIcon(import_icon)
        self._importer_btn.setMinimumWidth(80)
        self._importer_btn.setCheckable(True)
        buttons_layout.addStretch()
        buttons_layout.addWidget(self._exporter_btn)
        buttons_layout.addWidget(self._importer_btn)
        self._importer_btn.setCheckable(True)

        self._buttons_grp = QButtonGroup(self)
        self._buttons_grp.setExclusive(True)
        self._buttons_grp.addButton(self._exporter_btn)
        self._buttons_grp.addButton(self._importer_btn)
        self._exporter_btn.setChecked(True)

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        self._alembic_exporter = exporter.AlembicExporter(project=self.project)
        self._alembic_importer = importer.AlembicImporter(project=self.project)

        self._stack.addWidget(self._alembic_exporter)
        self._stack.addWidget(self._alembic_importer)
    def ui(self):
        super(ArtellaAssetsLibraryWidget, self).ui()

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        no_assets_widget = QWidget()
        no_assets_layout = QVBoxLayout()
        no_assets_layout.setContentsMargins(2, 2, 2, 2)
        no_assets_layout.setSpacing(2)
        no_assets_widget.setLayout(no_assets_layout)
        no_assets_frame = QFrame()
        no_assets_frame.setFrameShape(QFrame.StyledPanel)
        no_assets_frame.setFrameShadow(QFrame.Sunken)
        no_assets_frame_layout = QHBoxLayout()
        no_assets_frame_layout.setContentsMargins(2, 2, 2, 2)
        no_assets_frame_layout.setSpacing(2)
        no_assets_frame.setLayout(no_assets_frame_layout)
        no_assets_layout.addWidget(no_assets_frame)
        no_assets_found_label = QLabel()
        no_assets_found_pixmap = tp.ResourcesMgr().pixmap('no_assets_found')
        no_assets_found_label.setPixmap(no_assets_found_pixmap)
        no_assets_frame_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        no_assets_frame_layout.addWidget(no_assets_found_label)
        no_assets_frame_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))

        loading_waiter = waiter.ArtellaWaiter()

        viewer_widget = QWidget()
        viewer_layout = QVBoxLayout()
        viewer_layout.setContentsMargins(2, 2, 2, 2)
        viewer_layout.setSpacing(2)
        viewer_widget.setLayout(viewer_layout)

        self._stack.addWidget(no_assets_widget)
        self._stack.addWidget(viewer_widget)
        self._stack.addWidget(loading_waiter)

        self._search = search.SearchFindWidget()
        self._assets_viewer = assetsviewer.AssetsViewer(project=self._project,
                                                        column_count=2,
                                                        parent=self)
        self._assets_viewer.setSizePolicy(QSizePolicy.Expanding,
                                          QSizePolicy.Expanding)

        self._top_layout = QHBoxLayout()
        self._top_layout.setContentsMargins(0, 0, 0, 0)
        self._top_layout.setSpacing(2)
        self._top_layout.setAlignment(Qt.AlignCenter)
        viewer_layout.addLayout(self._top_layout)

        self._categories_menu_layout = QHBoxLayout()
        self._categories_menu_layout.setContentsMargins(0, 0, 0, 0)
        self._categories_menu_layout.setSpacing(5)
        self._categories_menu_layout.setAlignment(Qt.AlignTop)
        self._top_layout.addLayout(self._categories_menu_layout)

        self._categories_btn_grp = QButtonGroup(self)
        self._categories_btn_grp.setExclusive(True)

        viewer_layout.addWidget(self._search)
        viewer_layout.addWidget(dividers.Divider())
        viewer_layout.addWidget(self._assets_viewer)

        self._supported_types_layout = QHBoxLayout()
        self._supported_types_layout.setContentsMargins(2, 2, 2, 2)
        self._supported_types_layout.setSpacing(2)
        self._supported_types_layout.setAlignment(Qt.AlignTop)
        viewer_layout.addLayout(self._supported_types_layout)

        self._supported_types_btn_grp = QButtonGroup(self)
        self._supported_types_btn_grp.setExclusive(True)

        self._sync_to_latest = QCheckBox('Sync to Latest Version')
        self._sync_to_latest.setChecked(True)
        self._fit_camera_cbx = QCheckBox('Fit Camera')
        self._fit_camera_cbx.setChecked(False)
        viewer_layout.addLayout(dividers.DividerLayout())
        checkboxes_layout = QHBoxLayout()
        checkboxes_layout.setContentsMargins(5, 5, 5, 5)
        checkboxes_layout.setSpacing(2)
        viewer_layout.addLayout(checkboxes_layout)
        checkboxes_layout.addWidget(self._sync_to_latest)
        checkboxes_layout.addWidget(self._fit_camera_cbx)
        checkboxes_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        viewer_layout.addLayout(dividers.DividerLayout())
    def ui(self):
        super(ArtellaAssetsManager, self).ui()

        # Create Top Menu Bar
        self._menu_bar = self._setup_menubar()
        if not self._menu_bar:
            self._menu_bar = QMenuBar(self)
        self.main_layout.addWidget(self._menu_bar)
        sep = QFrame()
        sep.setFrameShape(QFrame.HLine)
        sep.setFrameShadow(QFrame.Raised)
        self.main_layout.addWidget(sep)

        self._main_stack = stack.SlidingStackedWidget(parent=self)
        self._attrs_stack = stack.SlidingStackedWidget(parent=self)
        self._shots_stack = stack.SlidingStackedWidget(parent=self)

        no_items_widget = QFrame()
        no_items_widget.setFrameShape(QFrame.StyledPanel)
        no_items_widget.setFrameShadow(QFrame.Sunken)
        no_items_layout = QVBoxLayout()
        no_items_layout.setContentsMargins(0, 0, 0, 0)
        no_items_layout.setSpacing(0)
        no_items_widget.setLayout(no_items_layout)
        no_items_lbl = QLabel()
        no_items_pixmap = tpDcc.ResourcesMgr().pixmap('no_asset_selected')
        no_items_lbl.setPixmap(no_items_pixmap)
        no_items_lbl.setAlignment(Qt.AlignCenter)
        no_items_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        no_items_layout.addWidget(no_items_lbl)
        no_items_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))

        no_shot_selected_widget = QFrame()
        no_shot_selected_widget.setFrameShape(QFrame.StyledPanel)
        no_shot_selected_widget.setFrameShadow(QFrame.Sunken)
        no_shot_selected_layout = QVBoxLayout()
        no_shot_selected_layout.setContentsMargins(0, 0, 0, 0)
        no_shot_selected_layout.setSpacing(0)
        no_shot_selected_widget.setLayout(no_shot_selected_layout)
        no_shot_selected_lbl = QLabel()
        no_sequence_selected_pixmap = tpDcc.ResourcesMgr().pixmap('no_shot_selected')
        no_shot_selected_lbl.setPixmap(no_sequence_selected_pixmap)
        no_shot_selected_lbl.setAlignment(Qt.AlignCenter)
        no_shot_selected_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        no_shot_selected_layout.addWidget(no_shot_selected_lbl)
        no_shot_selected_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))

        no_assets_widget = QWidget()
        no_assets_layout = QVBoxLayout()
        no_assets_layout.setContentsMargins(2, 2, 2, 2)
        no_assets_layout.setSpacing(2)
        no_assets_widget.setLayout(no_assets_layout)
        no_assets_frame = QFrame()
        no_assets_frame.setFrameShape(QFrame.StyledPanel)
        no_assets_frame.setFrameShadow(QFrame.Sunken)
        no_assets_frame_layout = QHBoxLayout()
        no_assets_frame_layout.setContentsMargins(2, 2, 2, 2)
        no_assets_frame_layout.setSpacing(2)
        no_assets_frame.setLayout(no_assets_frame_layout)
        no_assets_layout.addWidget(no_assets_frame)
        no_assets_found_label = QLabel()
        no_assets_found_pixmap = tpDcc.ResourcesMgr().pixmap('no_assets_found')
        no_assets_found_label.setPixmap(no_assets_found_pixmap)
        no_assets_frame_layout.addItem(QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        no_assets_frame_layout.addWidget(no_assets_found_label)
        no_assets_frame_layout.addItem(QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))

        self._waiter = waiter.ArtellaWaiter()

        self._user_info_layout = QVBoxLayout()
        self._user_info_layout.setContentsMargins(0, 0, 0, 0)
        self._user_info_layout.setSpacing(0)
        self._user_info_widget = QWidget()
        self._user_info_widget.setLayout(self._user_info_layout)

        self._shots_info_layout = QVBoxLayout()
        self._shots_info_layout.setContentsMargins(0, 0, 0, 0)
        self._shots_info_layout.setSpacing(0)
        self._shots_info_widget = QWidget()
        self._shots_info_widget.setLayout(self._shots_info_layout)

        self._tab_widget = tabs.TearOffTabWidget()
        self._tab_widget.setTabsClosable(False)
        self._tab_widget.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        self._tab_widget.setMinimumHeight(330)

        self._assets_widget = self.ASSET_WIDGET_CLASS(project=self._project, show_viewer_menu=True)
        self._shots_widget = self.SHOTS_WIDGET_CLASS(project=self._project)
        self._settings_widget = AssetsManagerSettingsWidget(settings=self.settings)

        assets_widget = QWidget()
        assets_layout = QVBoxLayout()
        assets_layout.setContentsMargins(0, 0, 0, 0)
        assets_layout.setSpacing(0)
        assets_widget.setLayout(assets_layout)

        shots_widget = QWidget()
        shots_layout = QVBoxLayout()
        shots_layout.setContentsMargins(0, 0, 0, 0)
        shots_layout.setSpacing(0)
        shots_widget.setLayout(shots_layout)

        self.main_layout.addWidget(self._main_stack)

        self._main_stack.addWidget(no_assets_widget)
        self._main_stack.addWidget(self._tab_widget)
        self._main_stack.addWidget(self._settings_widget)

        self._attrs_stack.addWidget(no_items_widget)
        self._attrs_stack.addWidget(self._waiter)
        self._attrs_stack.addWidget(self._user_info_widget)

        self._shots_stack.addWidget(no_shot_selected_widget)
        self._shots_stack.addWidget(self._shots_info_widget)

        assets_splitter = QSplitter(Qt.Horizontal)
        assets_splitter.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        assets_splitter.addWidget(self._assets_widget)
        assets_splitter.addWidget(self._attrs_stack)

        shots_splitter = QSplitter(Qt.Horizontal)
        shots_splitter.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        shots_splitter.addWidget(self._shots_widget)
        shots_splitter.addWidget(self._shots_stack)

        self._tab_widget.addTab(assets_splitter, 'Assets')
        self._tab_widget.addTab(shots_splitter, 'Sequences | Shots')

        if not artellapipe.Tracker().needs_login():
            self._main_stack.slide_in_index(1)
Ejemplo n.º 14
0
    def ui(self):
        super(ArtellaTaggerWidget, self).ui()

        self.resize(300, 300)

        self._error_pixmap = tp.ResourcesMgr().pixmap('error',
                                                      category='icons').scaled(
                                                          QSize(24, 24))
        self._warning_pixmap = tp.ResourcesMgr().pixmap(
            'warning', category='icons').scaled(QSize(24, 24))
        self._ok_pixmap = tp.ResourcesMgr().pixmap('ok',
                                                   category='icons').scaled(
                                                       QSize(24, 24))

        top_layout = QHBoxLayout()
        top_layout.setContentsMargins(2, 2, 2, 2)
        top_layout.setSpacing(5)
        self.main_layout.addLayout(top_layout)
        select_tag_data_btn = QPushButton('Select Tag Data')
        select_tag_data_btn.setMinimumWidth(125)
        select_tag_data_btn.setIcon(tp.ResourcesMgr().icon('tag'))
        remove_tag_data_btn = QPushButton('Remove Tag Data')
        remove_tag_data_btn.setMinimumWidth(125)
        remove_tag_data_btn.setIcon(tp.ResourcesMgr().icon('tag_remove'))
        top_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))
        # export_tag_data_btn = QPushButton('Export Tag Data')
        # export_tag_data_btn.setEnabled(False)
        # import_tag_data_btn = QPushButton('Import Tag Data')
        # import_tag_data_btn.setEnabled(False)
        top_layout.addWidget(select_tag_data_btn)
        top_layout.addWidget(remove_tag_data_btn)
        # top_layout.addWidget(export_tag_data_btn)
        # top_layout.addWidget(import_tag_data_btn)
        top_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Expanding, QSizePolicy.Preferred))

        self.main_layout.addLayout(dividers.DividerLayout())

        # ======================================================================================

        breadcrumb_layout = QHBoxLayout()
        breadcrumb_layout.setContentsMargins(2, 2, 2, 2)
        breadcrumb_layout.setSpacing(2)
        self._breadcrumb = breadcrumb.BreadcrumbFrame()
        self._curr_info_image = QLabel()
        self._curr_info_image.setAlignment(Qt.AlignCenter)
        self._curr_info_image.setPixmap(self._error_pixmap)
        breadcrumb_layout.addWidget(self._curr_info_image)
        breadcrumb_layout.addWidget(self._breadcrumb)
        self.main_layout.addLayout(breadcrumb_layout)

        # ======================================================================================

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        # ======================================================================================

        self._tagger_info = taggerinfo.TaggerInfoWidget()
        self._tagger_info.setSizePolicy(QSizePolicy.Expanding,
                                        QSizePolicy.Expanding)
        self._stack.addWidget(self._tagger_info)

        # ======================================================================================

        editors_widget = QWidget()
        editors_layout = QVBoxLayout()
        editors_layout.setContentsMargins(2, 2, 2, 2)
        editors_layout.setSpacing(2)
        editors_widget.setLayout(editors_layout)

        self._tag_types_menu_layout = QHBoxLayout()
        self._tag_types_menu_layout.setContentsMargins(0, 0, 0, 0)
        self._tag_types_menu_layout.setSpacing(0)
        self._tag_types_menu_layout.setAlignment(Qt.AlignTop)
        editors_layout.addLayout(self._tag_types_menu_layout)
        self._tag_types_btn_grp = QButtonGroup(self)
        self._tag_types_btn_grp.setExclusive(True)
        editors_layout.addLayout(self._tag_types_menu_layout)
        self._editors_stack = stack.SlidingStackedWidget()
        editors_layout.addWidget(self._editors_stack)

        self._stack.addWidget(editors_widget)

        # ================================================================================

        self._tagger_info.createTagNode.connect(
            self._on_create_new_tag_data_node_for_current_selection)
        select_tag_data_btn.clicked.connect(
            artellapipe.TagsMgr().select_tag_data_node)
        remove_tag_data_btn.clicked.connect(self._on_remove_tag_data_node)
Ejemplo n.º 15
0
    def ui(self):
        super(BaseAlembicExporter, self).ui()

        self._stack = stack.SlidingStackedWidget()
        self.main_layout.addWidget(self._stack)

        exporter_widget = QWidget()
        exporter_layout = layouts.VerticalLayout(spacing=0,
                                                 margins=(0, 0, 0, 0))
        exporter_widget.setLayout(exporter_layout)
        self._stack.addWidget(exporter_widget)

        self._waiter = waiter.ArtellaWaiter(
            spinner_type=spinner.SpinnerType.Thumb)
        self._stack.addWidget(self._waiter)

        buttons_layout = layouts.GridLayout()
        exporter_layout.addLayout(buttons_layout)

        name_lbl = label.BaseLabel('Alembic Name: ', parent=self)
        self._name_line = lineedit.BaseLineEdit(parent=self)
        buttons_layout.addWidget(name_lbl, 0, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(self._name_line, 0, 1)

        shot_name_lbl = label.BaseLabel('Shot Name: ', parent=self)
        self._shot_line = lineedit.BaseLineEdit(parent=self)
        buttons_layout.addWidget(shot_name_lbl, 1, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(self._shot_line, 1, 1)

        frame_range_lbl = label.BaseLabel('Frame Range: ', parent=self)
        self._start = spinbox.BaseSpinBox(parent=self)
        self._start.setRange(-sys.maxint, sys.maxint)
        self._start.setFixedHeight(20)
        self._start.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        self._end = spinbox.BaseSpinBox(parent=self)
        self._end.setRange(-sys.maxint, sys.maxint)
        self._end.setFixedHeight(20)
        self._end.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
        frame_range_widget = QWidget()
        frame_range_layout = layouts.HorizontalLayout(spacing=2,
                                                      margins=(2, 2, 2, 2))
        frame_range_widget.setLayout(frame_range_layout)
        for widget in [frame_range_lbl, self._start, self._end]:
            frame_range_layout.addWidget(widget)
        buttons_layout.addWidget(frame_range_lbl, 2, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(frame_range_widget, 2, 1)

        folder_icon = resources.icon('folder')
        export_path_layout = layouts.HorizontalLayout(spacing=2,
                                                      margins=(2, 2, 2, 2))
        export_path_widget = QWidget()
        export_path_widget.setLayout(export_path_layout)
        export_path_lbl = label.BaseLabel('Export Path: ', parent=self)
        self._export_path_line = lineedit.BaseLineEdit(parent=self)
        self._export_path_line.setReadOnly(True)
        self._export_path_line.setText(self._project.get_path())
        self._export_path_btn = buttons.BaseButton(parent=self)
        self._export_path_btn.setIcon(folder_icon)
        self._export_path_btn.setIconSize(QSize(18, 18))
        self._export_path_btn.setStyleSheet(
            "background-color: rgba(255, 255, 255, 0); border: 0px solid rgba(255,255,255,0);"
        )
        export_path_layout.addWidget(self._export_path_line)
        export_path_layout.addWidget(self._export_path_btn)
        buttons_layout.addWidget(export_path_lbl, 3, 0, 1, 1, Qt.AlignRight)
        buttons_layout.addWidget(export_path_widget, 3, 1)

        exporter_layout.addLayout(dividers.DividerLayout())

        checkboxes_layout = layouts.VerticalLayout(spacing=2,
                                                   margins=(2, 2, 2, 2))
        exporter_layout.addLayout(checkboxes_layout)

        self._open_folder_after_export_cbx = checkbox.BaseCheckBox(
            'Open Folder After Export?', parent=self)
        self._open_folder_after_export_cbx.setChecked(True)
        checkboxes_layout.addWidget(self._open_folder_after_export_cbx)
        self._export_all_alembics_together_cbx = checkbox.BaseCheckBox(
            'Export All Selected Geometry in One Alembic?', parent=self)
        self._export_all_alembics_together_cbx.setChecked(True)
        checkboxes_layout.addWidget(self._export_all_alembics_together_cbx)

        exporter_layout.addLayout(dividers.DividerLayout())

        self._export_btn = buttons.BaseButton('Export', parent=self)
        self._export_btn.setIcon(resources.icon('export'))
        self._export_btn.setEnabled(False)
        self.main_layout.addWidget(self._export_btn)

        exporter_layout.addStretch()

        self.refresh()
Ejemplo n.º 16
0
    def ui(self):
        super(RenamerView, self).ui()

        top_layout = layouts.HorizontalLayout(spacing=2, margins=(2, 2, 2, 2))
        top_layout.setAlignment(Qt.AlignLeft)
        self._buttons_grp = QButtonGroup(self)
        self._buttons_grp.setExclusive(True)
        self.main_layout.addLayout(top_layout)
        self.main_layout.addLayout(dividers.DividerLayout())

        self._categories_layout = layouts.HorizontalLayout(spacing=2,
                                                           margins=(2, 2, 2,
                                                                    2))
        self._categories_layout.setAlignment(Qt.AlignLeft)

        selection_layout = layouts.HorizontalLayout(spacing=2,
                                                    margins=(4, 0, 4, 0))
        top_layout.addLayout(selection_layout)

        self._all_radio = buttons.BaseRadioButton('All', parent=self)
        self._all_radio.setFixedHeight(19)
        self._all_radio.setAutoExclusive(True)
        self._selected_radio = buttons.BaseRadioButton('Selected', parent=self)
        self._selected_radio.setFixedHeight(19)
        self._selected_radio.setChecked(True)
        self._selected_radio.setAutoExclusive(True)
        self._hierarchy_cbx = checkbox.BaseCheckBox('Hierarchy', parent=self)
        self._hierarchy_cbx.setFixedHeight(19)
        self._node_types_combo = combobox.BaseComboBox(parent=self)
        self._auto_rename_shapes_cbx = None
        self._auto_rename_shapes_cbx = checkbox.BaseCheckBox(
            'Auto Rename Shapes', parent=self)
        self._auto_rename_shapes_cbx.setChecked(True)
        if not dcc.client().is_maya():
            self._auto_rename_shapes_cbx.setVisible(False)

        selection_layout.addWidget(self._selected_radio)
        selection_layout.addWidget(self._all_radio)
        selection_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed))
        selection_layout.addWidget(self._hierarchy_cbx)
        selection_layout.addItem(
            QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed))
        selection_layout.addWidget(self._node_types_combo)
        if self._auto_rename_shapes_cbx:
            selection_layout.addItem(
                QSpacerItem(10, 0, QSizePolicy.Fixed, QSizePolicy.Fixed))
            selection_layout.addWidget(self._auto_rename_shapes_cbx)

        self._splitter = splitter.CollapsibleSplitter(parent=self)
        self._splitter.setOrientation(Qt.Horizontal)
        self._splitter.setSizePolicy(QSizePolicy.Minimum,
                                     QSizePolicy.Expanding)
        self._splitter.setMinimumHeight(750)
        self.main_layout.addWidget(self._splitter)

        self._rename_tab = tabs.BaseTabWidget(parent=self)
        self._splitter.addWidget(self._rename_tab)

        self._manual_rename_widget = manualrenamewidget.ManualRenameWidget(
            model=self._model, controller=self._controller, parent=self)
        self._auto_rename_widget = autorenamewidget.AutoRenameWidget(
            model=self._model, controller=self._controller, parent=self)

        self._rename_tab.addTab(self._manual_rename_widget, 'Manual')
        self._rename_tab.addTab(self._auto_rename_widget, 'Auto')

        self._stack = stack.SlidingStackedWidget()
        # splitter_right_widget = QWidget()
        # splitter_right_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0))
        # splitter_right_layout.addLayout(self._categories_layout)
        # splitter_right_layout.addWidget(self._stack)
        # splitter_right_widget.setLayout(splitter_right_layout)
        # self._splitter.addWidget(splitter_right_widget)
        #
        # no_items_widget = QFrame()
        # no_items_widget.setFrameShape(QFrame.StyledPanel)
        # no_items_widget.setFrameShadow(QFrame.Sunken)
        # no_items_widget.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Expanding)
        # no_items_layout = layouts.VerticalLayout(spacing=0, margins=(0, 0, 0, 0))
        # no_items_widget.setLayout(no_items_layout)
        # no_items_lbl = label.BaseLabel()
        # no_items_pixmap = tp.ResourcesMgr().pixmap('no_items')
        # no_items_lbl.setPixmap(no_items_pixmap)
        # no_items_lbl.setAlignment(Qt.AlignCenter)
        # no_items_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        # no_items_layout.addWidget(no_items_lbl)
        # no_items_layout.addItem(QSpacerItem(0, 10, QSizePolicy.Preferred, QSizePolicy.Expanding))
        #
        # self._stack.addWidget(no_items_widget)

        self._splitter.handle(0).collapse()
        self._splitter.setSizes([1, 0])