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)
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)
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)
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)
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)
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
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())
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())
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)