예제 #1
0
    def testGettersSetters(self):
        button = QgsFontButton()
        canvas = QgsMapCanvas()

        button.setDialogTitle('test title')
        self.assertEqual(button.dialogTitle(), 'test title')

        button.setMapCanvas(canvas)
        self.assertEqual(button.mapCanvas(), canvas)
예제 #2
0
    def testSetGetFormat(self):
        button = QgsFontButton()

        s = QgsTextFormat()
        s.setFont(getTestFont())
        s.setNamedStyle('Italic')
        s.setSize(5)
        s.setColor(QColor(255, 0, 0))
        s.setOpacity(0.5)

        signal_spy = QSignalSpy(button.changed)
        button.setTextFormat(s)
        self.assertEqual(len(signal_spy), 1)

        r = button.textFormat()
        self.assertEqual(r.font().family(), 'QGIS Vera Sans')
        self.assertEqual(r.namedStyle(), 'Italic')
        self.assertEqual(r.size(), 5)
        self.assertEqual(r.color(), QColor(255, 0, 0))
        self.assertEqual(r.opacity(), 0.5)
예제 #3
0
    def testSetGetFormat(self):
        button = QgsFontButton()

        s = QgsTextFormat()
        s.setFont(getTestFont())
        s.setNamedStyle('Italic')
        s.setSize(5)
        s.setColor(QColor(255, 0, 0))
        s.setOpacity(0.5)

        signal_spy = QSignalSpy(button.changed)
        button.setTextFormat(s)
        self.assertEqual(len(signal_spy), 1)

        r = button.textFormat()
        self.assertEqual(r.font().family(), 'QGIS Vera Sans')
        self.assertEqual(r.namedStyle(), 'Italic')
        self.assertEqual(r.size(), 5)
        self.assertEqual(r.color(), QColor(255, 0, 0))
        self.assertEqual(r.opacity(), 0.5)
예제 #4
0
    def testSetGetFont(self):
        button = QgsFontButton()
        button.setMode(QgsFontButton.ModeQFont)
        self.assertEqual(button.mode(), QgsFontButton.ModeQFont)

        s = getTestFont()
        s.setPointSize(16)

        signal_spy = QSignalSpy(button.changed)
        button.setCurrentFont(s)
        self.assertEqual(len(signal_spy), 1)

        r = button.currentFont()
        self.assertEqual(r.family(), 'QGIS Vera Sans')
        self.assertEqual(r.styleName(), 'Roman')
        self.assertEqual(r.pointSize(), 16)
예제 #5
0
    def testSetGetFont(self):
        button = QgsFontButton()
        button.setMode(QgsFontButton.ModeQFont)
        self.assertEqual(button.mode(), QgsFontButton.ModeQFont)

        s = getTestFont()
        s.setPointSize(16)

        signal_spy = QSignalSpy(button.changed)
        button.setCurrentFont(s)
        self.assertEqual(len(signal_spy), 1)

        r = button.currentFont()
        self.assertEqual(r.family(), 'QGIS Vera Sans')
        self.assertEqual(r.styleName(), 'Roman')
        self.assertEqual(r.pointSize(), 16)
예제 #6
0
    def testSetColor(self):
        button = QgsFontButton()

        s = QgsTextFormat()
        s.setFont(getTestFont())
        s.setNamedStyle('Italic')
        s.setSize(5)
        s.setColor(QColor(255, 0, 0))
        s.setOpacity(0.5)
        button.setTextFormat(s)

        signal_spy = QSignalSpy(button.changed)
        button.setColor(QColor(0, 255, 0))
        self.assertEqual(len(signal_spy), 1)

        r = button.textFormat()
        self.assertEqual(r.font().family(), 'QGIS Vera Sans')
        self.assertEqual(r.namedStyle(), 'Italic')
        self.assertEqual(r.size(), 5)
        self.assertEqual(r.color().name(), QColor(0, 255, 0).name())
        self.assertEqual(r.opacity(), 0.5)

        # 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.textFormat()
        self.assertEqual(r.color(), QColor(0, 255, 0))
예제 #7
0
    def testSetColor(self):
        button = QgsFontButton()

        s = QgsTextFormat()
        s.setFont(getTestFont())
        s.setNamedStyle('Italic')
        s.setSize(5)
        s.setColor(QColor(255, 0, 0))
        s.setOpacity(0.5)
        button.setTextFormat(s)

        signal_spy = QSignalSpy(button.changed)
        button.setColor(QColor(0, 255, 0))
        self.assertEqual(len(signal_spy), 1)

        r = button.textFormat()
        self.assertEqual(r.font().family(), 'QGIS Vera Sans')
        self.assertEqual(r.namedStyle(), 'Italic')
        self.assertEqual(r.size(), 5)
        self.assertEqual(r.color().name(), QColor(0, 255, 0).name())
        self.assertEqual(r.opacity(), 0.5)

        # 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.textFormat()
        self.assertEqual(r.color(), QColor(0, 255, 0))
예제 #8
0
    def testNull(self):
        button = QgsFontButton()
        self.assertFalse(button.showNullFormat())
        button.setShowNullFormat(True)
        self.assertTrue(button.showNullFormat())

        s = QgsTextFormat()
        s.setFont(getTestFont())
        button.setTextFormat(s)
        self.assertTrue(button.textFormat().isValid())
        button.setToNullFormat()
        self.assertFalse(button.textFormat().isValid())
        button.setTextFormat(s)
        self.assertTrue(button.textFormat().isValid())