additional test enable-state in multi-selection in valueRelation

This commit is contained in:
signedav 2019-01-24 10:52:37 +01:00
parent 727bca95f2
commit 237e0bcb4a

View File

@ -18,8 +18,8 @@ from qgis.core import (QgsProject, QgsFeature, QgsGeometry, QgsPointXY, QgsVecto
from qgis.gui import QgsGui
from qgis.testing import start_app, unittest
from qgis.PyQt.QtCore import QVariant
from qgis.PyQt.QtWidgets import QTextEdit
from qgis.PyQt.QtCore import Qt, QVariant
from qgis.PyQt.QtWidgets import QTextEdit, QTableWidgetItem
start_app()
@ -108,6 +108,24 @@ class TestQgsValueRelationWidget(unittest.TestCase):
wrapper.setEnabled(True)
self.assertTrue(widget.isEnabled())
def test_enableDisableOnTableWidget(self):
reg = QgsGui.editorWidgetRegistry()
layer = QgsVectorLayer("none?field=number:integer", "layer", "memory")
wrapper = reg.create('ValueRelation', layer, 0, {'AllowMulti': 'True'}, None, None)
widget = wrapper.widget()
item = QTableWidgetItem('first item')
widget.setItem(0, 0, item)
# does not change the state the whole widget but the single items instead
wrapper.setEnabled(False)
# widget still true, but items false
self.assertTrue(widget.isEnabled())
self.assertNotEqual(widget.item(0, 0).flags(), widget.item(0, 0).flags() | Qt.ItemIsEnabled)
wrapper.setEnabled(True)
self.assertTrue(widget.isEnabled())
self.assertEqual(widget.item(0, 0).flags(), widget.item(0, 0).flags() | Qt.ItemIsEnabled)
class TestQgsValueMapEditWidget(unittest.TestCase):
VALUEMAP_NULL_TEXT = "{2839923C-8B7D-419E-B84B-CA2FE9B80EC7}"