def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) self.setWindowTitle("Color Reference Setting") main_layout = QtGui.QVBoxLayout(self) group_layout = QtGui.QHBoxLayout() pre_group = QtGui.QGroupBox() pre_group.setTitle("Pre Shot") post_group = QtGui.QGroupBox() post_group.setTitle("Post Shot") group_layout.addWidget(pre_group) group_layout.addWidget(post_group) self.pre_shot_widget = kLineTextLabel() self.pre_shot_widget.setLabel("shot name") self.pre_frame_widget = kLineTextLabel() self.pre_frame_widget.setLabel("shot frame") pre_group_layout = QtGui.QVBoxLayout(pre_group) pre_group_layout.setContentsMargins(5,5,5,5) pre_group_layout.addWidget(self.pre_shot_widget) pre_group_layout.addWidget(self.pre_frame_widget) self.post_shot_widget = kLineTextLabel() self.post_shot_widget.setLabel("shot name") self.post_frame_widget = kLineTextLabel() self.post_frame_widget.setLabel("shot frame") post_group_layout = QtGui.QVBoxLayout(post_group) post_group_layout.setContentsMargins(5,5,5,5) post_group_layout.addWidget(self.post_shot_widget) post_group_layout.addWidget(self.post_frame_widget) if parent is not None: if parent._pre_shot_name is not None: self.pre_shot_widget.setText(parent._pre_shot_name) if parent._pre_shot_frame is not None: self.pre_frame_widget.setText(parent._pre_shot_frame) if parent._post_shot_name is not None: self.post_shot_widget.setText(parent._post_shot_name) if parent._post_shot_frame is not None: self.post_frame_widget.setText(parent._post_shot_frame) ok_button = QtGui.QPushButton("ok") ok_button.clicked.connect( lambda arg=False, args=parent:self.clicked_ok(args)) cancel_button = QtGui.QPushButton("cancel") cancel_button.clicked.connect(self.close) button_layout = QtGui.QHBoxLayout() button_layout.addWidget(ok_button) button_layout.addWidget(cancel_button) main_layout.addLayout(group_layout) main_layout.addSpacing(25) main_layout.addLayout(button_layout)
def buildWidgets(self, hints): """ This will construct the UI for the render widget for the asset management system. """ label = QtGui.QLabel(" (PyMock)", self) label.setProperty('smallFont', True) label.setProperty('boldFont', True) p = label.palette() p.setColor(QtGui.QPalette.WindowText, QtGui.QColor(255, 200, 0)) p.setColor(QtGui.QPalette.Text, QtGui.QColor(255, 200, 0)) label.setPalette(p) self.layout().addWidget(label) assetIdWidget = QtGui.QWidget(self) assetIdHBox = QtGui.QHBoxLayout(assetIdWidget) assetIdLabel = QtGui.QLabel("Output Asset:", assetIdWidget) assetIdLabel.setEnabled(False) assetIdHBox.addWidget(assetIdLabel, 0) self.__assetIdLabel = QtGui.QLineEdit("", assetIdWidget) self.__assetIdLabel.setReadOnly(True) assetIdHBox.addWidget(self.__assetIdLabel, 0) self.layout().addWidget(assetIdWidget) self.updateWidgets()
def __init__(self): QtGui.QFrame.__init__(self) QtGui.QHBoxLayout(self) self.__showList = self.__buildListWidget("Show", self.layout()) self.__shotList = self.__buildListWidget("Shot", self.layout()) self.__nameList = self.__buildListWidget("Asset", self.layout()) self.__versionList = self.__buildListWidget("Version", self.layout()) self.connect(self.__showList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateShow) self.connect(self.__shotList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateShot) self.connect(self.__nameList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateAsset) self.connect(self.__versionList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateVersion) self.__widgetsDict = { "show": self.__showList, "shot": self.__shotList, "name": self.__nameList, "version": self.__versionList, } self.__showList.clear() self.__showList.addItems(_getShows())
def setMessage(message): from Katana import QtCore, QtGui layoutsMenus = [x for x in QtGui.qApp.topLevelWidgets() if type(x).__name__ == 'LayoutsMenu'] KatanaWindow = layoutsMenus[0].parent().parent() widget = QtGui.QDialog(parent=KatanaWindow) title_layout = QtGui.QVBoxLayout() button_layout = QtGui.QHBoxLayout() title = QtGui.QLabel() button = QtGui.QPushButton() font = QtGui.QFont() font.setPixelSize(16) title.setText(message) title.setFont(font) title.setAlignment(QtCore.Qt.AlignHCenter) button.setText("Confirm!") button.clicked.connect(widget.close) button.setFixedHeight(30) title_layout.addStretch() title_layout.addWidget(title) title_layout.addStretch() button_layout.addStretch() button_layout.addWidget(button) button_layout.addStretch() mainLayout = QtGui.QVBoxLayout() mainLayout.addLayout(title_layout) mainLayout.addLayout(button_layout) widget.setWindowTitle("GafferThreeRigs.Warning") widget.setLayout(mainLayout) widget.setFixedHeight(130) widget.show()
def showNodeParams(self): self.__clearCmd() vertSpacer = QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Expanding) vertSpacer1 = QtGui.QSpacerItem(5, 5, QtGui.QSizePolicy.Maximum, QtGui.QSizePolicy.Expanding) factory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory name = self.scenAovsList.currentItem().text() for node in self.__node.getChildren(): if node.getParameter('aov'): if node.getParameter('aov').getValue(0) == name: self.aov = node self.aocd = self.aov.getChildByIndex(0) self.rod = self.aov.getChildByIndex(1) typePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('type')) typeParam = factory.buildWidget(self, typePolicy) filterPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('filter')) filterParam = factory.buildWidget(self, filterPolicy) lpePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('lightPathExpression')) lpeParam = factory.buildWidget(self, lpePolicy) lGrpPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('lightGroups')) lGrpParam = factory.buildWidget(self, lGrpPolicy) cust_lGrpPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.aocd.getParameter('customLightGroup')) cust_lGrpParam = factory.buildWidget(self, cust_lGrpPolicy) self.__nameLine = QtGui.QLineEdit('') self.__nameLine.setText(str( self.aocd.getParameter('name').getValue(0))) self.__nameLine.returnPressed.connect(self.__nameReturnPressed) nameLayout = QtGui.QHBoxLayout() self.__label = QtGui.QLabel('AOV Name') nameLayout.addWidget(self.__label) nameLayout.addWidget(self.__nameLine) self.scrollLayout.addItem(vertSpacer1) self.scrollLayout.addLayout(nameLayout) self.scrollLayout.addWidget(QHLine()) self.scrollLayout.addWidget(typeParam) self.scrollLayout.addWidget(filterParam) self.scrollLayout.addWidget(QHLine()) self.scrollLayout.addWidget(lpeParam) self.scrollLayout.addWidget(lGrpParam) self.scrollLayout.addWidget(cust_lGrpParam) self.scrollLayout.addItem(vertSpacer)
def __init__(self): QtGui.QFrame.__init__(self) QtGui.QHBoxLayout(self) self.__tabWidget = QtGui.QTabWidget(self) self.layout().addWidget(self.__tabWidget) assetTab = QtGui.QFrame(self) QtGui.QHBoxLayout(assetTab) self.__tabWidget.addTab(assetTab, "Asset") self.__showList = self.__buildListWidget("Show", assetTab.layout()) self.__shotList = self.__buildListWidget("Shot", assetTab.layout()) self.__nameList = self.__buildListWidget("Asset", assetTab.layout()) self.__versionList = self.__buildListWidget("Version", assetTab.layout()) self.connect(self.__showList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateShow) self.connect(self.__shotList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateShot) self.connect(self.__nameList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateAsset) self.connect(self.__versionList, QtCore.SIGNAL("itemSelectionChanged()"), self.__updateVersion) sandboxTab = QtGui.QFrame(self) QtGui.QHBoxLayout(sandboxTab) self.__tabWidget.addTab(sandboxTab, "Sandbox") self.__sandboxList = self.__buildListWidget("Sandbox", sandboxTab.layout()) self.__widgetsDict = { "show": self.__showList, "shot": self.__shotList, "name": self.__nameList, "version": self.__versionList, "sandbox": self.__sandboxList, } self.__showList.clear() self.__showList.addItems(_getShows()) self.__sandboxList.addItems(_getSandboxFiles())
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) layout = QtGui.QHBoxLayout(self) self.label = QtGui.QLabel() self.label.setFixedWidth(150) self.label.setAlignment(QtCore.Qt.AlignRight) self.edited = QtGui.QLineEdit() layout.addWidget(self.label) layout.addWidget(self.edited)
def __init__(self, *args, **kargs): QtGui.QFrame.__init__(self, *args) QtGui.QVBoxLayout(self) self.__assetIdLayout = QtGui.QHBoxLayout() self.__widget = None self.__saveMode = False self.__context = "" self.__requestedLocation = ""
def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) main_lay = QtGui.QHBoxLayout() self.listWidget = QtGui.QListView() self.editorWidget = QtGui.QWidget() main_lay.addWidget(self.listWidget) main_lay.addWidget(self.editorWidget) self.setLayout(main_lay)
def __init__(self): """Builds the initial combose box UI""" QtGui.QFrame.__init__(self) QtGui.QVBoxLayout(self) assetFrame = QtGui.QFrame(self) QtGui.QHBoxLayout(assetFrame) self.layout().addWidget(assetFrame) assetFrame.layout().addWidget(QtGui.QLabel("show:")) self.__showCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__showCombobox) assetFrame.layout().addWidget(QtGui.QLabel("shot:")) self.__shotCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__shotCombobox) assetFrame.layout().addWidget(QtGui.QLabel("asset:")) self.__assetCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__assetCombobox) assetFrame.layout().addWidget(QtGui.QLabel("version:")) self.__versionCombobox = QtGui.QComboBox() assetFrame.layout().addWidget(self.__versionCombobox) self.connect(self.__showCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateShow) self.connect(self.__shotCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateShot) self.connect(self.__assetCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateAsset) self.connect(self.__versionCombobox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.__updateVersion) # Modify the integrated QListViews to lay out the items every time the # view is resized, so that changes in the application font preferences # are correctly reflected for combobox in (self.__showCombobox, self.__shotCombobox, self.__assetCombobox, self.__versionCombobox): combobox.view().setResizeMode(QtGui.QListView.Adjust) self.__sandboxCheckBox = QtGui.QCheckBox('Save to Sandbox', self) self.layout().addWidget(self.__sandboxCheckBox) self.__showCombobox.addItems(_getShows())
def widget(self): layoutsMenus = [ x for x in QtGui.qApp.topLevelWidgets() if type(x).__name__ == 'LayoutsMenu' ] KatanaWindow = layoutsMenus[0].parent().parent() saveTo = self.getParameter('saveTo').getValue(0) widget = QtGui.QDialog(parent=KatanaWindow) title_layout = QtGui.QVBoxLayout() button_layout = QtGui.QHBoxLayout() title = QtGui.QLabel() button = QtGui.QPushButton() font = QtGui.QFont() font.setPixelSize(16) if saveTo: title.setText("MaterialX baking succeeded!") else: title.setText("Please enter the saving path!") title.setFont(font) title.setAlignment(QtCore.Qt.AlignHCenter) button.setText("Confirm!") button.clicked.connect(widget.close) button.setFixedHeight(30) title_layout.addStretch() title_layout.addWidget(title) title_layout.addStretch() button_layout.addStretch() button_layout.addWidget(button) button_layout.addStretch() mainLayout = QtGui.QVBoxLayout() mainLayout.addLayout(title_layout) mainLayout.addLayout(button_layout) widget.setWindowTitle("MaterialXAssign") widget.setLayout(mainLayout) widget.setFixedHeight(130) widget.show()
def __buildToolbar(self, parent): self.__toolbarLayout = QtGui.QHBoxLayout() parent.layout().addLayout(self.__toolbarLayout) self.__scopePopup = QtGui.QComboBox(parent) self.connect(self.__scopePopup, QtCore.SIGNAL('currentIndexChanged(const QString &)'), self.__refresh) self.__scopePopup.addItems([ 'Selected ShadingNodes', 'All ShadingNodes', 'Upstream of NetworkMaterial' ]) self.__toolbarLayout.addWidget(self.__scopePopup) self.__shadingNetworkMaterialsPopup = QtGui.QComboBox(parent) self.__shadingNetworkMaterialsPopup.addItems( [x.getName() for x in self.__getNetworkMaterials()]) self.connect(self.__shadingNetworkMaterialsPopup, QtCore.SIGNAL('currentIndexChanged(const QString &)'), self.__refresh) self.__shadingNetworkMaterialsPopup.hide() self.__toolbarLayout.addWidget(self.__shadingNetworkMaterialsPopup) self.__toolbarLayout.addStretch() self.__filterField = Widgets.FilterFieldWidget(parent) self.connect(self.__filterField, QtCore.SIGNAL('filterUpdate'), self.__filterUpdate) self.__toolbarLayout.addWidget(self.__filterField) self.__statusBar = QtGui.QLabel('', parent) parent.layout().addWidget(self.__statusBar)
def setDisplayMode(self, mode): """ Set display mode and corresponding tool tips, icons, etc. """ self.__displayMode = mode if self.__displayMode == (DISPLAY_LIGHTS | DISPLAY_CAMERAS): switchArea = self.getWidgetSwitchArea() self.__topHBox = QtGui.QFrame(switchArea) switchArea.layout().addWidget(self.__topHBox) self.__topHBox.setLayout(QtGui.QHBoxLayout()) spacer = QtGui.QLabel('', self) self.__topHBox.layout().addWidget(spacer) self.__topHBox.layout().setStretchFactor(spacer, 100) self.__lightsCheckbox = QtGui.QCheckBox("Lights", self.__topHBox) self.__lightsCheckbox.setChecked(True) self.__topHBox.layout().addWidget(self.__lightsCheckbox) QtCore.QObject.connect(self.__lightsCheckbox, QtCore.SIGNAL('stateChanged(int)'), self.__on_lightsCheckbox_stateChanged) self.__camerasCheckbox = QtGui.QCheckBox("Cameras", self.__topHBox) self.__camerasCheckbox.setChecked(True) self.__topHBox.layout().addWidget(self.__camerasCheckbox) QtCore.QObject.connect(self.__camerasCheckbox, QtCore.SIGNAL('stateChanged(int)'), self.__on_camerasCheckbox_stateChanged) self.setToolTip("Choose Light or Camera") elif mode & DISPLAY_LIGHTS: self.setScenegraphPixmap(self.__pixmaps['light']) self.setToolTip("Choose Light") else: self.setScenegraphPixmap(self.__pixmaps['camera']) self.setToolTip("Choose Camera")
def __init__(self, parent, node): node.upgrade() self.__node = node QtGui.QWidget.__init__(self, parent) QtGui.QVBoxLayout(self) self.__frozen = True self.__updateTreeOnIdle = False self.__selectedPonyPolicy = None self.__preselectName = None # location FormWidget locationPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('location')) factory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory w = factory.buildWidget(self, locationPolicy) self.layout().addWidget(w) # toolbar self.__toolbarLayout = QtGui.QHBoxLayout() self.layout().addItem(self.__toolbarLayout) self.__addButton = UI4.Widgets.ToolbarButton( 'Add Pony', self, UI4.Util.IconManager.GetPixmap('Icons/plus16.png'), rolloverPixmap=UI4.Util.IconManager.GetPixmap( 'Icons/plusHilite16.png')) self.connect(self.__addButton, QtCore.SIGNAL('clicked()'), self.__addButtonClicked) self.__toolbarLayout.addWidget(self.__addButton) self.__toolbarLayout.addStretch() # tree widget self.__treeStretchBox = UI4.Widgets.StretchBox(self, allowHorizontal=False, allowVertical=True) self.layout().addWidget(self.__treeStretchBox) self.__treeWidget = QT4Widgets.SortableTreeWidget( self.__treeStretchBox) self.__treeWidget.setHeaderLabels(['Name']) self.__treeWidget.setSelectionMode(QtGui.QTreeWidget.SingleSelection) self.__treeWidget.setAllColumnsShowFocus(True) self.__treeWidget.setRootIsDecorated(False) self.__treeWidget.header().setResizeMode( QtGui.QHeaderView.ResizeToContents) self.__treeWidget.header().setClickable(False) self.connect(self.__treeWidget, QtCore.SIGNAL('itemSelectionChanged()'), self.__treeWidgetSelectionChanged) self.connect(self.__treeWidget, QtCore.SIGNAL('keyPressEvent'), self.__treeWidgetKeyPressCallback) self.__treeStretchBox.layout().addWidget(self.__treeWidget) self.__treeStretchBox.setFixedHeight(120) self.__formItemTree = QT4FormWidgets.FormItemTree(self) self.layout().addWidget(self.__formItemTree) self.__updateTreeContents() self.layout().addStretch()
def __init__(self, parent, node): """ Initialize the editor and set up UI """ self.__node = node self.__preselectionKey = None self.__lightselectionKey = None self.__editorKey = None self.__updating = False QtGui.QWidget.__init__(self, parent) QtGui.QHBoxLayout(self) self.__treeLayout = QtGui.QVBoxLayout() self.layout().addLayout(self.__treeLayout) # toolbar { self.__treeToolbarLayout = QtGui.QHBoxLayout() self.__treeLayout.addLayout(self.__treeToolbarLayout) self.__addButton = UI4.Widgets.ToolbarButton( 'Add Render Pass', self, UI4.Util.IconManager.GetPixmap('Icons/plus16.png'), rolloverPixmap = UI4.Util.IconManager.GetPixmap( 'Icons/plusHilite16.png')) @connectsignal(self.__addButton, 'clicked()') def addButtonClick(): renderPass = self.__node.addRenderPass('pass1') self.__preselectionKey = hash(renderPass.getShadowBranchNode()) self.__treeToolbarLayout.addWidget(self.__addButton) self.__treeToolbarLayout.addStretch() # } self.__treeStretchBox = UI4.Widgets.StretchBox(self, allowHorizontal=True, allowVertical=True) self.__treeLayout.addWidget(self.__treeStretchBox) ####################################################################### # Set up the treeWidget which represents the passes treeWidget = QT4Widgets.SortableTreeWidget(self.__treeStretchBox) treeWidget.setHeaderLabels(['Name']) treeWidget.setSelectionMode(QtGui.QTreeWidget.ExtendedSelection) treeWidget.setAllColumnsShowFocus(True) treeWidget.setRootIsDecorated(False) treeWidget.header().setResizeMode(QtGui.QHeaderView.ResizeToContents) treeWidget.header().setClickable(False) treeWidget.header().hide() treeWidget.setDraggable(True) ####################################################################### # treeWidget events @connectsignal(treeWidget, 'mousePressEvent') def treeWidgetMousePressEvent(event): """ Handle mouse events """ # Set up context menu (right-click) if event.button() == QtCore.Qt.RightButton: item = treeWidget.itemAt(event.pos()) if not item: return scriptItem = item.getItemData() item.setHiliteColor(QtGui.QColor(32,32,32)) treeWidget.update(treeWidget.indexFromItem(item)) menu = QtGui.QMenu(None) # Add 'Delete' action menu.addAction('Delete', scriptItem.delete) menu.addSeparator() # Add 'View From ShadowBranch Node' action def viewNode(): NodegraphAPI.SetNodeViewed( scriptItem.getShadowBranchNode(), True, exclusive=True) action = menu.addAction('View From ShadowBranch Node',viewNode) action.setIcon(UI4.Util.IconManager.GetIcon( 'Icons/AttributeEditor/blue_snapback.png')) # Show menu pos = event.pos() pos = treeWidget.mapToGlobal(QtCore.QPoint( pos.x(), pos.y())) try: menu.exec_(pos) finally: item.setHiliteColor(None) treeWidget.update(treeWidget.indexFromItem(item)) event.accept() @connectsignal(treeWidget, 'keyPressEvent') def keyPressEvent(event): """ Handle key events """ selectedItems = treeWidget.selectedItems() if not selectedItems: return # Single selection for now scriptItem = selectedItems[0].getItemData() # Delete key: Remove selected items if event.key() == QtCore.Qt.Key_Delete: for item in selectedItems: item.getItemData().delete() # Configure treeWidget callbacks and delegates self.__treeWidget = treeWidget self.__treeWidget.setItemDelegate( self.RenderPassItemDelegate(self.__treeWidget)) self.__handleDragEvents(self.__treeWidget) self.connect(treeWidget, QtCore.SIGNAL('itemSelectionChanged()'), self.__selectionChangedCallback) # Add treeWidget to layout self.__treeStretchBox.layout().addWidget(treeWidget) self.__treeStretchBox.setFixedHeight(160) self.__treeStretchBox.setFixedWidth(120) self.__treeLayout.addStretch() # Layout settings self.__editorMainLayout = QtGui.QVBoxLayout() self.layout().addLayout(self.__editorMainLayout, 10) self.__editorMainLayout.addSpacing(4) self.__editorWidget = QtGui.QWidget(self) self.__editorMainLayout.addWidget(self.__editorWidget) QtGui.QVBoxLayout(self.__editorWidget) self.__editorMainLayout.addStretch() # Create lightSettings widget containing the UI for a light self.__lightSettingsWidget = QtGui.QWidget(self) self.__editorWidget.layout().addWidget(self.__lightSettingsWidget) QtGui.QVBoxLayout(self.__lightSettingsWidget)
def __buildUI(self): layout = QtGui.QVBoxLayout(self) fileLayout = QtGui.QHBoxLayout() formatLayout = QtGui.QHBoxLayout() filenamePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('Filename')) factory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory filenameLine = factory.buildWidget(self, filenamePolicy) fileLayout.addWidget(filenameLine) formatPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('Format')) formatParam = factory.buildWidget(self, formatPolicy) BitDepthPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('BitDepth')) BitDepthParam = factory.buildWidget(self, BitDepthPolicy) tiledPolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('Tiled')) tiledParam = factory.buildWidget(self, tiledPolicy) mergePolicy = UI4.FormMaster.CreateParameterPolicy( None, self.__node.getParameter('MergeAOVs')) mergeParam = factory.buildWidget(self, mergePolicy) formatLayout.addWidget(formatParam) formatLayout.addWidget(BitDepthParam) formatLayout.addWidget(tiledParam) overallListLayout = QtGui.QHBoxLayout() globalListLayout = QtGui.QVBoxLayout() sceneListLayout = QtGui.QVBoxLayout() __labelAOV1 = QtGui.QLabel('AOV List') __labelAOV2 = QtGui.QLabel('Scene AOVs') globalListLayout.addWidget(__labelAOV1) sceneListLayout.addWidget(__labelAOV2) self.globalAovsList = QtGui.QListWidget() self.globalAovsList.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) self.globalAovsList.itemDoubleClicked.connect(self.__addButtonClicked) globalListLayout.addWidget(self.globalAovsList) self.scenAovsList = QtGui.QListWidget() self.scenAovsList.setSelectionMode( QtGui.QAbstractItemView.ExtendedSelection) self.scenAovsList.itemDoubleClicked.connect(self.__removeButtonClicked) self.scenAovsList.itemClicked.connect(self.showNodeParams) sceneListLayout.addWidget(self.scenAovsList) btnLayout = QtGui.QHBoxLayout() __addAovBtn = QtGui.QPushButton('>>') self.connect(__addAovBtn, QtCore.SIGNAL('clicked()'), self.__addButtonClicked) globalListLayout.addWidget(__addAovBtn) customBtn = QtGui.QPushButton('Custom') customBtn.clicked.connect(self.__customClicket) btnLayout.addWidget(customBtn) __removeAovBtn = QtGui.QPushButton('<<') self.connect(__removeAovBtn, QtCore.SIGNAL('clicked()'), self.__removeButtonClicked) btnLayout.addWidget(__removeAovBtn) __scrollWidget = QtGui.QWidget() # __scrollWidget.setMinimumHeight(350) __scrollWidget.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.scrollLayout = QtGui.QVBoxLayout(__scrollWidget) scrollArea = QtGui.QScrollArea() scrollArea.setWidgetResizable(True) scrollArea.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) scrollArea.setMinimumHeight(200) scrollArea.setWidget(__scrollWidget) sceneListLayout.addLayout(btnLayout) overallListLayout.addLayout(globalListLayout) overallListLayout.addLayout(sceneListLayout) layout.addLayout(fileLayout) layout.addLayout(formatLayout) layout.addWidget(mergeParam) layout.addWidget(QHLine()) layout.addLayout(overallListLayout) # layout.addLayout(btnLayout) layout.addWidget(scrollArea)
def __init__(self, parent, node): """ Initializes an instance of the class. """ QtGui.QWidget.__init__(self, parent) self.__node = node # Get the SuperTool's parameters rootLocationsParameter = self.__node.getParameter('rootLocations') passesParameter = self.__node.getParameter('passes') saveToParameter = self.__node.getParameter('saveTo') writeMatexOutButton = self.__node.getParameter("writeMaterialxOut") CreateParameterPolicy = UI4.FormMaster.CreateParameterPolicy self.__rootLocationsParameterPolicy = CreateParameterPolicy( None, rootLocationsParameter) self.__passesParameterPolicy = CreateParameterPolicy( None, passesParameter) self.__saveToParameterPolicy = CreateParameterPolicy( None, saveToParameter) self.__writeMatexOutButtonPolicy = CreateParameterPolicy( None, writeMatexOutButton) WidgetFactory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory rootLocationsWidget = WidgetFactory.buildWidget( self, self.__rootLocationsParameterPolicy) passesWidget = WidgetFactory.buildWidget(self, self.__passesParameterPolicy) saveToWidget = WidgetFactory.buildWidget(self, self.__saveToParameterPolicy) writeMatexOutButtonWidget = WidgetFactory.buildWidget( self, self.__writeMatexOutButtonPolicy) # Build a group widget self.group_layout = passesWidget.getPopdownWidget().layout() self.add_button = QtGui.QPushButton("Add New Pass") self.remove_button = QtGui.QPushButton("Remove Last Pass") self.connect(self.add_button, QtCore.SIGNAL('clicked(bool)'), self.onAddButtonPressed) self.connect(self.remove_button, QtCore.SIGNAL('clicked(bool)'), self.onRemoveButtonPressed) # parameter = self.__node.getParameters().getChild("look_origin") # if not parameter: # parameter = self.__node.getParameters().createChildString("look_origin", 'default') # policy = UI4.FormMaster.CreateParameterPolicy(None, parameter) # widget = WidgetFactory.buildWidget(self, policy) if not passesParameter.getChild("default"): passesParameter.createChildString("default", 'default') self.button_layout = QtGui.QHBoxLayout() self.button_layout.addWidget(self.add_button) self.button_layout.addWidget(self.remove_button) self.group_layout.addLayout(self.button_layout) line = QtGui.QFrame() line.setFrameShape(QtGui.QFrame.HLine) line.setFrameShadow(QtGui.QFrame.Sunken) # Create a layout and add the parameter editing widgets to it mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(rootLocationsWidget) mainLayout.addWidget(passesWidget) mainLayout.addWidget(line) mainLayout.addWidget(saveToWidget) mainLayout.addWidget(writeMatexOutButtonWidget) # Apply the layout to the widget self.setLayout(mainLayout)
def __init__(self, parent, node): """ Initializes an instance of the class. """ QtGui.QWidget.__init__(self, parent) self.__node = node # Get the SuperTool's parameters tagetsParameter = self.__node.getParameter('tagets') tunningParameter = self.__node.getParameter('tuning') translateParameter = self.__node.getParameter('translate') rotatexyzParameter = self.__node.getParameter('rotatexyz') scalebackParameter = self.__node.getParameter('scaleback') ####################################################################### # Create parameter policies from the parameters and register callbacks # to be notified if anything changes in the underlying parameter. # # This is your Controller in the MVC pattern. ####################################################################### CreateParameterPolicy = UI4.FormMaster.CreateParameterPolicy self.__tagetsParameterPolicy = CreateParameterPolicy( None, tagetsParameter) self.__tagetsParameterPolicy.addCallback( self.tagetsParameterChangedCallback) self.__tunningParameterPolicy = CreateParameterPolicy( None, tunningParameter) self.__rotationxParameterPolicy = CreateParameterPolicy( None, translateParameter) self.__rotatexyzParameterPolicy = CreateParameterPolicy( None, rotatexyzParameter) self.__scalebackParameterPolicy = CreateParameterPolicy( None, scalebackParameter) ####################################################################### # Create UI widgets from the parameter policies to display the values # contained in the parameter. # # The widget factory will return an appropriate widget based on the # parameters type and any widget hints you've specified. For example # for a string parameter the factory will return a simple text editing # widget. But if you specify a widget hint of # 'widget': 'newScenegraphLocation' the factory will return a widget # that interacts with the Scene Graph tab. # # Other widget types you can use are: # number -> Number Editor Widget # assetIdInput -> Widget that provides hooks to your Asset system. # color -> Widget to display a color # # This is your View in the MVC pattern. ####################################################################### WidgetFactory = UI4.FormMaster.KatanaFactory.ParameterWidgetFactory tagetsWidget = WidgetFactory.buildWidget( self, self.__tagetsParameterPolicy) tunningWidget = WidgetFactory.buildWidget( self, self.__tunningParameterPolicy) translateWidget = WidgetFactory.buildWidget( self, self.__rotationxParameterPolicy) rotatexyzWidget = WidgetFactory.buildWidget( self, self.__rotatexyzParameterPolicy) scalebackWidget = WidgetFactory.buildWidget( self, self.__scalebackParameterPolicy) self.tunning_layout = tunningWidget.getPopdownWidget().layout() self.dial_topdown = QtGui.QDial() self.dial_topdown.setWrapping(True) self.dial_topdown.setNotchesVisible(True) self.dial_leftright = QtGui.QDial() self.dial_leftright.setWrapping(True) self.dial_leftright.setNotchesVisible(True) HBoxLayout = QtGui.QHBoxLayout() HBoxLayout_dial = QtGui.QHBoxLayout() VBoxLayout_button = QtGui.QVBoxLayout() VBoxLayout_data = QtGui.QVBoxLayout() VBoxLayout_data.addWidget(translateWidget) VBoxLayout_data.addWidget(rotatexyzWidget) VBoxLayout_data.addWidget(scalebackWidget) HBoxLayout_dial.addWidget(self.dial_topdown) HBoxLayout_dial.addSpacing(15) HBoxLayout_dial.addWidget(self.dial_leftright) # VBoxLayout_data.setFixedWidget HBoxLayout.addSpacing(50) HBoxLayout.addLayout(HBoxLayout_dial) HBoxLayout.addSpacing(30) HBoxLayout.addLayout(VBoxLayout_data) self.tunning_layout.addLayout(HBoxLayout) mainLayout = QtGui.QVBoxLayout() mainLayout.addWidget(tagetsWidget) mainLayout.addWidget(tunningWidget) # Apply the layout to the widget self.setLayout(mainLayout)
def buildUI(self): layout = QtGui.QVBoxLayout(self) ######################################################### # upper row controlWidget = QtGui.QWidget() controlLayout = QtGui.QHBoxLayout(controlWidget) layout.addWidget(controlWidget) # reload reloadBtn = QtGui.QPushButton('RELOAD') reloadBtn.setStyleSheet("background-color: #1f366b;") reloadBtn.clicked.connect(self.clearSearch) reloadBtn.clicked.connect(self.populate) reloadBtn.clicked.connect(self.categories) # standard MTL createStd = QtGui.QPushButton('Standard Material') createStd.setStyleSheet("background-color: #36743f;") createStd.clicked.connect(self.createStandard) createStd.setMaximumWidth(110) # thumbnail size self.icon_size = QtGui.QSpinBox() self.icon_size.setRange(60, 260) self.icon_size.setValue(128) self.icon_size.setSingleStep(20) self.icon_size.valueChanged.connect(self.populate) self.icon_size.setMaximumWidth(50) label = QtGui.QLabel() label.setText('Thumbnail size:') label.setMaximumWidth(100) #layout controlLayout.addWidget(label) controlLayout.addWidget(self.icon_size) controlLayout.addWidget(reloadBtn) controlLayout.addWidget(createStd) ######################################################### # second row searchWidget = QtGui.QWidget() searchLayout = QtGui.QHBoxLayout(searchWidget) layout.addWidget(searchWidget) # search field label1 = QtGui.QLabel() label1.setText('Search:') label1.setMaximumWidth(50) self.searchField = QtGui.QLineEdit() self.searchField.returnPressed.connect(self.populate) # self.searchField.textChanged.connect(self.searchCmd) self.searchField.setMaximumWidth(650) # categories label2 = QtGui.QLabel() label2.setText('Category:') label2.setMaximumWidth(80) self.catedoryCB = QtGui.QComboBox() self.catedoryCB.currentIndexChanged.connect(self.populate) self.catedoryCB.setMaximumWidth(100) # layout searchLayout.addWidget(label1) searchLayout.addWidget(self.searchField) searchLayout.addWidget(label2) searchLayout.addWidget(self.catedoryCB) ######################################################### # main list view self.listWidget = QtGui.QListWidget() self.listWidget.setViewMode(QtGui.QListWidget.IconMode) self.listWidget.setResizeMode(QtGui.QListWidget.Adjust) self.listWidget.itemDoubleClicked.connect(self.doubleCkicked) self.listWidget.setStyleSheet("QListWidget::item {" "border-style: solid;" "border-width:3px;" "background-color: #252525;" "}" "QListWidget::item:selected {" "background-color: #1e1e1e;" "}") layout.addWidget(self.listWidget)
def __buildScriptArea(self, parent): self.__presetToolbar = QtGui.QHBoxLayout() parent.layout().addLayout(self.__presetToolbar) self.__presetToolbar.addWidget(QtGui.QLabel('Presets:', parent)) self.__presetsMenu = QtGui.QComboBox(parent) self.__presetsMenu.addItems( self.__presetNames ) self.__presetToolbar.addWidget(self.__presetsMenu) self.__presetLoadButton = QtGui.QPushButton('Load', parent) self.connect(self.__presetLoadButton, QtCore.SIGNAL('clicked()'), self._loadPreset) self.__presetToolbar.addWidget(self.__presetLoadButton) self.__presetToolbar.addStretch() self.__scriptText = TabbableTextEdit(parent) parent.layout().addWidget(self.__scriptText) self.__scriptToolbar = QtGui.QHBoxLayout() parent.layout().addLayout(self.__scriptToolbar) self.__scriptHelp = QT4FormWidgets.InputWidgets.HelpButton( parent) self.__scriptHelp.setAutoDefault(False) self.__scriptHelp.setHelpText(""" local variables: <br> <b>nodeName</b>, <b>paramName</b> these are inputs, changing has no result<br> <b>dstName</b>, <b>dstPage</b> change these values sets exposure<br> <b>hints</b> set fields of this dict to assign widget hints<br> <b>persistentData</b>, a dictionary that is reset each time 'Run Script' is pressed, rather than just for each parameter. Useful if you wish to store data about previously visited parameters, for example. """) self.__scriptToolbar.addWidget(self.__scriptHelp) self.__scriptScope = QtGui.QComboBox(parent) self.__scriptToolbar.addWidget(QtGui.QLabel('Apply Script To', parent)) self.__scriptScope.addItems( ['All Visible Items', 'Selected Visible Items', 'All Items']) self.__scriptToolbar.addWidget(self.__scriptScope) self.__scriptToolbar.addStretch() self.__undoDepth = 0 self.__scriptUndoButton = QtGui.QPushButton('Undo', parent) self.__scriptUndoButton.setEnabled(False) self.connect(self.__scriptUndoButton, QtCore.SIGNAL('clicked()'), self.__undo) self.__scriptToolbar.addWidget(self.__scriptUndoButton) self.__scriptRunButton = QtGui.QPushButton('Run Script', parent) #self.__scriptRunButton.setEnabled(False) self.connect(self.__scriptRunButton, QtCore.SIGNAL('clicked()'), self.__evaluateScript) self.__scriptToolbar.addWidget(self.__scriptRunButton)