QGIS API Documentation
2.14.0-Essen
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
gui
editorwidgets
core
qgseditorwidgetfactory.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgseditorwidgetfactory.h
3
--------------------------------------
4
Date : 21.4.2013
5
Copyright : (C) 2013 Matthias Kuhn
6
Email : matthias at opengis dot ch
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSEDITORWIDGETFACTORY_H
17
#define QGSEDITORWIDGETFACTORY_H
18
19
#include "
qgseditorwidgetwrapper.h
"
20
#include "
qgsapplication.h
"
21
#include "
qgssearchwidgetwrapper.h
"
22
23
#include <QDomNode>
24
#include <QMap>
25
#include <QString>
26
27
class
QgsEditorConfigWidget
;
28
38
class
GUI_EXPORT
QgsEditorWidgetFactory
39
{
40
public
:
46
QgsEditorWidgetFactory
(
const
QString
& name );
47
48
virtual
~
QgsEditorWidgetFactory
();
49
62
virtual
QgsEditorWidgetWrapper
* create(
QgsVectorLayer
* vl,
int
fieldIdx,
QWidget
* editor,
QWidget
* parent )
const
= 0;
63
64
virtual
QgsSearchWidgetWrapper
* createSearchWidget(
QgsVectorLayer
* vl,
int
fieldIdx,
QWidget
* parent )
const
;
65
71
QString
name();
72
83
virtual
QgsEditorConfigWidget
* configWidget(
QgsVectorLayer
* vl,
int
fieldIdx,
QWidget
* parent )
const
= 0;
84
94
QgsEditorWidgetConfig
readEditorConfig(
const
QDomElement
& configElement,
QgsVectorLayer
* layer,
int
fieldIdx );
95
105
virtual
void
writeConfig(
const
QgsEditorWidgetConfig
& config,
QDomElement
& configElement,
QDomDocument
& doc,
const
QgsVectorLayer
* layer,
int
fieldIdx );
106
116
inline
bool
supportsField
(
QgsVectorLayer
* vl,
int
fieldIdx ) {
return
isFieldSupported( vl, fieldIdx ); }
117
126
virtual
QMap<const char*, int>
supportedWidgetTypes
() {
return
QMap<const char*, int>
(); }
127
139
virtual
QString
representValue(
QgsVectorLayer
* vl,
int
fieldIdx,
const
QgsEditorWidgetConfig
& config,
const
QVariant
& cache,
const
QVariant
& value )
const
;
140
150
virtual
QVariant
createCache(
QgsVectorLayer
* vl,
int
fieldIdx,
const
QgsEditorWidgetConfig
& config );
151
161
virtual
QgsEditorWidgetConfig
readConfig(
const
QDomElement
& configElement,
QgsVectorLayer
* layer,
int
fieldIdx );
162
163
private
:
175
virtual
bool
isFieldSupported(
QgsVectorLayer
* vl,
int
fieldIdx );
176
177
private
:
178
QString
mName;
179
};
180
181
#endif // QGSEDITORWIDGETFACTORY_H
QgsSearchWidgetWrapper
Manages an editor widget Widget and wrapper share the same parent.
Definition:
qgssearchwidgetwrapper.h:40
QWidget
QgsEditorWidgetFactory::supportedWidgetTypes
virtual QMap< const char *, int > supportedWidgetTypes()
Returns a list of widget types which this editor widget supports.
Definition:
qgseditorwidgetfactory.h:126
QgsEditorConfigWidget
This class should be subclassed for every configurable editor widget type.
Definition:
qgseditorconfigwidget.h:33
QgsEditorWidgetWrapper
Manages an editor widget Widget and wrapper share the same parent.
Definition:
qgseditorwidgetwrapper.h:41
QMap
QgsEditorWidgetFactory::supportsField
bool supportsField(QgsVectorLayer *vl, int fieldIdx)
Check if this editor widget type supports a certain field.
Definition:
qgseditorwidgetfactory.h:116
qgsapplication.h
QgsEditorWidgetFactory
Every attribute editor widget needs a factory, which inherits this class.
Definition:
qgseditorwidgetfactory.h:38
QString
qgssearchwidgetwrapper.h
QDomDocument
qgseditorwidgetwrapper.h
QgsVectorLayer
Represents a vector layer which manages a vector based data sets.
Definition:
qgsvectorlayer.h:386
QDomElement
QVariant
Generated on Sat Feb 27 2016 18:33:25 for QGIS API Documentation by
1.8.11