Added enum placeholder text and disable labels when entry field is disabled.

This commit is contained in:
Markus Lampert
2021-01-03 12:05:58 -08:00
parent 61929d8778
commit a8539e77bc
2 changed files with 46 additions and 58 deletions

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>480</width>
<height>468</height>
<height>452</height>
</rect>
</property>
<property name="windowTitle">
@@ -15,7 +15,7 @@
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<widget class="QLabel" name="labelName">
<property name="text">
<string>Name</string>
</property>
@@ -28,45 +28,20 @@
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Group</string>
<item row="1" column="1">
<widget class="QComboBox" name="propertyGroup">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The category group the property belongs to.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QWidget" name="widget" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QComboBox" name="propertyGroup">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;The category group the property belongs to.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="editable">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<item row="1" column="0">
<widget class="QLabel" name="labelGroup">
<property name="text">
<string>Type</string>
<string>Group</string>
</property>
</widget>
</item>
@@ -77,20 +52,17 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="enumLabel">
<item row="2" column="0">
<widget class="QLabel" name="labelType">
<property name="text">
<string>Enums</string>
<string>Type</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="enumValues"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>ToolTip</string>
<widget class="QLineEdit" name="propertyEnum">
<property name="placeholderText">
<string>val1,val2,val3,...</string>
</property>
</widget>
</item>
@@ -104,6 +76,20 @@
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="labelEnum">
<property name="text">
<string>Enums</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="labelInfo">
<property name="text">
<string>ToolTip</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QWidget" name="widget_2" native="true">
<property name="sizePolicy">
@@ -154,7 +140,7 @@
<tabstop>propertyName</tabstop>
<tabstop>propertyGroup</tabstop>
<tabstop>propertyType</tabstop>
<tabstop>enumValues</tabstop>
<tabstop>propertyEnum</tabstop>
<tabstop>propertyInfo</tabstop>
<tabstop>createAnother</tabstop>
</tabstops>

View File

@@ -149,19 +149,19 @@ class PropertyCreate(object):
self.form.propertyGroup.currentIndexChanged.connect(self.updateUI)
self.form.propertyName.textChanged.connect(self.updateUI)
self.form.propertyType.currentIndexChanged.connect(self.updateUI)
self.form.enumValues.textChanged.connect(self.updateUI)
self.form.propertyEnum.textChanged.connect(self.updateUI)
def updateUI(self):
typeSet = True
if self.propertyIsEnumeration():
self.form.enumLabel.setEnabled(True)
self.form.enumValues.setEnabled(True)
typeSet = self.form.enumValues.text().strip() != ''
self.form.labelEnum.setEnabled(True)
self.form.propertyEnum.setEnabled(True)
typeSet = self.form.propertyEnum.text().strip() != ''
else:
self.form.enumLabel.setEnabled(False)
self.form.enumValues.setEnabled(False)
if self.form.enumValues.text().strip():
self.form.enumValues.setText('')
self.form.labelEnum.setEnabled(False)
self.form.propertyEnum.setEnabled(False)
if self.form.propertyEnum.text().strip():
self.form.propertyEnum.setText('')
ok = self.form.buttonBox.button(QtGui.QDialogButtonBox.Ok)
@@ -181,7 +181,7 @@ class PropertyCreate(object):
def createAnother(self):
return self.form.createAnother.isChecked()
def propertyEnumerations(self):
return [s.strip() for s in self.form.enumValues.text().strip().split(',')]
return [s.strip() for s in self.form.propertyEnum.text().strip().split(',')]
def propertyIsEnumeration(self):
return self.propertyType() == 'App::PropertyEnumeration'
@@ -190,17 +190,19 @@ class PropertyCreate(object):
# property exists - this is an edit operation
self.form.propertyName.setText(name)
if self.propertyIsEnumeration():
self.form.enumValues.setText(','.join(self.obj.getEnumerationsOfProperty(name)))
self.form.propertyEnum.setText(','.join(self.obj.getEnumerationsOfProperty(name)))
self.form.propertyInfo.setText(self.obj.getDocumentationOfProperty(name))
self.form.labelName.setEnabled(False)
self.form.propertyName.setEnabled(False)
self.form.labelType.setEnabled(False)
self.form.propertyType.setEnabled(False)
self.form.createAnother.setEnabled(False)
else:
self.form.propertyName.setText('')
self.form.propertyInfo.setText('')
self.form.enumValues.setText('')
self.form.propertyEnum.setText('')
#self.form.propertyName.setFocus()
self.updateUI()