QGIS API Documentation  2.7.0-Master
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
qgseditorwidgetwrapper.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgseditorwidgetwrapper.h
3  --------------------------------------
4  Date : 20.4.2013
5  Copyright : (C) 2013 Matthias Kuhn
6  Email : matthias dot kuhn at gmx 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 QGSEDITORWIDGETWRAPPER_H
17 #define QGSEDITORWIDGETWRAPPER_H
18 
19 #include <QObject>
20 #include <QMap>
21 #include <QVariant>
22 
23 class QgsVectorLayer;
24 class QgsField;
25 
26 #include "qgseditorwidgetconfig.h"
28 #include "qgswidgetwrapper.h"
29 
41 class GUI_EXPORT QgsEditorWidgetWrapper : public QgsWidgetWrapper
42 {
43  Q_OBJECT
44  public:
53  explicit QgsEditorWidgetWrapper( QgsVectorLayer* vl, int fieldIdx, QWidget* editor = 0, QWidget* parent = 0 );
54 
64  virtual QVariant value() = 0;
65 
73  int fieldIdx();
74 
82  QgsField field();
83 
89  static QgsEditorWidgetWrapper* fromWidget( QWidget* widget );
90 
97  void setEnabled( bool enabled );
98 
99  signals:
105  void valueChanged( const QVariant& value );
106 
107  public slots:
115  void setFeature( const QgsFeature& feature );
116 
123  virtual void setValue( const QVariant& value ) = 0;
124 
125  protected slots:
132  void valueChanged( const QString& value );
133 
141  void valueChanged( int value );
142 
150  void valueChanged( double value );
151 
159  void valueChanged( bool value );
160 
167  void valueChanged( qlonglong value );
168 
172  void valueChanged();
173 
174  private:
175  int mFieldIdx;
176 };
177 
178 // We'll use this class inside a QVariant in the widgets properties
180 
181 #endif // QGSEDITORWIDGETWRAPPER_H
virtual void setEnabled(bool enabled)
Is used to enable or disable the edit functionality of the managed widget.
Manages an editor widget Widget and wrapper share the same parent.
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Definition: qgsfeature.h:113
virtual void setFeature(const QgsFeature &feature)=0
Is called, when the value of the widget needs to be changed.
Encapsulate a field in an attribute table or data source.
Definition: qgsfield.h:33
static QgsWidgetWrapper * fromWidget(QWidget *widget)
Will return a wrapper for a given widget.
Represents a vector layer which manages a vector based data sets.
Q_DECLARE_METATYPE(QgsExpression::Interval)
Manages an editor widget Widget and wrapper share the same parent.