def create_widgets(self): """ Creates widgets """ self.dialog_label = QtWidgets.QLabel() self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);\n" "font: 18pt;") self.dialog_label.setText("Create User") self.line = QtWidgets.QFrame() self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.name_line_edit = QtWidgets.QLineEdit() self.name_line_edit.setPlaceholderText("Enter Name") self.login_line_edit = QtWidgets.QLineEdit() self.login_line_edit.setPlaceholderText("stalker") self.email_line_edit = QtWidgets.QLineEdit() self.email_line_edit.setPlaceholderText("*****@*****.**") self.password_line_edit = QtWidgets.QLineEdit() self.password_line_edit.setPlaceholderText("******") self.ok_button = QtWidgets.QPushButton("OK") self.cancel_button = QtWidgets.QPushButton("Cancel")
def _setup_ui(self): """create the UI elements """ # Create the main layout self.resize(850, 650) # Main Layout self.main_layout = QtWidgets.QVBoxLayout(self) # Dialog Label self.dialog_label = QtWidgets.QLabel(self) self.dialog_label.setText("Clip Manager") self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;") self.main_layout.addWidget(self.dialog_label) # Title Line line = QtWidgets.QFrame(self) line.setFrameShape(QtWidgets.QFrame.HLine) line.setFrameShadow(QtWidgets.QFrame.Sunken) self.main_layout.addWidget(line) # Add Clip Field Button self.add_clip_field_push_button = QtWidgets.QPushButton(self) self.add_clip_field_push_button.setText("Add Clip") self.main_layout.addWidget(self.add_clip_field_push_button) # Clip Fields Layout self.scroll_area_widget = QtWidgets.QWidget(self) self.clip_vertical_layout = QtWidgets.QVBoxLayout(self) self.scroll_area_widget.setLayout(self.clip_vertical_layout) self.scroll_area = QtWidgets.QScrollArea(self) self.scroll_area.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAsNeeded) self.scroll_area.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAsNeeded) self.scroll_area.setWidgetResizable(True) self.scroll_area.setWidget(self.scroll_area_widget) self.main_layout.addWidget(self.scroll_area) # Create Shots Push Button self.create_shots_push_button = QtWidgets.QPushButton(self) self.create_shots_push_button.setText("Create") self.main_layout.addWidget(self.create_shots_push_button) # setup signals # Add Clip Push Button QtCore.QObject.connect(self.add_clip_field_push_button, QtCore.SIGNAL("clicked()"), self.add_clip_field) # Create Push Button QtCore.QObject.connect(self.create_shots_push_button, QtCore.SIGNAL("clicked()"), self.create_shots)
def add_button(label, layout, callback, tooltip='', callback_kwargs=None): """A wrapper for button creation :param label: The label of the button :param layout: The layout that the button is going to be placed under. :param callback: The callable that will be called when the button is clicked. :param str tooltip: Optional tooltip for the button :param callback_kwargs: Callback arguments :return: """ if tooltip == '': tooltip = callback.__doc__ # button button = QtWidgets.QPushButton(layout.parentWidget()) button.setText(label) layout.addWidget(button) button.setToolTip(tooltip) # Signal if callback_kwargs: import functools callback = functools.partial(callback, **callback_kwargs) QtCore.QObject.connect(button, QtCore.SIGNAL("clicked()"), callback) return button
def add_button(label, layout, callback, tooltip=''): """A wrapper for button creation :param label: The label of the button :param layout: The layout that the button is going to be placed under. :param callback: The callable that will be called when the button is clicked. :param str tooltip: Optional tooltip for the button :return: """ # button button = QtWidgets.QPushButton() button.setText(label) layout.addWidget(button) button.setToolTip(tooltip) # Signal QtCore.QObject.connect( button, QtCore.SIGNAL("clicked()"), callback ) return button
def setup_ui(self): """create the UI widgets """ self.vertical_layout = QtWidgets.QVBoxLayout(self) self.header_horizontal_layout = QtWidgets.QHBoxLayout() self.responsible_label = QtWidgets.QLabel(self) self.responsible_label.setText('Resource') self.responsible_label.setStyleSheet(""" background-color: gray; font-weight: bold; color: white; padding: 0.5em; """) self.add_resource_button = QtWidgets.QPushButton(self) self.add_resource_button.setText('+') self.add_resource_button.setStyleSheet(""" background-color: gray; color: white; padding: 0.5em; """) self.header_horizontal_layout.addWidget(self.responsible_label) self.header_horizontal_layout.addStretch(1) self.header_horizontal_layout.addWidget(self.add_resource_button) self.header_horizontal_layout.setStretch(0, 1) self.header_horizontal_layout.setStretch(1, 0) self.vertical_layout.addLayout(self.header_horizontal_layout) self.responsible_grid_layout = QtWidgets.QGridLayout() self.vertical_layout.addLayout(self.responsible_grid_layout)
def create_render_jobs(self): """creates render jobs """ # first check duplicate shots if not self.check_duplicate_shots(): return if not self.validate_shot_codes(): return project = self.project_combo_box.get_current_project() sequence = self.sequence_combo_box.get_current_sequence() im = ShotManager(project, sequence) message_box = QtWidgets.QMessageBox(self) # message_box.setTitle("Which Shots?") message_box.setText("Which Shots?") current_shot = QtWidgets.QPushButton("Current") all_shots = QtWidgets.QPushButton("All") message_box.addButton(current_shot, QtWidgets.QMessageBox.YesRole) message_box.addButton(all_shots, QtWidgets.QMessageBox.NoRole) message_box.exec_() try: clicked_button = message_box.clickedButton() message_box.deleteLater() if clicked_button == all_shots: for shot in im.get_shots(): shot.create_render_job() else: im.get_current_shot().create_render_job() except BaseException as e: QtWidgets.QMessageBox.critical( self, "Error", str(e) ) raise e finally: QtWidgets.QMessageBox.information( self, "Created Shots and Render Jobs 👍", "Created Shots and Render Jobs 👍" )
def setup_ui(self): """create the UI widgets """ self.vertical_layout = QtWidgets.QVBoxLayout(self) self.setLayout(self.vertical_layout) # the widget should consist of a QGraphic self.thumbnail_graphics_view = QtWidgets.QGraphicsView(self) # set size policy size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) size_policy.setHorizontalStretch(0) size_policy.setVerticalStretch(0) size_policy.setHeightForWidth( self.thumbnail_graphics_view.sizePolicy().hasHeightForWidth()) self.thumbnail_graphics_view.setSizePolicy(size_policy) # set size default_size = QtCore.QSize(*self.default_thumbnail_size) self.thumbnail_graphics_view.setMinimumSize(default_size) self.thumbnail_graphics_view.setMaximumSize(default_size) self.thumbnail_graphics_view.setAutoFillBackground(False) self.thumbnail_graphics_view.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) self.thumbnail_graphics_view.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAlwaysOff) brush = QtGui.QBrush(QtGui.QColor(0, 0, 0)) brush.setStyle(QtCore.Qt.SolidPattern) self.thumbnail_graphics_view.setBackgroundBrush(brush) self.thumbnail_graphics_view.setInteractive(False) self.thumbnail_graphics_view.setRenderHints( QtGui.QPainter.Antialiasing | QtGui.QPainter.HighQualityAntialiasing | QtGui.QPainter.SmoothPixmapTransform | QtGui.QPainter.TextAntialiasing) self.vertical_layout.addWidget(self.thumbnail_graphics_view) self.upload_thumbnail_button = QtWidgets.QPushButton(self) self.upload_thumbnail_button.setText("Upload...") self.upload_thumbnail_button.setGeometry( self.thumbnail_graphics_view.geometry()) self.upload_thumbnail_button.setVisible(True) self.vertical_layout.addWidget(self.upload_thumbnail_button) # create signals # QtCore.QObject.connect( # self.thumbnail_graphics_view, # QtCore.SIGNAL("clicked()"), # self.thumbnail_graphics_view_clicked # ) QtCore.QObject.connect(self.upload_thumbnail_button, QtCore.SIGNAL("clicked()"), self.upload_thumbnail_button_clicked)
def _setup_ui(self): """creates the ui elements """ self.label = QtWidgets.QLabel(self.parent) self.parent_form_layout.setWidget(self.parent_form_layout_index, QtWidgets.QFormLayout.LabelRole, self.label) self.horizontal_layout = QtWidgets.QHBoxLayout() self.combo_box = QtWidgets.QComboBox(self.parent) self.horizontal_layout.addWidget(self.combo_box) self.update_push_button = QtWidgets.QPushButton(self.parent) self.horizontal_layout.addWidget(self.update_push_button) self.create_push_button = QtWidgets.QPushButton(self.parent) self.horizontal_layout.addWidget(self.create_push_button) self.horizontal_layout.setStretch(0, 1) self.parent_form_layout.setLayout(self.parent_form_layout_index, QtWidgets.QFormLayout.FieldRole, self.horizontal_layout) self.label.setText("Image Format") self.update_push_button.setText("Update...") self.create_push_button.setText("New...")
def setup_ui(self): """create the UI widgets """ self.vertical_layout = QtWidgets.QVBoxLayout(self) self.header_horizontal_layout = QtWidgets.QHBoxLayout() self.responsible_label = QtWidgets.QLabel(self) self.responsible_label.setText('Responsible') self.responsible_label.setStyleSheet(""" background-color: gray; color: white; font-weight: bold; padding: 0.5em; """) self.add_responsible_button = QtWidgets.QPushButton(self) self.add_responsible_button.setText('+') self.add_responsible_button.setStyleSheet(""" background-color: gray; color: white; font-weight: bold; padding: 0.5em; """) self.header_horizontal_layout.addWidget(self.responsible_label) self.header_horizontal_layout.addStretch(1) self.header_horizontal_layout.addWidget(self.add_responsible_button) self.header_horizontal_layout.setStretch(0, 1) self.header_horizontal_layout.setStretch(1, 0) self.vertical_layout.addLayout(self.header_horizontal_layout) self.responsible_grid_layout = QtWidgets.QGridLayout() self.vertical_layout.addLayout(self.responsible_grid_layout) line = QtWidgets.QFrame(self) line.setFrameShape(QtWidgets.QFrame.HLine) line.setFrameShadow(QtWidgets.QFrame.Sunken) self.vertical_layout.addWidget(line) horizontal_layout = QtWidgets.QHBoxLayout() self.vertical_layout.addLayout(horizontal_layout) review_set_label = QtWidgets.QLabel(self) review_set_label.setText('Review Set') horizontal_layout.addWidget(review_set_label)
def __init__ui(self): """creates the Widgets """ # create a horizontal layout to hold the widgets self.main_layout = QtWidgets.QHBoxLayout() # ---------------------------------- # Primary Widgets Layout self.primary_widgets_layout = QtWidgets.QVBoxLayout() # label self.primary_label = QtWidgets.QLabel(self.dialog) self.primary_label.setText(self.primary_label_text) self.primary_label.setAlignment(QtCore.Qt.AlignCenter) self.primary_widgets_layout.addWidget(self.primary_label) # list widget self.primary_list_widget = QtWidgets.QListWidget(self.dialog) self.primary_widgets_layout.addWidget(self.primary_list_widget) self.main_layout.addLayout(self.primary_widgets_layout) # ---------------------------------- # Button Layout self.button_layout = QtWidgets.QVBoxLayout() self.button_layout.insertStretch(0, 0) self.primary_to_secondary_push_button = \ QtWidgets.QPushButton('>>', parent=self.dialog) self.secondary_to_primary_push_button = \ QtWidgets.QPushButton('<<', parent=self.dialog) self.primary_to_secondary_push_button.setMaximumSize(25, 16777215) self.secondary_to_primary_push_button.setMaximumSize(25, 16777215) self.button_layout.addWidget(self.primary_to_secondary_push_button) self.button_layout.addWidget(self.secondary_to_primary_push_button) self.button_layout.insertStretch(3, 0) self.main_layout.addLayout(self.button_layout) # ---------------------------------- # Secondary Widgets Layout self.secondary_widgets_layout = QtWidgets.QVBoxLayout() # label self.secondary_label = QtWidgets.QLabel(self.dialog) self.secondary_label.setText(self.secondary_label_text) self.secondary_label.setAlignment(QtCore.Qt.AlignCenter) # list widget self.secondary_widgets_layout.addWidget(self.secondary_label) self.secondary_list_widget = QtWidgets.QListWidget(self.dialog) self.secondary_widgets_layout.addWidget(self.secondary_list_widget) self.main_layout.addLayout(self.secondary_widgets_layout) self.main_layout.setStretch(0, 1) self.main_layout.setStretch(1, 0) self.main_layout.setStretch(2, 1) self.parent_layout.addLayout(self.main_layout) # Create signals QtCore.QObject.connect(self.primary_to_secondary_push_button, QtCore.SIGNAL('clicked()'), self.primary_to_secondary_push_button_clicked) QtCore.QObject.connect( self.primary_list_widget, QtCore.SIGNAL('itemDoubleClicked(QListWidgetItem*)'), self.primary_to_secondary_push_button_clicked) QtCore.QObject.connect(self.secondary_to_primary_push_button, QtCore.SIGNAL('clicked()'), self.secondary_to_primary_push_button_clicked) QtCore.QObject.connect( self.secondary_list_widget, QtCore.SIGNAL('itemDoubleClicked(QListWidgetItem*)'), self.secondary_to_primary_push_button_clicked)
def _setup_ui(self): """create the ui elements """ self.resize(1350, 950) self.vertical_layout = QtWidgets.QVBoxLayout(self) # Dialog Label self.dialog_label = QtWidgets.QLabel(self) self.dialog_label.setText('Task Manager') self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;") self.vertical_layout.addWidget(self.dialog_label) # Title Line line = QtWidgets.QFrame(self) line.setFrameShape(QtWidgets.QFrame.HLine) line.setFrameShadow(QtWidgets.QFrame.Sunken) self.vertical_layout.addWidget(line) # -------------------------------------------- # Filter Fields label_role = QtWidgets.QFormLayout.LabelRole field_role = QtWidgets.QFormLayout.FieldRole expanding = QtWidgets.QSizePolicy.Expanding fixed = QtWidgets.QSizePolicy.Fixed minimum = QtWidgets.QSizePolicy.Minimum # Filters Form Layout self.filters_form_layout = QtWidgets.QFormLayout() self.filters_form_layout.setLabelAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) self.vertical_layout.addLayout(self.filters_form_layout) # Filer By Label i = 0 self.filter_by_label = QtWidgets.QLabel(self) self.filter_by_label.setText('Filter By') self.filters_form_layout.setWidget(i, field_role, self.filter_by_label) i += 1 # Project # Label self.filter_by_project_label = QtWidgets.QLabel(self) self.filter_by_project_label.setText('Project') self.filters_form_layout.setWidget(i, label_role, self.filter_by_project_label) # Field self.filter_by_project_combo_box = QtWidgets.QComboBox(self) self.filter_by_project_combo_box.setSizePolicy(expanding, fixed) self.filter_by_project_combo_box.setEditable(True) self.filters_form_layout.setWidget(i, field_role, self.filter_by_project_combo_box) i += 1 # Entity Type # Label self.filter_by_entity_type_label = QtWidgets.QLabel(self) self.filter_by_entity_type_label.setText('Entity Type') self.filters_form_layout.setWidget(i, label_role, self.filter_by_entity_type_label) # Field self.filter_by_entity_type_combo_box = QtWidgets.QComboBox(self) self.filter_by_entity_type_combo_box.setSizePolicy(expanding, fixed) self.filters_form_layout.setWidget( i, field_role, self.filter_by_entity_type_combo_box) i += 1 # Task Type # Label self.filter_by_task_type_label = QtWidgets.QLabel(self) self.filter_by_task_type_label.setText('Task Type') self.filters_form_layout.setWidget(i, label_role, self.filter_by_task_type_label) # Field self.filter_by_task_type_combo_box = QtWidgets.QComboBox(self) self.filter_by_task_type_combo_box.setSizePolicy(expanding, fixed) self.filters_form_layout.setWidget(i, field_role, self.filter_by_task_type_combo_box) i += 1 # Sequence # Only visible when entity type is Shot # Label self.filter_by_sequence_label = QtWidgets.QLabel(self) self.filter_by_sequence_label.setText('Sequence') self.filters_form_layout.setWidget(i, label_role, self.filter_by_sequence_label) # Field self.filter_by_sequence_combo_box = QtWidgets.QComboBox(self) self.filter_by_sequence_combo_box.setSizePolicy(expanding, fixed) self.filters_form_layout.setWidget(i, field_role, self.filter_by_sequence_combo_box) i += 1 # Resource # Label self.filter_by_resource_label = QtWidgets.QLabel(self) self.filter_by_resource_label.setText('Resource') self.filters_form_layout.setWidget(i, label_role, self.filter_by_resource_label) # Field self.filter_by_resource_combo_box = QtWidgets.QComboBox(self) self.filter_by_resource_combo_box.setSizePolicy(expanding, fixed) self.filters_form_layout.setWidget(i, field_role, self.filter_by_resource_combo_box) i += 1 # ------------------------------------------------ # Filter Button self.filter_button_horizontal_layout = QtWidgets.QHBoxLayout(self) self.filters_form_layout.setLayout( i, field_role, self.filter_button_horizontal_layout) self.filter_push_button = QtWidgets.QPushButton(self) self.filter_push_button.setText('-> Apply Filter <-') self.filter_button_horizontal_layout.addWidget(self.filter_push_button) # spacer spacer = QtWidgets.QSpacerItem(40, 20, expanding, minimum) self.filter_button_horizontal_layout.addItem(spacer) # ------------------------------------------------ # The main table widget self.data_table_widget = QtWidgets.QTableWidget(self) self.data_table_widget.setAutoFillBackground(True) self.data_table_widget.setEditTriggers( QtWidgets.QAbstractItemView.NoEditTriggers) self.data_table_widget.setColumnCount(2) self.data_table_widget.setRowCount(0) item = QtWidgets.QTableWidgetItem() self.data_table_widget.setHorizontalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.data_table_widget.setHorizontalHeaderItem(1, item) self.data_table_widget.horizontalHeader().setStretchLastSection(True) self.vertical_layout.addWidget(self.data_table_widget)
def setup_ui(self, dialog): """Sets up the dialog :param dialog: QtGui.QDialog instance :return: """ dialog.setObjectName("Dialog") dialog.setWindowModality(QtCore.Qt.ApplicationModal) dialog.resize(1200, 800) # layout vertical first self.vertical_layout = QtWidgets.QVBoxLayout(dialog) self.vertical_layout.setObjectName('verticalLayout1') self.horizontal_layout = QtWidgets.QHBoxLayout() self.from_task_tree_view = QtWidgets.QTreeView(dialog) self.from_task_tree_view.setObjectName("from_tasks_treeView") self.copy_push_button = QtWidgets.QPushButton(dialog) self.copy_push_button.setObjectName("copy_push_button") self.copy_push_button.setText('>') self.to_task_tree_view = TaskTreeView(dialog) self.to_task_tree_view.setObjectName("to_tasks_treeView") # self.horizontal_layout1.addWidget(self.from_task_tree_view) self.horizontal_layout.addWidget(self.from_task_tree_view) self.horizontal_layout.addWidget(self.copy_push_button) self.horizontal_layout.addWidget(self.to_task_tree_view) self.vertical_layout.addLayout(self.horizontal_layout) self.horizontal_layout_2 = QtWidgets.QHBoxLayout() self.horizontal_layout_2.setContentsMargins(-1, 10, -1, -1) self.horizontal_layout_2.setObjectName("horizontal_layout_2") self.vertical_layout.addLayout(self.horizontal_layout_2) QtCore.QMetaObject.connectSlotsByName(dialog) # initialize elements logged_in_user = self.get_logged_in_user() projects = Project.query.order_by(Project.name).all() task_tree_model = TaskTreeModel() task_tree_model.user = logged_in_user task_tree_model.populateTree(projects) # fit to elements self.from_tasks_tree_view_auto_fit_column() self.to_tasks_tree_view_auto_fit_column() self.from_task_tree_view.setModel(task_tree_model) self.to_task_tree_view.setModel(task_tree_model) # setup signals # tasks_treeView QtCore.QObject.connect( self.from_task_tree_view.selectionModel(), QtCore.SIGNAL('selectionChanged(const QItemSelection &, ' 'const QItemSelection &)'), self.from_task_tree_view_changed) QtCore.QObject.connect( self.to_task_tree_view.selectionModel(), QtCore.SIGNAL('selectionChanged(const QItemSelection &, ' 'const QItemSelection &)'), self.to_task_tree_view_changed) # fit column 0 on expand/collapse QtCore.QObject.connect(self.from_task_tree_view, QtCore.SIGNAL('expanded(QModelIndex)'), self.from_tasks_tree_view_auto_fit_column) QtCore.QObject.connect(self.to_task_tree_view, QtCore.SIGNAL('expanded(QModelIndex)'), self.to_tasks_tree_view_auto_fit_column) # copy_push_button QtCore.QObject.connect(self.copy_push_button, QtCore.SIGNAL("clicked()"), self.copy_versions)
def _setup_ui(self): """setups UI """ try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: _fromUtf8 = lambda s: s bmgc_project_name = self.project.GetName() bmgc_project_fps = self.project.GetSetting('timelineFrameRate') self.setWindowTitle('Conformer') self.resize(500, 100) self.vertical_layout = QtWidgets.QVBoxLayout(self) self.bmgc_project_label = QtWidgets.QLabel(self.vertical_layout.widget()) self.bmgc_project_label.setText('%s - [%s fps] / Resolve' % (bmgc_project_name, bmgc_project_fps)) self.bmgc_project_label.setStyleSheet(_fromUtf8("color: rgb(71, 143, 202);\n""font: 12pt;")) self.vertical_layout.addWidget(self.bmgc_project_label) line = QtWidgets.QFrame(self.vertical_layout.parent()) line.setFrameShape(QtWidgets.QFrame.HLine) line.setFrameShadow(QtWidgets.QFrame.Sunken) self.vertical_layout.addWidget(line) self.h_layout1 = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.stalker_project_label = QtWidgets.QLabel(self.h_layout1.widget()) self.stalker_project_label.setText('Stalker Project:') self.h_layout1.addWidget(self.stalker_project_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.project_combo_box = QtWidgets.QComboBox(self.h_layout1.widget()) self.project_combo_box.setSizePolicy(size_policy) self.h_layout1.addWidget(self.project_combo_box) self.vertical_layout.addLayout(self.h_layout1) self.h_layout2 = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.stalker_seq_label = QtWidgets.QLabel(self.h_layout2.widget()) self.stalker_seq_label.setText('Stalker Seq: ') self.h_layout2.addWidget(self.stalker_seq_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.seq_combo_box = QtWidgets.QComboBox(self.h_layout2.widget()) self.seq_combo_box.setSizePolicy(size_policy) self.h_layout2.addWidget(self.seq_combo_box) self.vertical_layout.addLayout(self.h_layout2) self.h_layout3 = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.stalker_scene_label = QtWidgets.QLabel(self.h_layout3.widget()) self.stalker_scene_label.setText('Stalker Scene: ') self.h_layout3.addWidget(self.stalker_scene_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.scene_combo_box = QtWidgets.QComboBox(self.h_layout3.widget()) self.scene_combo_box.setSizePolicy(size_policy) self.h_layout3.addWidget(self.scene_combo_box) self.vertical_layout.addLayout(self.h_layout3) self.h_layout_shots = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.shot_in_label = QtWidgets.QLabel(self.h_layout_shots.widget()) self.shot_in_label.setText('Shot In:') self.h_layout_shots.addWidget(self.shot_in_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.shot_in_combo_box = QtWidgets.QComboBox(self.h_layout_shots.widget()) self.shot_in_combo_box.setSizePolicy(size_policy) self.h_layout_shots.addWidget(self.shot_in_combo_box) self.shot_out_label = QtWidgets.QLabel(self.h_layout_shots.widget()) self.shot_out_label.setText('Shot Out:') self.h_layout_shots.addWidget(self.shot_out_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.shot_out_combo_box = QtWidgets.QComboBox(self.h_layout_shots.widget()) self.shot_out_combo_box.setSizePolicy(size_policy) self.h_layout_shots.addWidget(self.shot_out_combo_box) self.vertical_layout.addLayout(self.h_layout_shots) self.h_layout4 = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.width_label = QtWidgets.QLabel(self.h_layout4.widget()) self.width_label.setText('Width:') self.h_layout4.addWidget(self.width_label) self.width_line = QtWidgets.QLineEdit(self.h_layout4.widget()) self.width_line.setText('-') self.width_line.setEnabled(0) self.h_layout4.addWidget(self.width_line) self.height_label = QtWidgets.QLabel(self.h_layout4.widget()) self.height_label.setText('Height:') self.h_layout4.addWidget(self.height_label) self.height_line = QtWidgets.QLineEdit(self.h_layout4.widget()) self.height_line.setText('-') self.height_line.setEnabled(0) self.h_layout4.addWidget(self.height_line) self.fps_label = QtWidgets.QLabel(self.h_layout4.widget()) self.fps_label.setText('Fps:') self.h_layout4.addWidget(self.fps_label) self.fps_line = QtWidgets.QLineEdit(self.h_layout4.widget()) self.fps_line.setText('-') self.fps_line.setEnabled(0) self.h_layout4.addWidget(self.fps_line) self.vertical_layout.addLayout(self.h_layout4) self.h_layout4a = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.filter_statuses_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget()) self.filter_statuses_check_box.setText('Filter Statuses') self.h_layout4a.addWidget(self.filter_statuses_check_box) self.wip_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget()) self.wip_check_box.setText('WIP') self.h_layout4a.addWidget(self.wip_check_box) self.hrev_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget()) self.hrev_check_box.setText('HREV') self.h_layout4a.addWidget(self.hrev_check_box) self.prev_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget()) self.prev_check_box.setText('PREV') self.h_layout4a.addWidget(self.prev_check_box) self.completed_check_box = QtWidgets.QCheckBox(self.h_layout4a.widget()) self.completed_check_box.setText('CMLT') self.h_layout4a.addWidget(self.completed_check_box) self.vertical_layout.addLayout(self.h_layout4a) self.h_layout5 = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.task_name_label = QtWidgets.QLabel(self.h_layout5.widget()) self.task_name_label.setText('Task Name:') self.h_layout5.addWidget(self.task_name_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.task_name_combo_box = QtWidgets.QComboBox(self.h_layout5.widget()) self.task_name_combo_box.setSizePolicy(size_policy) self.h_layout5.addWidget(self.task_name_combo_box) self.ext_name_label = QtWidgets.QLabel(self.h_layout5.widget()) self.ext_name_label.setText('Extension:') self.h_layout5.addWidget(self.ext_name_label) size_policy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.ext_name_combo_box = QtWidgets.QComboBox(self.h_layout5.widget()) self.ext_name_combo_box.setSizePolicy(size_policy) self.h_layout5.addWidget(self.ext_name_combo_box) self.plus_plates_check_box = QtWidgets.QCheckBox(self.h_layout5.widget()) self.plus_plates_check_box.setText('+ Plates') self.h_layout5.addWidget(self.plus_plates_check_box) self.alpha_only_check_box = QtWidgets.QCheckBox(self.h_layout5.widget()) self.alpha_only_check_box.setText('Alpha Only') self.h_layout5.addWidget(self.alpha_only_check_box) self.vertical_layout.addLayout(self.h_layout5) self.conform_button = QtWidgets.QPushButton(self.vertical_layout.widget()) self.conform_button.setText('CONFORM ALL') self.vertical_layout.addWidget(self.conform_button) line1 = QtWidgets.QFrame(self.vertical_layout.parent()) line1.setFrameShape(QtWidgets.QFrame.HLine) line1.setFrameShadow(QtWidgets.QFrame.Sunken) self.vertical_layout.addWidget(line1) self.h_layout6 = QtWidgets.QHBoxLayout(self.vertical_layout.widget()) self.date_label = QtWidgets.QLabel(self.h_layout6.widget()) self.date_label.setText('check From:') self.date_label.setAlignment(QtCore.Qt.AlignCenter) self.h_layout6.addWidget(self.date_label) self.start_date = QtWidgets.QDateEdit(self.h_layout6.widget()) self.start_date.setDate(QtCore.QDate.currentDate()) # setDate(QtCore.QDate(2021, 1, 1)) self.start_date.setCurrentSection(QtWidgets.QDateTimeEdit.MonthSection) self.start_date.setCalendarPopup(True) self.h_layout6.addWidget(self.start_date) self.now_label = QtWidgets.QLabel(self.h_layout6.widget()) self.now_label.setText(':until Now') self.now_label.setAlignment(QtCore.Qt.AlignCenter) self.h_layout6.addWidget(self.now_label) self.vertical_layout.addLayout(self.h_layout6) self.updated_shot_list = QtWidgets.QListWidget(self.vertical_layout.widget()) self.updated_shot_list.setSelectionMode(QtWidgets.QAbstractItemView.NoSelection) self.vertical_layout.addWidget(self.updated_shot_list) self.status_button= QtWidgets.QPushButton(self.vertical_layout.widget()) self.status_button.setText('LIST UPDATED SHOTS') self.vertical_layout.addWidget(self.status_button) self.conform_updates_button= QtWidgets.QPushButton(self.vertical_layout.widget()) self.conform_updates_button.setText('CONFORM UPDATED SHOTS ONLY') self.vertical_layout.addWidget(self.conform_updates_button) line2 = QtWidgets.QFrame(self.vertical_layout.parent()) line2.setFrameShape(QtWidgets.QFrame.HLine) line2.setFrameShadow(QtWidgets.QFrame.Sunken) self.vertical_layout.addWidget(line2) self.info_label = QtWidgets.QLabel(self.vertical_layout.widget()) self.info_label.setText('check Console for Progress Info...') self.vertical_layout.addWidget(self.info_label) self.fill_ui_with_stalker_projects()
def setup_ui(self): """create the UI widgets """ # we need a main layout # may be a vertical one # or a form layout self.vertical_layout = QtWidgets.QVBoxLayout(self) # ------------------------- # Dialog Label and buttons horizontal_layout3 = QtWidgets.QHBoxLayout() self.vertical_layout.addLayout(horizontal_layout3) self.widget_label = QtWidgets.QLabel(self) self.widget_label.setText(self.task.name if self.task else 'Task Name') self.widget_label.setStyleSheet( "color: rgb(71, 143, 202);\nfont: 18pt;") horizontal_layout3.addWidget(self.widget_label) horizontal_layout3.addStretch(1) # Add Watch Task button self.watch_task_button = QtWidgets.QPushButton(self) self.watch_task_button.setMaximumWidth(24) self.watch_task_button.setMaximumHeight(24) self.watch_task_button.setText("W") self.watch_task_button.setToolTip("Watch Task") self.fix_task_status_button = QtWidgets.QPushButton(self) self.fix_task_status_button.setMaximumWidth(24) self.fix_task_status_button.setMaximumHeight(24) self.fix_task_status_button.setText("F") self.fix_task_status_button.setToolTip("Fix Task Status") horizontal_layout3.addWidget(self.watch_task_button) horizontal_layout3.addWidget(self.fix_task_status_button) # Add Status Label vertical_layout3 = QtWidgets.QVBoxLayout() from anima.ui.widgets.task_status_label import TaskStatusLabel self.task_status_label = TaskStatusLabel(task=self.task) self.task_status_label.setMaximumHeight(12) vertical_layout3.addWidget(self.task_status_label) # Add ProgressBar self.task_progress = QtWidgets.QProgressBar(self) self.task_progress.setMinimum(0) self.task_progress.setMaximum(100) self.task_progress.setValue(50) self.task_progress.setAlignment(QtCore.Qt.AlignCenter) self.task_progress.setMaximumHeight(12) self.task_progress.setStyleSheet(""" QProgressBar::chunk { background-color: #3add36; width: 1px; } """) vertical_layout3.addWidget(self.task_progress) # set items closer to each other vertical_layout3.setSpacing(0) horizontal_layout3.addLayout(vertical_layout3) # Add divider line = QtWidgets.QFrame(self) line.setFrameShape(QtWidgets.QFrame.HLine) line.setFrameShadow(QtWidgets.QFrame.Sunken) self.vertical_layout.addWidget(line) horizontal_layout1 = QtWidgets.QHBoxLayout() self.vertical_layout.addLayout(horizontal_layout1) vertical_layout1 = QtWidgets.QVBoxLayout() vertical_layout2 = QtWidgets.QVBoxLayout() horizontal_layout1.addLayout(vertical_layout1) horizontal_layout1.addLayout(vertical_layout2) # -------------------------- # Horizontal Layout for thumbnail and detail widgets horizontal_layout2 = QtWidgets.QHBoxLayout() vertical_layout1.addLayout(horizontal_layout2) # -------------------------- # Task Thumbnail from anima.ui.widgets.entity_thumbnail import EntityThumbnailWidget self.task_thumbnail_widget = \ EntityThumbnailWidget(task=self.task, parent=self) horizontal_layout2.addWidget(self.task_thumbnail_widget) # -------------------------- # Task Detail Info from anima.ui.widgets.task_detail import TaskDetailWidget self.task_detail_widget = TaskDetailWidget(task=self.task, parent=self) horizontal_layout2.addWidget(self.task_detail_widget) # -------------------------- # Task Timing Info from anima.ui.widgets.task_timing import TaskTimingWidget self.task_timing_widget = TaskTimingWidget(task=self.task, parent=self) horizontal_layout2.addWidget(self.task_timing_widget) # add stretcher # horizontal_layout2.addStretch(1) # -------------------------- # Description field self.description_label = QtWidgets.QLabel(self) self.description_label.setStyleSheet(""" background-color: gray; color: white; font-weight: bold; padding: 0.5em; """) self.description_label.setText("Description") self.description_field = QtWidgets.QTextEdit(self) self.description_field.setAcceptRichText(True) vertical_layout1.addWidget(self.description_label) vertical_layout1.addWidget(self.description_field) # add stretcher vertical_layout1.addStretch(1) # --------------------------- # Responsible Info from anima.ui.widgets.responsible_info import ResponsibleInfoWidget self.responsible_info_widget = ResponsibleInfoWidget(task=self.task, parent=self) vertical_layout2.addWidget(self.responsible_info_widget) # --------------------------- # Resource Info from anima.ui.widgets.resource_info import ResourceInfoWidget self.resource_info_widget = ResourceInfoWidget(task=self.task, parent=self) vertical_layout2.addWidget(self.resource_info_widget) # --------------------------- # Task Versions Usage Info from anima.ui.widgets.task_version_usage_info import \ TaskVersionUsageInfoWidget self.task_versions_usage_info_widget = TaskVersionUsageInfoWidget( task=self.task, parent=self) vertical_layout2.addWidget(self.task_versions_usage_info_widget) vertical_layout2.addStretch(1) horizontal_layout1.setStretch(0, 2) horizontal_layout1.setStretch(1, 1) # --------------------------- # Task Notes from anima.ui.widgets.entity_notes import EntityNotesWidgets self.task_notes_widget = \ EntityNotesWidgets(entity=self.task, parent=self) self.vertical_layout.addWidget(self.task_notes_widget)
def create(self, parent=None): """Creates this publisher :param parent: :return: """ # Create layout self.layout = QtWidgets.QHBoxLayout(parent) # Create Icons self.publisher_state_ok_icon = parent.style() \ .standardIcon(QtWidgets.QStyle.SP_DialogYesButton) self.publisher_state_not_ok_icon = parent.style() \ .standardIcon(QtWidgets.QStyle.SP_DialogNoButton) # Create check push button self.check_push_button = QtWidgets.QPushButton(parent) self.check_push_button.setText('Check') self.layout.addWidget(self.check_push_button) self.check_push_button.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) # Create fix push button self.fix_push_button = QtWidgets.QPushButton(parent) self.fix_push_button.setText('Fix') self.layout.addWidget(self.fix_push_button) self.fix_push_button.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.fix_push_button.setMaximumWidth(40) # Create Progress Bar self.progress_bar = QtWidgets.QProgressBar(parent) self.progress_bar.setFixedWidth(100) self.progress_bar.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) self.layout.addWidget(self.progress_bar) self.progress_bar_manager = QProgressBarWrapper( progress_bar=self.progress_bar, minimum=0, maximum=100.0, value=0.0) # Create state label self.publisher_state_label = QtWidgets.QLabel(parent) self.publisher_state_label.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.layout.addWidget(self.publisher_state_label) # Create performance label self.performance_label = QtWidgets.QLabel(parent) self.performance_label.setText('x.x sec') self.performance_label.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.layout.addWidget(self.performance_label) # Create name label self.publisher_name_label = QtWidgets.QLabel(parent) self.publisher_name_label.setText( self.publisher.__doc__.split('\n')[0].strip()) self.publisher_name_label.setAlignment(QtCore.Qt.AlignLeft | QtCore.Qt.AlignVCenter) self.publisher_name_label.setToolTip(self.publisher.__doc__) self.performance_label.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.layout.addWidget(self.publisher_name_label) # Create help push button self.help_push_button = QtWidgets.QPushButton(parent) self.help_push_button.setText('?') self.layout.addWidget(self.help_push_button) self.help_push_button.setSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) self.help_push_button.setMaximumWidth(20) spacer = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.layout.addItem(spacer) self.state = False # create button signal QtCore.QObject.connect(self.check_push_button, QtCore.SIGNAL("clicked()"), self.run_publisher) QtCore.QObject.connect(self.help_push_button, QtCore.SIGNAL('clicked()'), self.show_publisher_docs) QtCore.QObject.connect(self.fix_push_button, QtCore.SIGNAL('clicked()'), self.run_fix_definition)
def create(self, parent=None): """Creates the fields under the given layout :param parent: :return: """ self.parent = parent # Main Layout self.layout = QtWidgets.QHBoxLayout(parent) layout_widget = self.layout.widget() # Shot Name Field self.shot_name_field = QtWidgets.QLineEdit(layout_widget) self.layout.addWidget(self.shot_name_field) # FBX file field self.fbx_file_field = QtWidgets.QLineEdit(layout_widget) self.fbx_file_field.setPlaceholderText("Choose FBX File") self.layout.addWidget(self.fbx_file_field) # FBX Button self.fbx_choose_button = QtWidgets.QPushButton(layout_widget) self.fbx_choose_button.setText("...") self.layout.addWidget(self.fbx_choose_button) # Video file field self.video_file_field = QtWidgets.QLineEdit(layout_widget) self.video_file_field.setPlaceholderText("Choose Video File") self.layout.addWidget(self.video_file_field) # FBX Button self.video_choose_button = QtWidgets.QPushButton(layout_widget) self.video_choose_button.setText("...") self.layout.addWidget(self.video_choose_button) # Cut in Field self.cut_in_field = QtWidgets.QSpinBox() self.cut_in_field.setMinimum(0) self.cut_in_field.setMaximum(9999999) self.layout.addWidget(self.cut_in_field) # Cut out Field self.cut_out_field = QtWidgets.QSpinBox() self.cut_out_field.setMinimum(0) self.cut_out_field.setMaximum(9999999) self.layout.addWidget(self.cut_out_field) # FPS Field self.fps_field = QtWidgets.QDoubleSpinBox() self.fps_field.setMinimum(0) self.fps_field.setMaximum(9999999) self.fps_field.setDecimals(2) self.layout.addWidget(self.fps_field) # Delete Button self.delete_push_button = QtWidgets.QPushButton(layout_widget) self.delete_push_button.setText("Delete") self.layout.addWidget(self.delete_push_button) # Signals import functools # Choose FBX Push Button QtCore.QObject.connect( self.fbx_choose_button, QtCore.SIGNAL("clicked()"), functools.partial(self.fbx_choose_button_clicked)) # Choose Video Push Button QtCore.QObject.connect( self.video_choose_button, QtCore.SIGNAL("clicked()"), functools.partial(self.video_choose_button_clicked)) QtCore.QObject.connect(self.delete_push_button, QtCore.SIGNAL("clicked()"), functools.partial(self.delete)) QtCore.QObject.connect( self.video_file_field, QtCore.SIGNAL("editingFinished()"), functools.partial(self.video_file_field_changed))
def _setup_ui(self): """create the ui elements """ self.resize(650, 850) # ---------------------------------------------------- # Main Layout self.main_layout = QtWidgets.QVBoxLayout(self) # ---------------------------------------------------- # Dialog Label self.dialog_label = QtWidgets.QLabel(self) self.dialog_label.setText('Publish Checker') self.dialog_label.setStyleSheet("color: rgb(71, 143, 202);font: 18pt;") self.main_layout.addWidget(self.dialog_label) # ---------------------------------------------------- # Title Line line = QtWidgets.QFrame(self) line.setFrameShape(QtWidgets.QFrame.HLine) line.setFrameShadow(QtWidgets.QFrame.Sunken) self.main_layout.addWidget(line) # Version Label self.version_label = QtWidgets.QLabel(self) self.version_label.setText(self.version.nice_name) self.version_label.setStyleSheet( "color: rgb(71, 143, 202);font: 12pt;") self.main_layout.addWidget(self.version_label) # Version Line line1 = QtWidgets.QFrame(self) line1.setFrameShape(QtWidgets.QFrame.HLine) line1.setFrameShadow(QtWidgets.QFrame.Sunken) self.main_layout.addWidget(line1) # ---------------------------------------------------- # Fields # Publisher Type ComboBox # self.publisher_type_layout = \ # QtWidgets.QHBoxLayout(self.main_layout.widget()) # # self.publisher_type_label = QtWidgets.QLabel(self) # self.publisher_type_label.setText('Publisher Type') # self.publisher_type_layout.addWidget(self.publisher_type_label) # # self.publisher_type_combo_box = QtWidgets.QComboBox(self) # self.publisher_type_layout.addWidget(self.publisher_type_combo_box) # self.publisher_type_layout.setStretch(0, 0) # self.publisher_type_layout.setStretch(1, 1) # # self.main_layout.addLayout(self.publisher_type_layout) # Check all push button self.check_all_push_button = QtWidgets.QPushButton(self) self.check_all_push_button.setText('CHECK ALL') if self.version and self.version.task.type: self.check_all_push_button.setText('CHECK ALL for %s' % self.version.task.type.name) self.main_layout.addWidget(self.check_all_push_button) # create the signal for check all push button QtCore.QObject.connect(self.check_all_push_button, QtCore.SIGNAL('clicked()'), self.check_all_publishers) # Publish Field # self.publisher_grid_layout = \ # QtWidgets.QGridLayout(self.main_layout.widget()) self.scroll_area_widget = QtWidgets.QWidget(self) self.publisher_vertical_layout = QtWidgets.QVBoxLayout(self) self.scroll_area_widget.setLayout(self.publisher_vertical_layout) self.scroll_area = QtWidgets.QScrollArea(self) self.scroll_area.setVerticalScrollBarPolicy( QtCore.Qt.ScrollBarAsNeeded) self.scroll_area.setHorizontalScrollBarPolicy( QtCore.Qt.ScrollBarAsNeeded) self.scroll_area.setWidgetResizable(True) self.scroll_area.setWidget(self.scroll_area_widget) # self.scroll_area_layout = QtWidgets.QVBoxLayout(self) # self.main_layout.addLayout(self.scroll_area_layout) self.main_layout.addWidget(self.scroll_area) # performance label self.duration_label = QtWidgets.QLabel(self) self.main_layout.addWidget(self.duration_label) # Publish push button self.publish_push_button = QtWidgets.QPushButton(self) self.publish_push_button.setText('PUBLISH') self.publish_push_button.setEnabled(False) self.main_layout.addWidget(self.publish_push_button) # connect publish button signal QtCore.QObject.connect(self.publish_push_button, QtCore.SIGNAL('clicked()'), self.publish_push_button_clicked)
def _setup_ui(self): """the ui """ self.resize(243, 209) # from anima.ui.lib import QtWidgets # if False: # from PySide2 import QtWidgets # assert QtWidgets is QtWidgets from PySide2 import QtWidgets self.vertical_layout = QtWidgets.QVBoxLayout(self) self.setLayout(self.vertical_layout) self.vertical_layout.setStretch(2, 1) self.setWindowTitle(self.dialog_name) self.form_layout = QtWidgets.QFormLayout() self.form_layout.setFieldGrowthPolicy( QtWidgets.QFormLayout.AllNonFixedFieldsGrow ) self.form_layout.setLabelAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter ) label_role = QtWidgets.QFormLayout.LabelRole field_role = QtWidgets.QFormLayout.FieldRole form_field_index = -1 # -------------------- # Number of Joints Field form_field_index += 1 # Label self.number_of_joints_label = QtWidgets.QLabel(self) self.number_of_joints_label.setText("Number Of Joints") self.form_layout.setWidget( form_field_index, label_role, self.number_of_joints_label, ) # Field self.number_of_joints_spin_box = QtWidgets.QSpinBox(self) self.form_layout.setWidget( form_field_index, field_role, self.number_of_joints_spin_box ) self.number_of_joints_spin_box.setValue(2) self.number_of_joints_spin_box.setMinimum(2) # ----------------------- # Orientation form_field_index += 1 # Label self.orientation_label = QtWidgets.QLabel(self) self.orientation_label.setText("Orientation") self.form_layout.setWidget( form_field_index, label_role, self.orientation_label ) # Field self.orientation_combo_box = QtWidgets.QComboBox(self) self.orientation_combo_box.addItems( [ "xyz", "yzx", "zxy", "xzy", "yxz", "zyx", ] ) self.form_layout.setWidget( form_field_index, field_role, self.orientation_combo_box ) # --------------------------- # Second Axis World Orientation form_field_index += 1 # Label self.second_axis_world_orientation_label = QtWidgets.QLabel(self) self.second_axis_world_orientation_label.setText( "Second Axis World Orientation" ) self.form_layout.setWidget( form_field_index, label_role, self.second_axis_world_orientation_label ) # Field self.second_axis_world_orientation_combo_box = \ QtWidgets.QComboBox(self) self.second_axis_world_orientation_combo_box.addItems( [ "+x", "-x", "+y", "-y", "+z", "-z", ] ) self.form_layout.setWidget( form_field_index, field_role, self.second_axis_world_orientation_combo_box ) # -------------------------------- # Align To World form_field_index += 1 # Label self.align_to_world_label = QtWidgets.QLabel(self) self.align_to_world_label.setText("Align To World") self.form_layout.setWidget( form_field_index, label_role, self.align_to_world_label ) # Field self.align_to_world_check_box = QtWidgets.QCheckBox(self) self.form_layout.setWidget( form_field_index, field_role, self.align_to_world_check_box ) # ---------------------------------- # Reverse Curve form_field_index += 1 # Label self.reverse_curve_label = QtWidgets.QLabel(self) self.reverse_curve_label.setText("Reverse Curve") self.form_layout.setWidget( form_field_index, label_role, self.reverse_curve_label ) self.reverse_curve_check_box = QtWidgets.QCheckBox(self) self.form_layout.setWidget( form_field_index, field_role, self.reverse_curve_check_box ) # ------------------------------- # Joint Names form_field_index += 1 # Label self.joint_names_label = QtWidgets.QLabel(self) self.joint_names_label.setText("Joint Names") self.form_layout.setWidget( form_field_index, label_role, self.joint_names_label ) # Field self.joint_names_layout = QtWidgets.QHBoxLayout(self) self.joint_names_check_box = QtWidgets.QCheckBox(self) self.joint_names_line_edit = QtWidgets.QLineEdit(self) self.joint_names_line_edit.setText("joint") self.joint_names_line_edit.setEnabled(False) self.joint_names_layout.addWidget(self.joint_names_check_box) self.joint_names_layout.addWidget(self.joint_names_line_edit) self.form_layout.setLayout( form_field_index, field_role, self.joint_names_layout ) # setup signals QtCore.QObject.connect( self.joint_names_check_box, QtCore.SIGNAL("stateChanged(int)"), self.joint_names_line_edit.setEnabled ) # ------------------------ # Suffix Joint Names form_field_index += 1 # Label self.suffix_joint_names_label = QtWidgets.QLabel(self) self.suffix_joint_names_label.setText("Suffix Joint Names") self.form_layout.setWidget( form_field_index, label_role, self.suffix_joint_names_label ) # Field self.suffix_joint_names_layout = QtWidgets.QHBoxLayout(self) self.suffix_joint_names_check_box = QtWidgets.QCheckBox(self) self.suffix_joint_names_line_edit = QtWidgets.QLineEdit(self) self.suffix_joint_names_line_edit.setText("_suffix") self.suffix_joint_names_line_edit.setEnabled(False) self.suffix_joint_names_layout.addWidget( self.suffix_joint_names_check_box ) self.suffix_joint_names_layout.addWidget( self.suffix_joint_names_line_edit ) self.form_layout.setLayout( form_field_index, field_role, self.suffix_joint_names_layout ) # setup signals QtCore.QObject.connect( self.suffix_joint_names_check_box, QtCore.SIGNAL("stateChanged(int)"), self.suffix_joint_names_line_edit.setEnabled ) # ---------------- self.vertical_layout.addLayout(self.form_layout) # ---------------- # Create Joints Button self.create_joints_button = QtWidgets.QPushButton() self.create_joints_button.setText("Create Joints") self.vertical_layout.addWidget(self.create_joints_button) # setup signals QtCore.QObject.connect( self.create_joints_button, QtCore.SIGNAL("clicked()"), self.create_joints )
def _setup_ui(self): """create UI elements """ self.resize(517, 545) self.verticalLayout = QtWidgets.QVBoxLayout(self) self.setWindowTitle("Project Dialog") # ---------------------- # Dialog Label self.dialog_label = QtWidgets.QLabel(self) self.dialog_label.setText('%s Project' % self.mode) self.dialog_label.setStyleSheet( "color: rgb(71, 143, 202);\nfont: 18pt;") self.verticalLayout.addWidget(self.dialog_label) self.line = QtWidgets.QFrame(self) self.line.setFrameShape(QtWidgets.QFrame.HLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.verticalLayout.addWidget(self.line) self.project_info_formLayout = QtWidgets.QFormLayout() self.project_info_formLayout.setLabelAlignment( QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) # ---------------------- # Name Fields self.name_label = QtWidgets.QLabel(self) self.name_label.setText("Name") self.project_info_formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.name_label) self.name_fields_verticalLayout = QtWidgets.QVBoxLayout() self.name_validator_label = QtWidgets.QLabel(self) self.name_validator_label.setText("Validator Message") self.name_validator_label.setStyleSheet("color: rgb(255, 0, 0);") self.name_fields_verticalLayout.addWidget(self.name_validator_label) self.project_info_formLayout.setLayout(0, QtWidgets.QFormLayout.FieldRole, self.name_fields_verticalLayout) # add name_lineEdit from anima.ui.widgets import ValidatedLineEdit self.name_lineEdit = ValidatedLineEdit( message_field=self.name_validator_label) self.name_fields_verticalLayout.insertWidget(0, self.name_lineEdit) # ---------------------- # Code Fields self.code_label = QtWidgets.QLabel(self) self.code_label.setText("Code") self.project_info_formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.code_label) self.code_fields_verticalLayout = QtWidgets.QVBoxLayout() self.code_validator_label = QtWidgets.QLabel(self) self.code_validator_label.setText("Validator Message") self.code_validator_label.setStyleSheet("color: rgb(255, 0, 0);") self.code_fields_verticalLayout.addWidget(self.code_validator_label) self.project_info_formLayout.setLayout(1, QtWidgets.QFormLayout.FieldRole, self.code_fields_verticalLayout) # add code_lineEdit self.code_lineEdit = ValidatedLineEdit( message_field=self.code_validator_label) self.code_fields_verticalLayout.insertWidget(0, self.code_lineEdit) # ---------------------- # Type Fields self.type_label = QtWidgets.QLabel(self) self.type_label.setText("Type") self.project_info_formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.type_label) self.type_comboBox = QtWidgets.QComboBox(self) self.type_comboBox.setEditable(True) self.project_info_formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.type_comboBox) # ---------------------- # Date Fields self.date_label = QtWidgets.QLabel(self) self.date_label.setText("Date") self.project_info_formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.date_label) self.date_dateEdit = QtWidgets.QDateEdit(self) self.project_info_formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.date_dateEdit) # ---------------------- # Image Format Fields from anima.ui.widgets.image_format import ImageFormatWidget self.image_format = ImageFormatWidget( parent=self, parent_form_layout=self.project_info_formLayout, parent_form_layout_index=4) # ---------------------- # FPS Fields self.fps_label = QtWidgets.QLabel(self) self.fps_label.setText("FPS") self.project_info_formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.fps_label) self.fps_spinBox = QtWidgets.QSpinBox(self) self.fps_spinBox.setMinimum(1) self.fps_spinBox.setProperty("value", 25) self.project_info_formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.fps_spinBox) # ---------------------- # Repository Fields self.repository_label = QtWidgets.QLabel(self) self.repository_label.setText("Repository") self.project_info_formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.repository_label) self.repository_horizontalLayout = QtWidgets.QHBoxLayout() self.repository_comboBox = QtWidgets.QComboBox(self) self.repository_horizontalLayout.addWidget(self.repository_comboBox) # Update Repository Push Button self.update_repository_pushButton = QtWidgets.QPushButton(self) self.update_repository_pushButton.setText("Update...") self.repository_horizontalLayout.addWidget( self.update_repository_pushButton) # Create Repository Push Button self.create_repository_pushButton = QtWidgets.QPushButton(self) self.create_repository_pushButton.setText("New...") self.repository_horizontalLayout.addWidget( self.create_repository_pushButton) self.repository_horizontalLayout.setStretch(0, 1) self.project_info_formLayout.setLayout( 6, QtWidgets.QFormLayout.FieldRole, self.repository_horizontalLayout) # ---------------------- self.structure_label = QtWidgets.QLabel(self) self.structure_label.setText("Structure") self.project_info_formLayout.setWidget(7, QtWidgets.QFormLayout.LabelRole, self.structure_label) self.structure_horizontalLayout = QtWidgets.QHBoxLayout() self.structure_comboBox = QtWidgets.QComboBox(self) self.structure_horizontalLayout.addWidget(self.structure_comboBox) # Update Structure Push Button self.update_structure_pushButton = QtWidgets.QPushButton(self) self.update_structure_pushButton.setText("Update...") self.structure_horizontalLayout.addWidget( self.update_structure_pushButton) # Create Structure Push Button self.create_structure_pushButton = QtWidgets.QPushButton(self) self.create_structure_pushButton.setText("New...") self.structure_horizontalLayout.addWidget( self.create_structure_pushButton) self.structure_horizontalLayout.setStretch(0, 1) self.project_info_formLayout.setLayout(7, QtWidgets.QFormLayout.FieldRole, self.structure_horizontalLayout) # ---------------------- # Status Fields self.status_label = QtWidgets.QLabel(self) self.status_label.setText("Status") self.project_info_formLayout.setWidget(8, QtWidgets.QFormLayout.LabelRole, self.status_label) self.status_comboBox = QtWidgets.QComboBox(self) self.project_info_formLayout.setWidget(8, QtWidgets.QFormLayout.FieldRole, self.status_comboBox) self.verticalLayout.addLayout(self.project_info_formLayout) # ---------------------- # Client Fields self.client_info_label = QtWidgets.QLabel(self) self.client_info_label.setText("Client Info") self.client_info_label.setStyleSheet( "color: rgb(71, 143, 202);\nfont: 18pt;") self.verticalLayout.addWidget(self.client_info_label) self.line_2 = QtWidgets.QFrame(self) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.verticalLayout.addWidget(self.line_2) self.client_info_formLayout = QtWidgets.QFormLayout() self.client_info_formLayout.setLabelAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlignTrailing | QtCore.Qt.AlignVCenter) # Client Fields self.client_label = QtWidgets.QLabel(self) self.client_label.setText("Client") self.client_info_formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.client_label) self.client_comboBox = QtWidgets.QComboBox(self) self.client_comboBox.setEditable(True) self.client_info_formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.client_comboBox) # Agency Fields self.agency_label = QtWidgets.QLabel(self) self.agency_label.setText("Agency") self.client_info_formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.agency_label) self.agency_comboBox = QtWidgets.QComboBox(self) self.agency_comboBox.setEditable(True) self.client_info_formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.agency_comboBox) # Production Company Fields self.production_company_label = QtWidgets.QLabel(self) self.production_company_label.setText( "<html><head/><body><p align=\"right\">Production<br/>" "Company</p></body></html>") self.client_info_formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.production_company_label) self.production_company_comboBox = QtWidgets.QComboBox(self) self.production_company_comboBox.setEditable(True) self.client_info_formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.production_company_comboBox) self.verticalLayout.addLayout(self.client_info_formLayout) self.buttonBox = QtWidgets.QDialogButtonBox(self) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok) self.verticalLayout.addWidget(self.buttonBox) self.verticalLayout.setStretch(2, 2) self.verticalLayout.setStretch(5, 1)
def setup_ui(self): """sets the ui up """ from anima.utils import do_db_setup do_db_setup() # get logged in user self.get_logged_in_user() self.setWindowTitle("Shot Manager") self.main_layout = QtWidgets.QVBoxLayout(self) self.form_layout = QtWidgets.QFormLayout(self) self.main_layout.addLayout(self.form_layout) i = 0 # Project label = QtWidgets.QLabel(self) label.setText("Project") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, label ) from anima.ui.widgets.project import ProjectComboBox self.project_combo_box = ProjectComboBox(self) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.project_combo_box ) # Sequence i += 1 label = QtWidgets.QLabel(self) label.setText("Sequence") self.form_layout.setWidget( i, QtWidgets.QFormLayout.LabelRole, label ) from anima.ui.widgets.sequence import SequenceComboBox self.sequence_combo_box = SequenceComboBox(self) self.form_layout.setWidget( i, QtWidgets.QFormLayout.FieldRole, self.sequence_combo_box ) # Get Shot List button get_shot_list_push_button = QtWidgets.QPushButton(self) get_shot_list_push_button.setText("Get Shot List") self.main_layout.addWidget(get_shot_list_push_button) # Check Duplicate Shot Code validate_shots_push_button = QtWidgets.QPushButton(self) validate_shots_push_button.setText("Validate Shots") self.main_layout.addWidget(validate_shots_push_button) # Check Duplicate Shot Code check_duplicate_shot_code_push_button = QtWidgets.QPushButton(self) check_duplicate_shot_code_push_button.setText("Check Duplicate Shot Code") self.main_layout.addWidget(check_duplicate_shot_code_push_button) # Create Render Jobs button create_render_jobs_button = QtWidgets.QPushButton(self) create_render_jobs_button.setText("Create Render Jobs") self.main_layout.addWidget(create_render_jobs_button) # Update Shot Thumbnail button update_shot_thumbnail_button = QtWidgets.QPushButton(self) update_shot_thumbnail_button.setText("Update Shot Thumbnail") self.main_layout.addWidget(update_shot_thumbnail_button) # Ok button ok_button = QtWidgets.QPushButton(self) ok_button.setText("OK") self.main_layout.addWidget(ok_button) # Signals self.project_changed(None) QtCore.QObject.connect( self.project_combo_box, QtCore.SIGNAL("currentIndexChanged(QString)"), self.project_changed ) QtCore.QObject.connect( ok_button, QtCore.SIGNAL("clicked()"), self.close ) QtCore.QObject.connect( create_render_jobs_button, QtCore.SIGNAL("clicked()"), self.create_render_jobs ) QtCore.QObject.connect( get_shot_list_push_button, QtCore.SIGNAL("clicked()"), self.get_shot_list ) QtCore.QObject.connect( check_duplicate_shot_code_push_button, QtCore.SIGNAL("clicked()"), self.check_duplicate_shots ) QtCore.QObject.connect( validate_shots_push_button, QtCore.SIGNAL("clicked()"), self.validate_shot_codes ) QtCore.QObject.connect( update_shot_thumbnail_button, QtCore.SIGNAL("clicked()"), self.update_shot_thumbnail )