QGIS API Documentation
2.18.21-Las Palmas (9fba24a)
src
core
qgspluginlayerregistry.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgspluginlayerregistry.cpp - class for
3
registering plugin layer creators
4
-------------------
5
begin : Mon Nov 30 2009
6
copyright : (C) 2009 by Mathias Walker, Sourcepole
7
email : mwa at sourcepole.ch
8
***************************************************************************/
9
10
/***************************************************************************
11
* *
12
* This program is free software; you can redistribute it and/or modify *
13
* it under the terms of the GNU General Public License as published by *
14
* the Free Software Foundation; either version 2 of the License, or *
15
* (at your option) any later version. *
16
* *
17
***************************************************************************/
18
19
#ifndef QGSPLUGINLAYERREGSITRY_H
20
#define QGSPLUGINLAYERREGSITRY_H
21
22
#include <QMap>
23
#include <QDomNode>
24
25
class
QgsPluginLayer
;
26
30
class
CORE_EXPORT
QgsPluginLayerType
31
{
32
public
:
33
34
QgsPluginLayerType
(
const
QString
& name );
35
virtual
~
QgsPluginLayerType
();
36
37
QString
name();
38
40
virtual
QgsPluginLayer
* createLayer();
41
45
virtual
QgsPluginLayer
* createLayer(
const
QString
& uri );
46
48
virtual
bool
showLayerProperties(
QgsPluginLayer
* layer );
49
50
protected
:
51
QString
mName
;
52
};
53
54
//=============================================================================
55
59
class
CORE_EXPORT
QgsPluginLayerRegistry
60
{
61
public
:
62
64
static
QgsPluginLayerRegistry
* instance();
65
66
~
QgsPluginLayerRegistry
();
67
70
QStringList
pluginLayerTypes();
71
73
bool
addPluginLayerType(
QgsPluginLayerType
* pluginLayerType );
74
76
bool
removePluginLayerType(
const
QString
& typeName );
77
79
QgsPluginLayerType
* pluginLayerType(
const
QString
& typeName );
80
84
QgsPluginLayer
* createLayer(
const
QString
& typeName,
const
QString
& uri =
QString
() );
85
86
private
:
87
88
typedef
QMap<QString, QgsPluginLayerType*>
PluginLayerTypes
;
89
91
QgsPluginLayerRegistry
();
92
QgsPluginLayerRegistry
(
const
QgsPluginLayerRegistry
& rh );
93
QgsPluginLayerRegistry
& operator=(
const
QgsPluginLayerRegistry
& rh );
94
96
static
QgsPluginLayerRegistry
* _instance;
97
98
PluginLayerTypes mPluginLayerTypes;
99
};
100
101
#endif // QGSPLUGINLAYERREGSITRY_H
QgsPluginLayerRegistry
a registry of plugin layers types
Definition:
qgspluginlayerregistry.h:59
QgsPluginLayer
Base class for plugin layers.
Definition:
qgspluginlayer.h:30
QMap< QString, QgsPluginLayerType * >
QString
QStringList
QgsPluginLayerType::mName
QString mName
Definition:
qgspluginlayerregistry.h:51
QgsPluginLayerType
class for creating plugin specific layers
Definition:
qgspluginlayerregistry.h:30
Generated on Sun Jun 24 2018 11:42:48 for QGIS API Documentation by
1.8.13