QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Types | Public Slots | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
QgsValueRelationWidgetWrapper Class Reference

Wraps a value relation widget. More...

#include <qgsvaluerelationwidgetwrapper.h>

Inheritance diagram for QgsValueRelationWidgetWrapper:
Inheritance graph
[legend]

Public Types

typedef QPair< QVariant, QString > ValueRelationItem
typedef QVector
< ValueRelationItem
ValueRelationCache

Public Slots

void setValue (const QVariant &value)
- Public Slots inherited from QgsEditorWidgetWrapper
void setFeature (const QgsFeature &feature)
 Will be called when the feature changes.
virtual void setValue (const QVariant &value)=0
 Is called, when the value of the widget needs to be changed.
- Public Slots inherited from QgsWidgetWrapper
virtual void setFeature (const QgsFeature &feature)=0
 Is called, when the value of the widget needs to be changed.

Public Member Functions

 QgsValueRelationWidgetWrapper (QgsVectorLayer *vl, int fieldIdx, QWidget *editor=0, QWidget *parent=0)
QVariant value ()
 Will be used to access the widget's value.
- Public Member Functions inherited from QgsEditorWidgetWrapper
 QgsEditorWidgetWrapper (QgsVectorLayer *vl, int fieldIdx, QWidget *editor=0, QWidget *parent=0)
 Create a new widget wrapper.
int fieldIdx ()
 Access the field index.
QgsField field ()
 Access the field.
void setEnabled (bool enabled)
 Is used to enable or disable the edit functionality of the managed widget.
- Public Member Functions inherited from QgsWidgetWrapper
 QgsWidgetWrapper (QgsVectorLayer *vl, QWidget *editor=0, QWidget *parent=0)
 Create a new widget wrapper.
QWidget * widget ()
 Access the widget managed by this wrapper.
template<class T >
T * widget ()
 Access the widget managed by this wrapper and cast it to a given type Example: QPushButton* pb = wrapper->widget<QPushButton*>();.
void setConfig (const QgsEditorWidgetConfig &config)
 Will set the config of this wrapper to the specified config.
void setContext (const QgsAttributeEditorContext context)
 Set the context in which this widget is shown.
QVariant config (QString key, QVariant defaultVal=QVariant())
 Use this inside your overriden classes to access the configuration.
const QgsEditorWidgetConfig config ()
 Returns the whole config.
const QgsAttributeEditorContextcontext ()
 Returns information about the context in which this widget is shown.
QgsVectorLayerlayer ()
 Access the QgsVectorLayer, you are working on.

Protected Member Functions

QWidget * createWidget (QWidget *parent)
 This method should create a new widget with the provided parent.
void initWidget (QWidget *editor)
 This method should initialize the editor widget with runtime data.

Static Protected Member Functions

static ValueRelationCache createCache (const QgsEditorWidgetConfig &config)

Friends

class QgsValueRelationWidgetFactory

Additional Inherited Members

- Signals inherited from QgsEditorWidgetWrapper
void valueChanged (const QVariant &value)
 Emit this signal, whenever the value changed.
- Static Public Member Functions inherited from QgsEditorWidgetWrapper
static QgsEditorWidgetWrapperfromWidget (QWidget *widget)
 Will return a wrapper for a given widget.
- Protected Slots inherited from QgsEditorWidgetWrapper
void valueChanged (const QString &value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.
void valueChanged (int value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.
void valueChanged (double value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.
void valueChanged (bool value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.
void valueChanged (qlonglong value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.
void valueChanged ()
 Will call the value() method to determine the emitted value.

Detailed Description

Wraps a value relation widget.

This widget will offer a combobox with values from another layer referenced by a foreign key (a constraint may be set but is not required on data level). This is useful for having value lists on a separate layer containing codes and their translation to human readable names.

Options:

Member Typedef Documentation

typedef QPair< QVariant, QString > QgsValueRelationWidgetWrapper::ValueRelationItem

Constructor & Destructor Documentation

QgsValueRelationWidgetWrapper::QgsValueRelationWidgetWrapper ( QgsVectorLayer vl,
int  fieldIdx,
QWidget *  editor = 0,
QWidget *  parent = 0 
)
explicit

Member Function Documentation

QgsValueRelationWidgetWrapper::ValueRelationCache QgsValueRelationWidgetWrapper::createCache ( const QgsEditorWidgetConfig config)
staticprotected
QWidget * QgsValueRelationWidgetWrapper::createWidget ( QWidget *  parent)
protectedvirtual

This method should create a new widget with the provided parent.

This will only be called if the form did not already provide a widget, so it is not guaranteed to be called! You should not do initialisation stuff, which also has to be done for custom editor widgets inside this method. Things like filling comboboxes and assigning other data which will also be used to make widgets on forms created in the QtDesigner usable should be assigned in initWidget(QWidget*).

Parameters
parentYou should set this parent on the created widget.
Returns
A new widget

Implements QgsWidgetWrapper.

void QgsValueRelationWidgetWrapper::initWidget ( QWidget *  editor)
protectedvirtual

This method should initialize the editor widget with runtime data.

Fill your comboboxes here.

Parameters
editorThe widget which will represent this attribute editor in a form.

Reimplemented from QgsWidgetWrapper.

void QgsValueRelationWidgetWrapper::setValue ( const QVariant &  value)
slot
QVariant QgsValueRelationWidgetWrapper::value ( )
virtual

Will be used to access the widget's value.

Read the value from the widget and return it properly formatted to be saved in the attribute.

If an invalid variant is returned this will be interpreted as no change. Be sure to return a NULL QVariant if it should be set to NULL.

Returns
The current value the widget represents

Implements QgsEditorWidgetWrapper.

Friends And Related Function Documentation

friend class QgsValueRelationWidgetFactory
friend

The documentation for this class was generated from the following files: