示例#1
0
 def _mimeDataAlgorithm(items):
     item = items[0]
     mimeData = None
     if isinstance(item, TreeAlgorithmItem):
         mimeData = QMimeData()
         mimeData.setText(item.alg.id())
     return mimeData
示例#2
0
 def _mimeDataAlgorithm(items):
     item = items[0]
     if isinstance(item, TreeAlgorithmItem):
         mimeData = QMimeData()
         mimeData.setText(item.alg.commandLineName())
     return mimeData
示例#3
0
 def _mimeDataInput(items):
     mimeData = QMimeData()
     text = items[0].text(0)
     mimeData.setText(text)
     return mimeData
示例#4
0
 def _mimeDataInput(items):
     mimeData = QMimeData()
     text = items[0].data(0, Qt.UserRole)
     mimeData.setText(text)
     return mimeData
示例#5
0
 def _mimeDataAlgorithm(items):
     item = items[0]
     if isinstance(item, TreeAlgorithmItem):
         mimeData = QMimeData()
         mimeData.setText(item.alg.commandLineName())
     return mimeData
示例#6
0
 def _mimeDataInput(items):
     mimeData = QMimeData()
     text = items[0].text(0)
     mimeData.setText(text)
     return mimeData
示例#7
0
 def _mimeDataInput(items):
     mimeData = QMimeData()
     text = items[0].data(0, Qt.UserRole)
     mimeData.setText(text)
     return mimeData
示例#8
0
    def testColorFromMimeData(self):
        data = QMimeData()
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertFalse(color.isValid())

        # color data
        data.setColorData(QColor(255, 0, 255))
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        # should be true regardless of the actual color's opacity -- a QColor object has innate knowledge of the alpha,
        # so our input color HAS an alpha of 255
        self.assertTrue(has_alpha)
        self.assertEqual(color.alpha(), 255)

        data.setColorData(QColor(255, 0, 255, 100))
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        self.assertEqual(color.alpha(), 100)
        self.assertTrue(has_alpha)

        # text data
        data = QMimeData()
        data.setText('#ff00ff')
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        # should be False -- no alpha was specified
        self.assertFalse(has_alpha)
        self.assertEqual(color.alpha(), 255)

        data.setText('#ff00ff66')
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        self.assertTrue(has_alpha)
        self.assertEqual(color.alpha(), 102)

        # "#" is optional
        data.setText('ff00ff66')
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        self.assertTrue(has_alpha)
        self.assertEqual(color.alpha(), 102)

        data.setText('255,0,255')
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        self.assertFalse(has_alpha)
        self.assertEqual(color.alpha(), 255)

        data.setText('255,0,255,0.5')
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        self.assertTrue(has_alpha)
        self.assertEqual(color.alpha(), 128)

        data.setText('rgba(255,0,255,0.5)')
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertTrue(color.isValid())
        self.assertEqual(color.name(), '#ff00ff')
        self.assertTrue(has_alpha)
        self.assertEqual(color.alpha(), 128)

        # wrong data type
        data = QMimeData()
        data.setImageData(QImage())
        color, has_alpha = QgsSymbolLayerUtils.colorFromMimeData(data)
        self.assertFalse(color.isValid())