def __init__(self, parent):
        super(ContextualNodeList, self).__init__(parent)
        self.setFocusPolicy(QtCore.Qt.StrongFocus)
        self.setFocus()

        self.setFixedSize(250, 200)

        self.searchLineEdit = SearchLineEdit(self)
        self.searchLineEdit.setObjectName('contextNodeListSearchLine')
        # self.searchLineEdit.setFocusPolicy(QtCore.Qt.StrongFocus)
        self.searchLineEdit.setFocus()

        self.nodesList = NodeList(self)

        self.ks = KrakenSystem.getInstance()

        self.componentClassNames = []
        for componentClassName in sorted(self.ks.getComponentClassNames()):
            cmpCls = self.ks.getComponentClass(componentClassName)
            if cmpCls.getComponentType() != 'Guide':
                continue

            self.componentClassNames.append(componentClassName)

        self.nodes = None
        self.showClosestNames()
        self.searchLineEdit.textEdited.connect(self.showClosestNames)
        self.nodesList.itemClicked.connect(self.createNode)

        self.setIndex(0)

        grid = QtWidgets.QGridLayout()
        grid.addWidget(self.searchLineEdit, 0, 0)
        grid.addWidget(self.nodesList, 1, 0)
        self.setLayout(grid)
Exemple #2
0
    def __init__(self, parent):
        super(ComponentLibrary, self).__init__(parent)

        self.setMinimumWidth(175)

        self.componentTreeWidget = ComponentTreeWidget(self)

        grid = QtWidgets.QGridLayout()
        grid.addWidget(self.componentTreeWidget, 0, 0)
        self.setLayout(grid)
Exemple #3
0
    def __init__(self, valueController, parent=None):

        super(Image2DEditor, self).__init__(valueController, parent=parent)

        self._grid = QtWidgets.QGridLayout()
        self._grid.setContentsMargins(0, 0, 0, 0)

        self.__value = self._invokeGetter()

        # format
        formatLabelEditor = QtWidgets.QLabel("format", self)
        formatLabelEditor.setMinimumWidth(20)
        self._formatEditor = QtWidgets.QLineEdit(self)
        self._formatEditor.setText(self.__value.pixelFormat)
        self._formatEditor.setReadOnly(True)

        self._grid.addWidget(formatLabelEditor, 0, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop)
        self._grid.addWidget(self._formatEditor, 0, 1)

        # width
        widthLabelEditor = QtWidgets.QLabel("width", self)
        widthLabelEditor.setMinimumWidth(20)
        self._widthEditor = QtWidgets.QSpinBox(self)
        self._widthEditor.setMinimum(0)
        self._widthEditor.setMaximum(9999999)
        self._widthEditor.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        self._widthEditor.setValue(self.__value.width)
        self._widthEditor.setReadOnly(True)

        self._grid.addWidget(widthLabelEditor, 1, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop)
        self._grid.addWidget(self._widthEditor, 1, 1)

        # height
        heightLabelEditor = QtWidgets.QLabel("height", self)
        heightLabelEditor.setMinimumWidth(20)
        self._heightEditor = QtWidgets.QSpinBox(self)
        self._heightEditor.setMinimum(0)
        self._heightEditor.setMaximum(9999999)
        self._heightEditor.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
        self._heightEditor.setValue(self.__value.height)
        self._heightEditor.setReadOnly(True)

        self._grid.addWidget(heightLabelEditor, 2, 0, QtCore.Qt.AlignRight | QtCore.Qt.AlignTop)
        self._grid.addWidget(self._heightEditor, 2, 1)

        self._thumbnailSize = 40
        self.tumbnailEditor = QtWidgets.QLabel()
        self.tumbnailEditor.setBackgroundRole(QtGui.QPalette.Base)
        self.tumbnailEditor.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred)
        self.tumbnailEditor.setScaledContents(True)

        self._updateThumbnail()

        self.setLayout(self._grid)
        self.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Preferred)
Exemple #4
0
    def createLayout(self):
        self._mainLayout = QtWidgets.QVBoxLayout()
        self._mainLayout.setContentsMargins(10, 10, 10, 10)

        self._commentTextEdit = QtWidgets.QTextEdit(self)
        self._commentTextEdit.setText(self.nodeItem.getComment())
        self._commentTextEdit.setMinimumHeight(20)
        self._commentTextEdit.setMaximumHeight(40)

        self._settingsLayout = QtWidgets.QGridLayout()
        self._settingsLayout.setContentsMargins(10, 10, 10, 10)
        self._settingsLayout.setSpacing(3)
        self._settingsLayout.setColumnMinimumWidth(0, 75)
        self._settingsLayout.setColumnStretch(0, 0)
        self._settingsLayout.setColumnStretch(1, 1)

        # Settings widgets
        self._colorLabel = QtWidgets.QLabel('Color', self)
        self._colorLabel.setObjectName('color_label')
        self._colorLabel.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding,
                                       QtWidgets.QSizePolicy.Fixed)
        self._colorLabel.setMinimumWidth(75)
        self._colorWidget = KColorWidget(self, self.nodeItem.getColor())

        self._settingsLayout.addWidget(self._colorLabel,
                                       0,
                                       0,
                                       1,
                                       1,
                                       alignment=QtCore.Qt.AlignLeft)
        self._settingsLayout.addWidget(self._colorWidget,
                                       0,
                                       1,
                                       1,
                                       1,
                                       alignment=QtCore.Qt.AlignLeft)

        # OK and Cancel buttons
        self.buttons = QtWidgets.QDialogButtonBox(
            QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
            QtCore.Qt.Horizontal, self)

        self._mainLayout.addWidget(self._commentTextEdit)
        self._mainLayout.addLayout(self._settingsLayout)
        self._mainLayout.addStretch(1)
        self._mainLayout.addWidget(self.buttons)

        self.setLayout(self._mainLayout)
Exemple #5
0
    def __init__(self, valueController, parent=None):

        super(NestedEditor, self).__init__(valueController, parent=parent)

        self._value = self._invokeGetter()
        self._labels = {}
        self._editors = {}
        self._gridRow = 0
        self._grid = QtWidgets.QGridLayout()
        self._grid.setColumnStretch(1, 1)

        if self._valueController.hasOption('displayGroupbox'):
            groupBox = QtWidgets.QGroupBox(self._valueController.getDataType())
            groupBox.setLayout(self._grid)
            vbox = QtWidgets.QVBoxLayout()
            vbox.addWidget(groupBox)
            self.setLayout(vbox)
        else:
            self._grid.setContentsMargins(0, 0, 0, 0)
            self.setLayout(self._grid)
Exemple #6
0
    def __init__(self, objectname='inspector', parent=None):

        # constructors of base classes
        super(BaseInspector, self).__init__(parent)

        # Note: we must set the object name before constructing the layout.
        self.setObjectName(objectname)

        # layout
        self.mainLayout = QtWidgets.QVBoxLayout(self)
        self.setLayout(self.mainLayout)
        self.mainLayout.setContentsMargins(0, 0, 0, 0)

        sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                           QtWidgets.QSizePolicy.Expanding)
        sizePolicy.setHorizontalStretch(0)
        sizePolicy.setVerticalStretch(0)

        self.paramsFrame = QtWidgets.QScrollArea(self)
        self.paramsFrame.setWidgetResizable(True)
        self.paramsFrame.setEnabled(True)
        self.paramsFrame.setSizePolicy(sizePolicy)
        # self.paramsFrame.setFrameStyle(QtWidgets.QFrame.NoFrame)
        self.paramsFrame.setFrameStyle(QtWidgets.QFrame.StyledPanel)

        self.paramsGroup = QtWidgets.QWidget(self.paramsFrame)
        self.paramsFrame.setWidget(self.paramsGroup)

        self.paramsLayout = QtWidgets.QGridLayout()
        self.paramsLayout.setAlignment(QtCore.Qt.AlignTop)

        self.paramsGroup.setLayout(self.paramsLayout)

        self.mainLayout.addWidget(self.paramsFrame)
        self.widgets = []
        self.controllers = []
        self.gridRow = 0
Exemple #7
0
    def __init__(self, valueController, parent=None):
        super(DictEditor, self).__init__(valueController, parent=parent)

        vbox = QtWidgets.QVBoxLayout()
        vbox.setSpacing(2)

        self.setLayout(vbox)

        self._grid = QtWidgets.QGridLayout()
        self._grid.setContentsMargins(0, 0, 0, 0)

        gridEditor = QtWidgets.QWidget(self)
        gridEditor.setLayout(self._grid)

        vbox.addWidget(gridEditor, 1)

        self.setLayout(self._grid)
        self.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding,
                           QtWidgets.QSizePolicy.Preferred)

        self.__enableAddRemoveElements = valueController.getOption(
            'enableAddRemoveElements', True)
        self.__addElementButtonLabel = valueController.getOption(
            'addElementButtonLabel', 'add')
        self.__removeElementButtonLabel = valueController.getOption(
            'removeElementButtonLabel', 'remove')
        self.__defaultKeyValue = valueController.getOption(
            'defaultKeyValue', 'key')

        self._dataType = valueController.getDataType()

        # print valueController.getOwner().getScene().getFabricClient().RT.getAggregateMemberInfo(self._dataType)

        self.determineElementType()
        self.build()
        self.setEditable(valueController.isEditable())
Exemple #8
0
    def __init__(self, valueController, parent=None):
        super(ArrayEditor, self).__init__(valueController, parent=parent)

        self.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding,
                           QtWidgets.QSizePolicy.MinimumExpanding)

        self._enableAddElements = True  #valueController.getOption('enableAddElements', valueController.getOption('enableAddRemoveElements', True))
        self._enableRemoveElements = True  #valueController.getOption('enableRemoveElements', valueController.getOption('enableAddRemoveElements', True))

        self._addElementButtonLabel = 'add'  #valueController.getOption('addElementButtonLabel', 'add')
        self._removeElementButtonLabel = 'remove'  #valueController.getOption('removeElementButtonLabel', 'remove')

        self._displayGroupBox = False  #self._valueController.getOption('displayArrayLimit', True)
        self._displayIndex = False  #self._valueController.getOption('displayArrayLimit', True)
        self._displayArrayLimit = False  #self._valueController.getOption('displayArrayLimit', True)
        self._displayNumElements = False  #self._valueController.getOption('displayNumElements', True)
        self._arrayLimit = 3  #self._valueController.getOption('arrayLimit', 3)

        self._dataType = valueController.getDataType()

        self._valueArray = self._invokeGetter()
        self.determineElementType()

        vbox = QtWidgets.QVBoxLayout()

        if self._displayArrayLimit or self._displayNumElements:
            topToolbar = QtWidgets.QWidget(self)
            topToolbarLayout = QtWidgets.QHBoxLayout()
            topToolbar.setLayout(topToolbarLayout)
            vbox.addWidget(topToolbar, 0)

            if self._displayNumElements:
                topToolbarLayout.addWidget(
                    QtWidgets.QLabel(
                        'Num Elements:' + str(len(self._valueArray)), self))

            if self._displayArrayLimit:
                # display a widget to enable setting the maximum number of displayed elements.

                label = QtWidgets.QLabel('Max Displayed elements:', self)
                # label.setSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
                topToolbarLayout.addWidget(label, 0)

                spinBox = QtWidgets.QSpinBox(self)
                spinBox.setMinimum(0)
                spinBox.setMaximum(100)
                # spinBox.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
                spinBox.setValue(self._arrayLimit)

                def setArrayLimit(value):
                    self._arrayLimit = value
                    self.rebuild()

                spinBox.valueChanged.connect(setArrayLimit)
                topToolbarLayout.addWidget(spinBox, 0)
            topToolbarLayout.addStretch(1)

        self._grid = QtWidgets.QGridLayout()
        self._grid.setContentsMargins(0, 0, 0, 0)

        widget = QtWidgets.QWidget(self)
        widget.setLayout(self._grid)
        vbox.addWidget(widget)

        if self._displayGroupBox:
            groupBox = QtWidgets.QGroupBox(self._valueController.getDataType())
            groupBox.setLayout(vbox)
            groupBox.setSizePolicy(QtWidgets.QSizePolicy.Expanding,
                                   QtWidgets.QSizePolicy.Expanding)

            groupBoxLayout = QtWidgets.QVBoxLayout()
            groupBoxLayout.addWidget(groupBox, 0)
            self.setLayout(groupBoxLayout)
        else:
            self.setLayout(vbox)

        self.build()

        if self._elementValueType == 'String':
            self.setAcceptDrops(self.isEditable())
