예제 #1
0
    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)
예제 #2
0
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()
예제 #3
0
    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()
예제 #4
0
    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 __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)
예제 #6
0
    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)
예제 #7
0
    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)