QGIS API Documentation
2.14.11-Essen
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
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 Wed Jan 25 2017 08:47:22 for QGIS API Documentation by
1.8.8