Exemple #9
0
    def createLayout(self):

        # Parent Layout
        self._topLayout = QtWidgets.QVBoxLayout()
        self._topLayout.setContentsMargins(0, 0, 0, 0)
        self._topLayout.setSpacing(0)

        self._mainWidget = QtWidgets.QWidget()
        self._mainWidget.setObjectName('mainPrefWidget')

        # Main Layout
        self._mainLayout = QtWidgets.QVBoxLayout(self._mainWidget)
        self._mainLayout.setContentsMargins(0, 0, 0, 0)
        self._mainLayout.setSpacing(0)

        self._preferenceLayout = QtWidgets.QGridLayout()
        self._preferenceLayout.setContentsMargins(10, 10, 10, 10)
        self._preferenceLayout.setSpacing(3)
        self._preferenceLayout.setColumnMinimumWidth(0, 200)
        self._preferenceLayout.setColumnStretch(0, 1)
        self._preferenceLayout.setColumnStretch(1, 2)

        # Add widgets based on type here
        preferences = self.parentWidget().window().preferences.getPreferences()
        i = 0
        for k, v in preferences.iteritems():
            labelFrameWidget = QtWidgets.QFrame()
            labelFrameWidget.setObjectName('prefLabelWidgetFrame')
            labelFrameWidget.setFrameStyle(QtWidgets.QFrame.NoFrame
                                           | QtWidgets.QFrame.Plain)
            labelFrameWidget.setToolTip(v['description'])
            labelFrameLayout = QtWidgets.QHBoxLayout()

            prefLabel = QtWidgets.QLabel(v['nice_name'], self)
            prefLabel.setProperty('labelClass', 'preferenceLabel')
            prefLabel.setObjectName(k + "_label")
            prefLabel.setSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding,
                                    QtWidgets.QSizePolicy.Fixed)
            prefLabel.setMinimumWidth(200)

            labelFrameLayout.addWidget(prefLabel)
            labelFrameWidget.setLayout(labelFrameLayout)

            self._preferenceLayout.addWidget(labelFrameWidget, i, 0)

            if v['type'] == 'bool':
                valueFrameWidget = QtWidgets.QFrame()
                valueFrameWidget.setObjectName('prefValueWidgetFrame')
                valueFrameWidget.setFrameStyle(QtWidgets.QFrame.NoFrame
                                               | QtWidgets.QFrame.Plain)
                valueFrameLayout = QtWidgets.QHBoxLayout()

                valueWidget = QtWidgets.QCheckBox(self)
                valueWidget.setObjectName(k + "_valueWidget")
                valueWidget.setChecked(v['value'])

                valueFrameLayout.addWidget(valueWidget)
                valueFrameWidget.setLayout(valueFrameLayout)

            self._preferenceLayout.addWidget(valueFrameWidget, i, 1, 1, 1)
            self.prefValueWidgets.append(valueWidget)

            i += 1

        # OK and Cancel buttons
        buttonLayout = QtWidgets.QHBoxLayout()
        buttonLayout.setContentsMargins(10, 10, 10, 10)
        buttons = QtWidgets.QDialogButtonBox(
            QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
            QtCore.Qt.Horizontal, self)

        buttons.accepted.connect(self.accept)
        buttons.rejected.connect(self.reject)

        buttonLayout.addWidget(buttons)

        # Menu Bar
        self.menu_bar = QtWidgets.QMenuBar()
        self.file_menu = self.menu_bar.addMenu('&File')
        self.importPrefAction = self.file_menu.addAction('&Import...')
        self.exportPrefAction = self.file_menu.addAction('&Export...')

        self._mainLayout.addWidget(self.menu_bar)
        self._mainLayout.addLayout(self._preferenceLayout)
        self._mainLayout.addStretch(1)
        self._mainLayout.addLayout(buttonLayout)

        self._topLayout.addWidget(self._mainWidget)
        self.setLayout(self._topLayout)