|
18 | 18 | from qgis.gui import QgsGui
|
19 | 19 |
|
20 | 20 | 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 |
23 | 23 |
|
24 | 24 | start_app()
|
25 | 25 |
|
@@ -108,6 +108,24 @@ def test_enableDisable(self):
|
108 | 108 | wrapper.setEnabled(True)
|
109 | 109 | self.assertTrue(widget.isEnabled())
|
110 | 110 |
|
| 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 | + |
111 | 129 |
|
112 | 130 | class TestQgsValueMapEditWidget(unittest.TestCase):
|
113 | 131 | VALUEMAP_NULL_TEXT = "{2839923C-8B7D-419E-B84B-CA2FE9B80EC7}"
|
|
0 commit comments