Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qgsrendererv2registry.cpp
Go to the documentation of this file.
2 
3 // default renderers
8 
10 
12 {
13  // add default renderers
14  addRenderer( new QgsRendererV2Metadata( "singleSymbol",
15  QObject::tr( "Single Symbol" ),
17  addRenderer( new QgsRendererV2Metadata( "categorizedSymbol",
18  QObject::tr( "Categorized" ),
20  addRenderer( new QgsRendererV2Metadata( "graduatedSymbol",
21  QObject::tr( "Graduated" ),
23 
24  addRenderer( new QgsRendererV2Metadata( "RuleRenderer",
25  QObject::tr( "Rule-based" ),
27 }
28 
30 {
31  foreach( QString name, mRenderers.keys() )
32  {
33  delete mRenderers[name];
34  }
35  mRenderers.clear();
36 }
37 
39 {
40  if ( !mInstance )
42 
43  return mInstance;
44 }
45 
46 
48 {
49  if ( metadata == NULL || mRenderers.contains( metadata->name() ) )
50  return false;
51 
52  mRenderers[metadata->name()] = metadata;
53  mRenderersOrder << metadata->name();
54  return true;
55 }
56 
57 bool QgsRendererV2Registry::removeRenderer( QString rendererName )
58 {
59  if ( !mRenderers.contains( rendererName ) )
60  return false;
61 
62  delete mRenderers[rendererName];
63  mRenderers.remove( rendererName );
64  mRenderersOrder.removeAll( rendererName );
65  return true;
66 }
67 
69 {
70  return mRenderers.value( rendererName );
71 }
72 
74 {
75  return mRenderersOrder;
76 }