def unload(self): QgsRendererV2Registry.instance().removeRenderer('MilStd2525Renderer') try: from milstd2525.tests import testerplugin from qgistester.tests import removeTestModule removeTestModule(testerplugin, 'MIL-STD-2525') except: pass
def testAddRenderer(self): """ test adding renderers to registry """ clearRegistry() # add a renderer self.assertTrue(QgsRendererV2Registry.instance().addRenderer(TestRenderer('test2'))) self.assertTrue('test2' in QgsRendererV2Registry.instance().renderersList()) # try adding it again - should be rejected due to duplicate name self.assertFalse(QgsRendererV2Registry.instance().addRenderer(TestRenderer('test2'))) self.assertTrue('test2' in QgsRendererV2Registry.instance().renderersList())
def testInstance(self): """ test retrieving global instance """ self.assertTrue(QgsRendererV2Registry.instance()) # instance should be initially populated with some default renderers self.assertTrue('singleSymbol' in QgsRendererV2Registry.instance().renderersList()) # register a renderer to the singleton, to test that the same instance is always returned self.assertFalse('test' in QgsRendererV2Registry.instance().renderersList()) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(TestRenderer('test'))) self.assertTrue('test' in QgsRendererV2Registry.instance().renderersList())
def __init__(self, iface): self.iface = iface '''Create the renderer objects''' self._rendererMetadata = MilStd2525RendererMetadata() self._widgetWrapperFactory = SIDCWidgetWrapperFactory() ''' and register them so they are shown when the user edits the layer symbology ''' QgsRendererV2Registry.instance().addRenderer(self._rendererMetadata) QgsEditorWidgetRegistry.instance().registerWidget('SIDC code editor', self._widgetWrapperFactory)
def __init__(self, iface): self.iface = iface try: from milstd2525.tests import testerplugin from qgistester.tests import addTestModule addTestModule(testerplugin, 'MIL-STD-2525') except: pass self._rendererMetadata = MilStd2525RendererMetadata() self._widgetWrapperFactory = SIDCWidgetWrapperFactory() QgsRendererV2Registry.instance().addRenderer(self._rendererMetadata) QgsEditorWidgetRegistry.instance().registerWidget('SIDC code editor', self._widgetWrapperFactory)
def __init__(self, iface): self.iface = iface try: from .tests import testerplugin from qgistester.tests import addTestModule addTestModule(testerplugin, 'MIL-STD-2525') except: pass self._rendererMetadata = MilStd2525RendererMetadata() self._widgetWrapperFactory = SIDCWidgetWrapperFactory() QgsRendererV2Registry.instance().addRenderer(self._rendererMetadata) QgsEditorWidgetRegistry.instance().registerWidget('SIDC code editor', self._widgetWrapperFactory)
def testRetrieveRenderer(self): """ test retrieving renderer by name """ clearRegistry() # try non-existant renderer self.assertFalse(QgsRendererV2Registry.instance().rendererMetadata('test4')) # now add it r = TestRenderer('test4') self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r)) # try retrieving it result = QgsRendererV2Registry.instance().rendererMetadata('test4') self.assertTrue(result) self.assertEqual(result.name(), 'test4')
def testRenderersByLayerType(self): """ test retrieving compatible renderers by layer type """ clearRegistry() # add some renderers r1 = TestRenderer('test1', QgsRendererV2AbstractMetadata.PointLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r1)) r2 = TestRenderer('test2', QgsRendererV2AbstractMetadata.LineLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r2)) r3 = TestRenderer('test3', QgsRendererV2AbstractMetadata.PolygonLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r3)) r4 = TestRenderer('test4', QgsRendererV2AbstractMetadata.PointLayer | QgsRendererV2AbstractMetadata.LineLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r4)) # make some layers point_layer = QgsVectorLayer("Point?field=fldtxt:string", "pointlayer", "memory") line_layer = QgsVectorLayer("LineString?field=fldtxt:string", "linelayer", "memory") polygon_layer = QgsVectorLayer("Polygon?field=fldtxt:string", "polylayer", "memory") # test subsets self.assertEqual(QgsRendererV2Registry.instance().renderersList(point_layer), ['singleSymbol', 'test1', 'test4']) self.assertEqual(QgsRendererV2Registry.instance().renderersList(line_layer), ['singleSymbol', 'test2', 'test4']) self.assertEqual(QgsRendererV2Registry.instance().renderersList(polygon_layer), ['singleSymbol', 'test3'])
def unload(self): QgsRendererV2Registry.instance().removeRenderer('MilStd2525Renderer') removeHelpMenu("MIL-STD-2525") removeAboutMenu("MIL-STD-2525") try: from milstd2525.tests import testerplugin from qgistester.tests import removeTestModule removeTestModule(testerplugin, 'MIL-STD-2525') except: pass try: from lessons import removeLessonsFolder folder = os.path.join(pluginPath, '_lessons') removeLessonsFolder(folder) except: pass
def testRenderersList(self): """ test getting list of renderers from registry """ clearRegistry() self.assertEqual(QgsRendererV2Registry.instance().renderersList(), ['singleSymbol']) # add some renderers r1 = TestRenderer('test1', QgsRendererV2AbstractMetadata.PointLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r1)) r2 = TestRenderer('test2', QgsRendererV2AbstractMetadata.LineLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r2)) r3 = TestRenderer('test3', QgsRendererV2AbstractMetadata.PolygonLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r3)) r4 = TestRenderer('test4', QgsRendererV2AbstractMetadata.PointLayer | QgsRendererV2AbstractMetadata.LineLayer) self.assertTrue(QgsRendererV2Registry.instance().addRenderer(r4)) self.assertEqual(QgsRendererV2Registry.instance().renderersList(), ['singleSymbol', 'test1', 'test2', 'test3', 'test4']) # test subsets self.assertEqual(QgsRendererV2Registry.instance().renderersList(QgsRendererV2AbstractMetadata.PointLayer), ['singleSymbol', 'test1', 'test4']) self.assertEqual(QgsRendererV2Registry.instance().renderersList(QgsRendererV2AbstractMetadata.LineLayer), ['singleSymbol', 'test2', 'test4']) self.assertEqual(QgsRendererV2Registry.instance().renderersList(QgsRendererV2AbstractMetadata.PolygonLayer), ['singleSymbol', 'test3']) self.assertEqual(QgsRendererV2Registry.instance().renderersList(QgsRendererV2AbstractMetadata.LineLayer | QgsRendererV2AbstractMetadata.PolygonLayer), ['singleSymbol', 'test2', 'test3', 'test4'])
def testRemoveRenderer(self): """ test removing renderers from registry """ clearRegistry() # try removing non-existant renderer self.assertFalse(QgsRendererV2Registry.instance().removeRenderer('test3')) # now add it self.assertTrue(QgsRendererV2Registry.instance().addRenderer(TestRenderer('test3'))) self.assertTrue('test3' in QgsRendererV2Registry.instance().renderersList()) # try removing it again - should be ok this time self.assertTrue(QgsRendererV2Registry.instance().removeRenderer('test3')) self.assertFalse('test3' in QgsRendererV2Registry.instance().renderersList()) # try removing it again - should be false since already removed self.assertFalse(QgsRendererV2Registry.instance().removeRenderer('test3'))
def clearRegistry(): # clear registry to start with for r in QgsRendererV2Registry.instance().renderersList(): if r == 'singleSymbol': continue QgsRendererV2Registry.instance().removeRenderer(r)
def unload(self): '''Remove the renderer when the plugin is unloaded''' QgsRendererV2Registry.instance().removeRenderer('MilStd2525Renderer') removeHelpMenu("GeoGig")
def initGui(self): # QgsSymbolLayerV2Registry.instance().addSymbolLayerType( VectorArrowMarkerMetadata() ) self._controller = VectorFieldRendererController(self._iface) self._metadata = VectorFieldRendererMetadata(self._controller) QgsRendererV2Registry.instance().addRenderer(self._metadata)
class RandomRendererMetadata(QgsRendererV2AbstractMetadata): def __init__(self): QgsRendererV2AbstractMetadata.__init__( self, "RandomRenderer", "Random renderer" ) def createRenderer(self, element): return RandomRenderer() def createRendererWidget(self, layer, style, renderer): return RandomRendererWidget(layer, style, renderer) QgsRendererV2Registry.instance().addRenderer(RandomRendererMetadata()) print(QgsRendererV2Registry.instance().renderersList()) print(QgsRendererV2Registry.instance().rendererMetadata(u'RandomRenderer')) layer, canvas = iface.activeLayer(), iface.mapCanvas() style = QgsStyleV2.defaultStyle() random_renderer_widget = RandomRendererWidget( layer, style, RandomRenderer() ) # random_renderer_widget.show()