|
23 | 23 | QgsStyle,
|
24 | 24 | QgsStyleProxyModel)
|
25 | 25 | from qgis.testing import start_app, unittest
|
26 |
| -from qgis.PyQt.QtCore import Qt, QSize |
| 26 | +from qgis.PyQt.QtCore import Qt, QSize, QModelIndex |
27 | 27 | from qgis.PyQt.QtGui import QColor
|
28 | 28 |
|
29 | 29 | start_app()
|
@@ -758,6 +758,33 @@ def testIconSize(self):
|
758 | 758 | self.assertEqual(icon.actualSize(QSize(225, 225)), QSize(200, 180))
|
759 | 759 | model.setProperty('icon_sizes', None)
|
760 | 760 |
|
| 761 | + def testSetData(self): |
| 762 | + """ |
| 763 | + Test model set data |
| 764 | + """ |
| 765 | + style = QgsStyle() |
| 766 | + style.createMemoryDatabase() |
| 767 | + |
| 768 | + symbol_a = createMarkerSymbol() |
| 769 | + symbol_a.setColor(QColor(255, 10, 10)) |
| 770 | + self.assertTrue(style.addSymbol('a', symbol_a, True)) |
| 771 | + ramp_a = QgsLimitedRandomColorRamp(5) |
| 772 | + self.assertTrue(style.addColorRamp('ramp a', ramp_a, True)) |
| 773 | + |
| 774 | + model = QgsStyleModel(style) |
| 775 | + self.assertEqual(model.rowCount(), 2) |
| 776 | + |
| 777 | + self.assertEqual(style.symbolNames(), ['a']) |
| 778 | + |
| 779 | + self.assertFalse(model.setData(QModelIndex(), 'b', Qt.EditRole)) |
| 780 | + self.assertFalse(model.setData(model.index(0, 1), 'b', Qt.EditRole)) |
| 781 | + self.assertTrue(model.setData(model.index(0, 0), 'new symbol name', Qt.EditRole)) |
| 782 | + self.assertEqual(model.data(model.index(0, 0), Qt.DisplayRole), 'new symbol name') |
| 783 | + self.assertEqual(style.symbolNames(), ['new symbol name']) |
| 784 | + self.assertTrue(model.setData(model.index(1, 0), 'ramp new name', Qt.EditRole)) |
| 785 | + self.assertEqual(model.data(model.index(1, 0), Qt.DisplayRole), 'ramp new name') |
| 786 | + self.assertEqual(style.colorRampNames(), ['ramp new name']) |
| 787 | + |
761 | 788 |
|
762 | 789 | if __name__ == '__main__':
|
763 | 790 | unittest.main()
|
0 commit comments