def _mimeDataAlgorithm(items): item = items[0] mimeData = None if isinstance(item, TreeAlgorithmItem): mimeData = QMimeData() mimeData.setText(item.alg.id()) return mimeData
def _mimeDataAlgorithm(items): item = items[0] if isinstance(item, TreeAlgorithmItem): mimeData = QMimeData() mimeData.setText(item.alg.commandLineName()) return mimeData
def _mimeDataInput(items): mimeData = QMimeData() text = items[0].text(0) mimeData.setText(text) return mimeData
def _mimeDataInput(items): mimeData = QMimeData() text = items[0].data(0, Qt.UserRole) mimeData.setText(text) return mimeData
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())