def setupUI(self): self.setMinimumSize(self._widget_size) self.setMaximumSize(self._widget_size) layout = QtWidgets.QVBoxLayout(self) layout.setContentsMargins(0, 0, 0, 0) layout.setSpacing(0) self._snapshot_frame = QtWidgets.QFrame(self) self._snapshot_frame.setMinimumSize(self._widget_size) self._snapshot_frame.setMaximumSize(self._widget_size) self._stackLayout = QtWidgets.QStackedLayout() self._stackLayout.setContentsMargins(0, 0, 0, 0) layout_images = QtWidgets.QHBoxLayout(self._snapshot_frame) layout_images.setContentsMargins(0, 0, 0, 0) layout_images.addLayout(self._stackLayout) self._viewer_view = SnapshotsView("Viewer", self._snapshot_frame) self._stackLayout.addWidget(self._viewer_view) self._dag_view = SnapshotsView("DAG", self._snapshot_frame) self._stackLayout.addWidget(self._dag_view) self._no_snapshot = QtWidgets.QFrame(self._snapshot_frame) self._no_snapshot.setStyleSheet( "QFrame{/*background: #000;*/ border:0px;}") layout_no_snapshot = QtWidgets.QHBoxLayout(self._no_snapshot) label_no_snapshot = QtWidgets.QLabel( "No snapshot available...", self._no_snapshot) label_no_snapshot.setStyleSheet("color:#855") label_no_snapshot.setAlignment( QtCore.Qt.AlignCenter | QtCore.Qt.AlignVCenter) layout_no_snapshot.addWidget(label_no_snapshot) self._stackLayout.addWidget(self._no_snapshot) self._edit_buttons = SnapshotsEditButtons( False, False, self._snapshot_frame) self._edit_buttons.refresh_toggled.connect(self.initiate_snapshots) self._edit_buttons.zoom_level_toggled.connect(self.zoom_level) self._edit_buttons.handscroll_mode_toggled.connect( self.set_handscroll_mode) self._edit_buttons.drawing_mode_toggled.connect(self.set_drawing_mode) self._edit_buttons.eraser_toggled.connect(self.erase_drawing) self._edit_buttons.color_modified.connect(self.set_pen_color) self.target_button_container = QtWidgets.QWidget(self) self.target_button_container_layout = QtWidgets.QHBoxLayout() self.target_button_container.setLayout(self.target_button_container_layout) self._viewer_btn = QtWidgets.QPushButton("Use Active Viewer", self) self._viewer_btn.setObjectName("Viewer_btn") self._viewer_btn.clicked.connect(self.chooseSource) self._dag_btn = QtWidgets.QPushButton("Use Node Graph", self) self._dag_btn.setObjectName("DAG_btn") self._dag_btn.clicked.connect(self.chooseSource) self.target_button_container_layout.addWidget(self._viewer_btn) self.target_button_container_layout.addWidget(self._dag_btn) layout.addWidget(self._snapshot_frame) layout.addWidget(self.target_button_container)
def setupUI(self): css_settings_global = """ QFrame { border: none; color: #FFF; } QCheckBox { color: #DDD; padding: 0px; background: none; } /*QComboBox { color: #DDD; padding: 2px; background: #333; }*/ QComboBox::drop-down { border-radius: 0px; } QToolButton { color: #DDD; padding: 0px; background: #333; } """ self.setStyleSheet(css_settings_global) main_layout = QtWidgets.QVBoxLayout(self) main_layout.setContentsMargins(0, 0, 0, 0) main_layout.setSpacing(5) settings_frame = QtWidgets.QFrame(self) layout_settings = QtWidgets.QHBoxLayout(settings_frame) layout_settings.setContentsMargins(0, 0, 0, 0) layout_settings.setSpacing(6) asset_types = ["All Asset Types"] + ['comp'] self._asset_connectors_cbbox = QtWidgets.QComboBox(self) self._asset_connectors_cbbox.addItems(asset_types) self._asset_connectors_cbbox.currentIndexChanged.connect( self._update_tree) self._asset_connectors_cbbox.setMaximumHeight(23) self._asset_connectors_cbbox.setMinimumWidth(100) self._asset_connectors_cbbox.setSizeAdjustPolicy( QtWidgets.QComboBox.AdjustToContents) self._refresh_btn = QtWidgets.QPushButton(self) self._refresh_btn.setText("refresh") self._refresh_btn.clicked.connect(self.initiate_assets_tree) spacer = QtWidgets.QSpacerItem(0, 0, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) layout_settings.addWidget(self._asset_connectors_cbbox) layout_settings.addItem(spacer) layout_settings.addWidget(self._refresh_btn) main_layout.addWidget(settings_frame) self.assets_tree = AssetsTree(self) main_layout.addWidget(self.assets_tree)
def setupUI(self): main_layout = QtWidgets.QVBoxLayout(self) main_layout.setContentsMargins(0, 0, 0, 0) main_layout.setSpacing(0) self._script_editor_tree = ScriptEditorTreeView(self) self._script_editor_tree.setSelectionMode( QtWidgets.QAbstractItemView.NoSelection) self._script_editor_tree.setIndentation(20) self._script_editor_tree.setAnimated(True) self._script_editor_tree.setHeaderHidden(True) self._script_editor_tree.setExpandsOnDoubleClick(True) self._script_editor_tree.file_dropped.connect(self._emit_dropped_file) main_layout.addWidget(self._script_editor_tree) self._option_frame = QtWidgets.QFrame(self) option_layout = QtWidgets.QHBoxLayout(self._option_frame) option_layout.setContentsMargins(0, 8, 0, 8) option_layout.setSpacing(8) # filter_lbl = QtGui.QLabel("Filter", self._option_frame) css_filter = """ QLineEdit { border: 1px solid #666; background: #555; color: #000; } """ self._filter_edit = QtWidgets.QLineEdit(self._option_frame) self._filter_edit.setMaximumHeight(20) # self._filter_edit.setStyleSheet(css_filter) self._filter_edit.textChanged.connect(self._set_filter) self._previous_occurence = QtWidgets.QPushButton( 'previous', self._option_frame) # self._previous_occurence.setArrowType(QtCore.Qt.LeftArrow) # self._previous_occurence.setMaximumWidth(20) # self._previous_occurence.setMaximumHeight(20) self._next_occurence = QtWidgets.QPushButton('next', self._option_frame) # self._next_occurence.setArrowType(QtCore.Qt.RightArrow) # self._next_occurence.setMaximumWidth(20) # self._next_occurence.setMaximumHeight(20) spacer = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self._collapse_all_btn = QtWidgets.QPushButton("Collapse All", self._option_frame) self._collapse_all_btn.setMaximumHeight(20) # self._collapse_all_btn.setStyleSheet(css_btn) self._collapse_all_btn.clicked.connect( self._script_editor_tree.collapseAll) self._expand_all_btn = QtWidgets.QPushButton("Expand All", self._option_frame) self._expand_all_btn.setMaximumHeight(20) # self._expand_all_btn.setStyleSheet(css_btn) self._expand_all_btn.clicked.connect( self._script_editor_tree.expandAll) option_layout.addWidget(self._filter_edit) option_layout.addWidget(self._previous_occurence) option_layout.addWidget(self._next_occurence) option_layout.addItem(spacer) option_layout.addWidget(self._collapse_all_btn) option_layout.addWidget(self._expand_all_btn) main_layout.addWidget(self._option_frame)
def setupUI(self): super(GizmoPublisherDialog, self).setupUI() self.resize(980, 640) gizmo_widget = QtWidgets.QWidget() gizmo_layout = QtWidgets.QVBoxLayout(gizmo_widget) gizmo_layout.setContentsMargins(5, 0, 0, 0) css_asset_global = """ QFrame { padding: 3px; background: #222; color: #FFF; font-size: 13px; } QLabel { padding: 0px; background: none; } """ css_asset_name = """ QLineEdit { padding: 3px; border: 1px solid #444; background: #333; color: #FFF; font-weight: bold; } """ css_asset_version = "color: #de8888; font-weight: bold;" asset_main_frame = QtWidgets.QFrame(self) asset_main_frame.setMinimumWidth(600) # comment this line to remove the black background on asset. asset_main_frame.setStyleSheet(css_asset_global) asset_main_frame_layout = QtWidgets.QHBoxLayout(asset_main_frame) asset_main_frame_layout.setSpacing(10) asset_name_lbl = QtWidgets.QLabel("Asset", asset_main_frame) self._asset_name = QtWidgets.QLineEdit(asset_main_frame) self._asset_name.setText("Gizmo") self._asset_name.textChanged.connect(self._validate_asset_name) self._asset_name.setStyleSheet(css_asset_name) asset_version_lbl = QtWidgets.QLabel("Version", asset_main_frame) self._asset_version = QtWidgets.QLabel("...", asset_main_frame) self._asset_version.setStyleSheet(css_asset_version) asset_main_frame_layout.addWidget(asset_name_lbl) asset_main_frame_layout.addWidget(self._asset_name) asset_main_frame_layout.addWidget(asset_version_lbl) asset_main_frame_layout.addWidget(self._asset_version) gizmo_layout.addWidget(asset_main_frame) file_layout = QtWidgets.QVBoxLayout() file_layout.setContentsMargins(0, 0, 0, 0) file_layout.setSpacing(8) browser_layout = QtWidgets.QHBoxLayout() browser_layout.setContentsMargins(0, 0, 0, 0) browser_layout.setSpacing(8) browser_label = QtWidgets.QLabel("Gizmo file", gizmo_widget) browser_edit_css = """ QLineEdit { border: 1px solid #666; background: #555; color: #000; } """ self._browser_edit = QtWidgets.QLineEdit(gizmo_widget) self._browser_edit.setStyleSheet(browser_edit_css) self._browser_edit.textChanged.connect(self.set_gizmo_file) completer = QtWidgets.QCompleter(gizmo_widget) completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive) completer.setCompletionMode(QtWidgets.QCompleter.InlineCompletion) dir = QtWidgets.QDirModel(completer) dir.setFilter( QtCore.QDir.Dirs | QtCore.QDir.NoDot | QtCore.QDir.NoDotDot) completer.setModel(dir) self._browser_edit.setCompleter(completer) self._browser_btn = QtWidgets.QToolButton(gizmo_widget) self._browser_btn.setText("...") self._browser_btn.clicked.connect(self._browse_gizmo) browser_layout.addWidget(browser_label) browser_layout.addWidget(self._browser_edit) browser_layout.addWidget(self._browser_btn) file_layout.addItem(browser_layout) self._gizmo_file_content = ScriptEditorWidget(gizmo_widget) file_layout.addWidget(self._gizmo_file_content) self._gizmo_file_content.file_dropped.connect( self._initiate_dropped_file) gizmo_layout.addItem(file_layout) self._comment_widget = CommentWidget(gizmo_widget) self._comment_widget.setMaximumHeight(120) self._comment_widget.changed.connect(self._validate_gizmo) gizmo_layout.addWidget(self._comment_widget) self._save_btn.clicked.disconnect() self._save_btn.clicked.connect(self._publish) self.main_container_layout.addWidget(gizmo_widget) self._save_btn.setText("Publish Gizmo") self._save_btn.setMinimumWidth(150) self._save_btn.setEnabled(False) self.set_task(self.current_task)
def _build(self): '''Build and layout widget.''' layout = QtWidgets.QVBoxLayout() self.setLayout(layout) # Header header = ftrack_connect.ui.widget.header.Header( getpass.getuser(), self) header.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Fixed) layout.addWidget(header) secondaryHeader = QtWidgets.QFrame() headerLayout = QtWidgets.QHBoxLayout() headerLayout.setContentsMargins(0, 0, 0, 0) secondaryHeader.setLayout(headerLayout) layout.addWidget(secondaryHeader) self._createButton = QtWidgets.QToolButton() self._createButton.setIcon( QtGui.QIcon.fromTheme('plus', QtGui.QIcon(':icon-plus'))) headerLayout.addWidget(self._createButton) self._navigateUpButton = QtWidgets.QToolButton() self._navigateUpButton.setIcon( QtGui.QIcon.fromTheme('go-up', QtGui.QIcon(':icon-arrow-up'))) headerLayout.addWidget(self._navigateUpButton) headerLayout.addStretch(1) # Bookmarks contentSplitter = QtWidgets.QSplitter() layout.addWidget(contentSplitter) self._bookmarksView = QtWidgets.QTableWidget() self._bookmarksView.setEditTriggers( QtWidgets.QAbstractItemView.NoEditTriggers) self._bookmarksView.setGridStyle(QtCore.Qt.NoPen) self._bookmarksView.setColumnCount(1) self._bookmarksView.setColumnCount(1) self._bookmarksView.setRowCount(0) self._bookmarksView.horizontalHeader().setVisible(False) self._bookmarksView.horizontalHeader().setStretchLastSection(True) self._bookmarksView.verticalHeader().setVisible(False) self._bookmarksView.verticalHeader().setDefaultSectionSize(25) contentSplitter.addWidget(self._bookmarksView) # Navigation self._navigator = QtWidgets.QTableWidget() self._navigator.setEditTriggers( QtWidgets.QAbstractItemView.NoEditTriggers) self._navigator.setGridStyle(QtCore.Qt.NoPen) self._navigator.setColumnCount(1) self._navigator.horizontalHeader().setStretchLastSection(True) self._navigator.verticalHeader().hide() self._navigator.setHorizontalHeaderLabels(['Name']) contentSplitter.addWidget(self._navigator) self._versionsNavigator = QtWidgets.QTableWidget() self._versionsNavigator.setEditTriggers( QtWidgets.QAbstractItemView.NoEditTriggers) self._versionsNavigator.setGridStyle(QtCore.Qt.NoPen) self._versionsNavigator.setColumnCount(1) self._versionsNavigator.verticalHeader().hide() self._versionsNavigator.setSortingEnabled(False) self._versionsNavigator.setHorizontalHeaderLabels(['Version']) contentSplitter.addWidget(self._versionsNavigator) self._componentsNavigator = QtWidgets.QTableWidget() self._componentsNavigator.setEditTriggers( QtWidgets.QAbstractItemView.NoEditTriggers) self._componentsNavigator.setColumnCount(1) self._componentsNavigator.horizontalHeader().setStretchLastSection( True) self._componentsNavigator.verticalHeader().hide() self._componentsNavigator.verticalHeader().setStretchLastSection(False) self._componentsNavigator.setHorizontalHeaderLabels(['Component']) contentSplitter.addWidget(self._componentsNavigator) # Details self._detailView = ftrack_connect_foundry.ui.detail_view.DetailView( self._bridge) contentSplitter.addWidget(self._detailView) # Location self._locationField = QtWidgets.QLineEdit() layout.addWidget(self._locationField) self._locationOptions = QtWidgets.QFrame() layout.addWidget(self._locationOptions) locationOptionsLayout = QtWidgets.QHBoxLayout() locationOptionsLayout.setContentsMargins(0, 0, 0, 0) self._locationOptions.setLayout(locationOptionsLayout) self._assetNameField = QtWidgets.QLineEdit() self._assetNameField.setEnabled(False) locationOptionsLayout.addWidget(self._assetNameField) self._overrideNameHintOption = QtWidgets.QCheckBox( 'Specify Asset Name') locationOptionsLayout.addWidget(self._overrideNameHintOption)