Example #1
0
 def __init__(self, parent=None, **kwds):
     super(EnumInputWidget, self).__init__(parent=parent, **kwds)
     values = []
     if PinSpecifires.VALUE_LIST in kwds["pinAnnotations"]:
         values = kwds["pinAnnotations"][PinSpecifires.VALUE_LIST]
     self.enumBox = EnumComboBox(values)
     self.enumBox.setEditable(False)
     if "editable" in kwds["pinAnnotations"]:
         self.enumBox.setEditable(kwds["pinAnnotations"]["editable"])
     self.setWidget(self.enumBox)
     self.enumBox.changeCallback.connect(self.dataSetCallback)
Example #2
0
class ObjectPathWIdget(InputWidgetSingle):
    """docstring for ObjectPathWIdget."""
    def __init__(self, parent=None, **kwds):
        super(ObjectPathWIdget, self).__init__(parent=parent, **kwds)
        values = []
        self.enumBox = EnumComboBox(PathsRegistry().getAllPaths())
        self.setWidget(self.enumBox)
        self.enumBox.changeCallback.connect(self.dataSetCallback)

    def blockWidgetSignals(self, bLock=False):
        self.enumBox.blockSignals(bLock)

    def setWidgetValue(self, value):
        self.enumBox.setCurrentText(value)
Example #3
0
 def createInputWidgets(self, inputsCategory, group=None, pins=True):
     validVars = self.graph().getVarList()
     cbVars = EnumComboBox([v.name for v in validVars])
     if self.var is not None:
         cbVars.setCurrentText(self.var.name)
     else:
         cbVars.setCurrentText("")
     cbVars.changeCallback.connect(self.onVarSelected)
     inputsCategory.addWidget("var", cbVars, group=group)
Example #4
0
class EnumInputWidget(InputWidgetSingle):
    """docstring for EnumInputWidget."""
    def __init__(self, parent=None, **kwds):
        super(EnumInputWidget, self).__init__(parent=parent, **kwds)
        values = []
        if PinSpecifires.VALUE_LIST in kwds["pinAnnotations"]:
            values = kwds["pinAnnotations"][PinSpecifires.VALUE_LIST]
        self.enumBox = EnumComboBox(values)
        self.enumBox.setEditable(False)
        if "editable" in kwds["pinAnnotations"]:
            self.enumBox.setEditable(kwds["pinAnnotations"]["editable"])
        self.setWidget(self.enumBox)
        self.enumBox.changeCallback.connect(self.dataSetCallback)

    def blockWidgetSignals(self, bLock=False):
        self.enumBox.blockSignals(bLock)

    def setWidgetValue(self, value):
        index = self.enumBox.findText(value)
        if index > 0:
            self.enumBox.setCurrentIndex(index)
Example #5
0
class EnumInputWIdget(InputWidgetSingle):
    """docstring for EnumInputWIdget."""
    def __init__(self, parent=None, **kwds):
        super(EnumInputWIdget, self).__init__(parent=parent, **kwds)
        self.enumBox = EnumComboBox(kwds["pinAnnotations"]["ValueList"])
        self.enumBox.setEditable(False)
        self.setWidget(self.enumBox)
        self.enumBox.changeCallback.connect(self.dataSetCallback)

    def blockWidgetSignals(self, bLock=False):
        self.enumBox.blockSignals(bLock)

    def setWidgetValue(self, value):
        index = self.enumBox.findText(value)
        if index > 0:
            self.enumBox.setCurrentIndex(index)
Example #6
0
 def createInputWidgets(self, inputsCategory, inGroup=None, pins=True):
     inputsCategory.setButtonName("Variable")
     validVars = self.graph().getVarList()
     cbVars = EnumComboBox([v.name for v in validVars])
     if self.var is not None:
         cbVars.setCurrentText(self.var.name)
     else:
         cbVars.setCurrentText("")
     cbVars.changeCallback.connect(self.onVarSelected)
     inputsCategory.addWidget("var", cbVars, group=inGroup)
     if pins:
         super(UISetVarNode,
               self).createInputWidgets(inputsCategory, inGroup)
Example #7
0
 def __init__(self, parent=None, **kwds):
     super(ObjectPathWIdget, self).__init__(parent=parent, **kwds)
     values = []
     self.enumBox = EnumComboBox(PathsRegistry().getAllPaths())
     self.setWidget(self.enumBox)
     self.enumBox.changeCallback.connect(self.dataSetCallback)
Example #8
0
 def __init__(self, parent=None, **kwds):
     super(EnumInputWIdget, self).__init__(parent=parent, **kwds)
     self.enumBox = EnumComboBox(kwds["pinAnnotations"]["ValueList"])
     self.enumBox.setEditable(False)
     self.setWidget(self.enumBox)
     self.enumBox.changeCallback.connect(self.dataSetCallback)
Example #9
0
    def createPropertiesWidget(self, propertiesWidget):
        baseCategory = CollapsibleFormWidget(headName="Base", modify=True)
        # name
        le_name = QLineEdit(self._rawVariable.name)
        le_name.returnPressed.connect(lambda: self.setName(le_name.text()))
        baseCategory.addWidget("Name", le_name)

        # data type
        cbTypes = EnumComboBox([
            pin.__name__ for pin in getAllPinClasses() if pin.IsValuePin()
            if pin.__name__ != "AnyPin"
        ])
        cbTypes.setCurrentIndex(cbTypes.findText(self.dataType))
        cbTypes.setEditable(False)
        cbTypes.changeCallback.connect(self.setDataType)
        propertiesWidget.addWidget(baseCategory)

        # structure type
        cbStructure = EnumComboBox(
            [i.name for i in (PinStructure.Single, PinStructure.Array)])
        cbStructure.setEditable(False)
        cbStructure.setCurrentIndex(
            cbStructure.findText(self._rawVariable.structure.name))
        cbStructure.changeCallback.connect(self.onStructureChanged)
        propertiesWidget.addWidget(baseCategory)
        baseCategory.addWidget("Type", cbTypes)
        baseCategory.addWidget("Structure", cbStructure)

        valueCategory = CollapsibleFormWidget(headName="Value")

        # current value
        if self._rawVariable.structure == PinStructure.Single:
            if not type(self._rawVariable.value) in {list, set, dict, tuple}:

                def valSetter(x):
                    self._rawVariable.value = x

                w = createInputWidget(
                    self._rawVariable.dataType, valSetter,
                    getPinDefaultValueByType(self._rawVariable.dataType))
                if w:
                    w.setWidgetValue(self._rawVariable.value)
                    w.setObjectName(self._rawVariable.name)
                    valueCategory.addWidget(self._rawVariable.name, w)

        # access level
        cb = QComboBox()
        cb.addItem('public', 0)
        cb.addItem('private', 1)
        cb.addItem('protected', 2)

        def accessLevelChanged(x):
            self._rawVariable.accessLevel = AccessLevel[x]
            EditorHistory().saveState("Change variable access level",
                                      modify=True)

        cb.currentTextChanged.connect(accessLevelChanged)
        cb.setCurrentIndex(self._rawVariable.accessLevel)
        valueCategory.addWidget('Access level', cb)
        propertiesWidget.addWidget(valueCategory)