def testSetGetSymbol(self): button = QgsSymbolButton() symbol = QgsMarkerSymbol.createSimple({}) symbol.setColor(QColor(255, 0, 0)) signal_spy = QSignalSpy(button.changed) button.setSymbol(symbol) self.assertEqual(len(signal_spy), 1) r = button.symbol() self.assertEqual(r.color(), QColor(255, 0, 0))
def testGettersSetters(self): button = QgsSymbolButton() canvas = QgsMapCanvas() button.setDialogTitle('test title') self.assertEqual(button.dialogTitle(), 'test title') button.setMapCanvas(canvas) self.assertEqual(button.mapCanvas(), canvas) button.setSymbolType(QgsSymbol.Line) self.assertEqual(button.symbolType(), QgsSymbol.Line)
def testSettingSymbolType(self): button = QgsSymbolButton() button.setSymbolType(QgsSymbol.Marker) symbol = QgsMarkerSymbol.createSimple({}) symbol.setColor(QColor(255, 0, 0)) button.setSymbol(symbol) # if same symbol type, existing symbol should be kept button.setSymbolType(QgsSymbol.Marker) self.assertEqual(button.symbol(), symbol) # if setting different symbol type, symbol should be reset to new type button.setSymbolType(QgsSymbol.Fill) self.assertTrue(isinstance(button.symbol(), QgsFillSymbol))
def testSetColor(self): button = QgsSymbolButton() symbol = QgsMarkerSymbol.createSimple({}) symbol.setColor(QColor(255, 255, 0)) button.setSymbol(symbol) signal_spy = QSignalSpy(button.changed) button.setColor(QColor(0, 255, 0)) self.assertEqual(len(signal_spy), 1) r = button.symbol() self.assertEqual(r.color().name(), QColor(0, 255, 0).name()) # set same color, should not emit signal button.setColor(QColor(0, 255, 0)) self.assertEqual(len(signal_spy), 1) # color with transparency - should be stripped button.setColor(QColor(0, 255, 0, 100)) r = button.symbol() self.assertEqual(r.color(), QColor(0, 255, 0))