Skip to content

Commit 237e0bc

Browse files
committedJan 24, 2019
additional test enable-state in multi-selection in valueRelation
1 parent 727bca9 commit 237e0bc

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed
 

‎tests/src/python/test_qgseditwidgets.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
from qgis.gui import QgsGui
1919

2020
from qgis.testing import start_app, unittest
21-
from qgis.PyQt.QtCore import QVariant
22-
from qgis.PyQt.QtWidgets import QTextEdit
21+
from qgis.PyQt.QtCore import Qt, QVariant
22+
from qgis.PyQt.QtWidgets import QTextEdit, QTableWidgetItem
2323

2424
start_app()
2525

@@ -108,6 +108,24 @@ def test_enableDisable(self):
108108
wrapper.setEnabled(True)
109109
self.assertTrue(widget.isEnabled())
110110

111+
def test_enableDisableOnTableWidget(self):
112+
reg = QgsGui.editorWidgetRegistry()
113+
layer = QgsVectorLayer("none?field=number:integer", "layer", "memory")
114+
wrapper = reg.create('ValueRelation', layer, 0, {'AllowMulti': 'True'}, None, None)
115+
116+
widget = wrapper.widget()
117+
item = QTableWidgetItem('first item')
118+
widget.setItem(0, 0, item)
119+
120+
# does not change the state the whole widget but the single items instead
121+
wrapper.setEnabled(False)
122+
# widget still true, but items false
123+
self.assertTrue(widget.isEnabled())
124+
self.assertNotEqual(widget.item(0, 0).flags(), widget.item(0, 0).flags() | Qt.ItemIsEnabled)
125+
wrapper.setEnabled(True)
126+
self.assertTrue(widget.isEnabled())
127+
self.assertEqual(widget.item(0, 0).flags(), widget.item(0, 0).flags() | Qt.ItemIsEnabled)
128+
111129

112130
class TestQgsValueMapEditWidget(unittest.TestCase):
113131
VALUEMAP_NULL_TEXT = "{2839923C-8B7D-419E-B84B-CA2FE9B80EC7}"

0 commit comments

Comments
 (0)
Please sign in to comment.