def __init__(self, parent=None, software=None, menu_type='menus', menu_name='', menu=None, menu_path=''): QtWidgets.QWidget.__init__(self, parent) # initialize variables self.menu_type = menu_type if self.menu_type == 'shelves': self.singular = 'shelf' elif self.menu_type == 'menus': self.singular = 'menu' elif self.menu_type == 'preflights': self.singular = 'preflight' elif self.menu_type == 'context-menus': self.singular = 'context-menu' else: self.singluar = 'not defined' self.software = software self.menu = menu self.menu_name = menu_name self.menu_path = menu_path self.new_button_widget = None # create layouts layout = QtWidgets.QVBoxLayout(self) title_layout = QtWidgets.QHBoxLayout() if menu_type != 'shelves': self.buttons_tab_widget = LJTabWidget() self.buttons_tab_widget.setProperty('class', 'vertical') self.buttons_tab_widget.tabBar().setProperty('class', 'vertical') else: self.buttons_tab_widget = QtWidgets.QTabWidget() self.title = '' if self.menu_type == 'menus': self.title = QtWidgets.QLabel('%s %s Buttons: (Drag to Reorder)' % (self.menu_name, self.menu_type.title())) elif self.menu_type == 'preflights': self.title = QtWidgets.QLabel('%s %s Steps: (Drag to Reorder)' % (self.menu_name, self.menu_type.title())) elif self.menu_type == 'shelves': self.title = QtWidgets.QLabel('%s Shelf Buttons: (Drag to Reorder)' % self.menu_name) elif self.menu_type == 'context-menus': self.title = QtWidgets.QLabel('Context Menu Buttons: (Drag to Reorder)') self.title.setProperty('class', 'title') if self.menu_type == 'shelves': self.add_button = QtWidgets.QPushButton('add shelf button') self.import_menu_button = QtWidgets.QPushButton('import shelf button') elif self.menu_type == 'preflights': self.add_button = QtWidgets.QPushButton('add preflight step') self.import_menu_button = QtWidgets.QPushButton('import preflight step') else: self.add_button = QtWidgets.QPushButton('add %s button' % self.singular) self.import_menu_button = QtWidgets.QPushButton('import %s button' % self.singular) self.add_submenu_button = QtWidgets.QPushButton('add submenu') self.add_submenu_button.hide() self.import_menu_button.hide() self.add_button.setProperty('class', 'add_button') self.add_submenu_button.setProperty('class', 'add_button') self.import_menu_button.setProperty('class', 'add_button') # set parameters self.buttons_tab_widget.setMovable(True) # layout the widget title_layout.addWidget(self.title) title_layout.addWidget(self.add_submenu_button) title_layout.addWidget(self.import_menu_button) title_layout.addWidget(self.add_button) title_layout.addStretch(1) layout.addLayout(title_layout) layout.addWidget(self.buttons_tab_widget) # connect SIGNALS and SLOTS self.add_button.clicked.connect(self.on_add_menu_button) self.add_submenu_button.clicked.connect(self.on_submenu_button_clicked) self.import_menu_button.clicked.connect(self.on_import_menu_button_clicked) self.load_buttons()
def __init__(self, parent=None, type_=None, menu_path=None, pm_tasks=None): LJDialog.__init__(self, parent) self.type = type_ self.cgl_tools = get_cgl_tools() self.singular = '' self.menu_path = menu_path self.software = '' self.setWindowTitle('Pipeline Designer') self.schema = pm_tasks self.task_list = [] try: for each in self.schema['long_to_short']['assets']: if each not in self.task_list: self.task_list.append(each) for each in self.schema['long_to_short']['shots']: if each not in self.task_list: self.task_list.append(each) except TypeError: print 'Problems found in your globals "schema"' return self.task_list.sort() self.task_list.insert(0, '') # create layouts layout = QtWidgets.QVBoxLayout(self) tool_bar = QtWidgets.QHBoxLayout() self.title_widget = QtWidgets.QWidget() title_widget_layout = QtWidgets.QHBoxLayout() self.title_widget.setLayout(title_widget_layout) grid_layout = QtWidgets.QGridLayout() menu_type_row = QtWidgets.QHBoxLayout() # create widgets self.software_label = QtWidgets.QLabel('Software:') self.software_label.setProperty('class', 'title') self.software_combo = QtWidgets.QComboBox() self.menu_type_label = QtWidgets.QLabel('Menu Type:') self.menu_type_label.setProperty('class', 'title') self.menu_type_combo = QtWidgets.QComboBox() self.menu_type_combo.addItems(['', 'menus', 'context-menus', 'shelves', 'preflights']) self.new_software_button = QtWidgets.QPushButton('Add Software') self.new_software_button.setProperty('class', 'add_button') self.menus = QtWidgets.QTabWidget() self.menus.setMovable(True) self.title_label = QtWidgets.QLabel() self.title_label.setProperty('class', 'ultra_title') self.add_menu_button = QtWidgets.QPushButton('add') self.delete_menu_button = QtWidgets.QPushButton('delete') self.add_menu_button.setProperty('class', 'add_button') self.delete_menu_button.setProperty('class', 'add_button') # self.save_menu_button = QtWidgets.QPushButton('save menu') # self.save_menu_button.setProperty('class', 'add_button') self.title_widget.hide() # layout the GUI title_widget_layout.addWidget(self.title_label) title_widget_layout.addWidget(self.add_menu_button) title_widget_layout.addWidget(self.delete_menu_button) title_widget_layout.addStretch(1) # title_widget_layout.addWidget(self.save_menu_button) grid_layout.addWidget(self.software_label, 0, 0) grid_layout.addWidget(self.software_combo, 0, 1) grid_layout.addWidget(self.new_software_button, 0, 2) grid_layout.addWidget(self.menu_type_label, 1, 0) grid_layout.addWidget(self.menu_type_combo, 1, 1) tool_bar.addLayout(grid_layout) tool_bar.addStretch(1) layout.addLayout(tool_bar) layout.addWidget(self.title_widget) layout.addLayout(menu_type_row) layout.addWidget(self.menus) # SIGNALS AND SLOTS self.add_menu_button.clicked.connect(self.on_add_menu_clicked) self.delete_menu_button.clicked.connect(self.on_delete_menu_clicked) self.new_software_button.clicked.connect(self.on_new_software_clicked) # Load the Menu Designer self.load_software() self.software_combo.currentIndexChanged.connect(self.update_menu_path) self.menu_type_combo.currentIndexChanged.connect(self.update_menu_path)