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)
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)
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)
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()
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)
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)
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])
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)
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)
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()
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])