QGIS API Documentation  2.17.0-Master (8784312)
Public Slots | Signals | Public Member Functions | Static Public Member Functions | Protected Slots | Protected Member Functions | List of all members
QgsEditorWidgetWrapper Class Referenceabstract

Manages an editor widget Widget and wrapper share the same parent. More...

#include <qgseditorwidgetwrapper.h>

Inheritance diagram for QgsEditorWidgetWrapper:
Inheritance graph
[legend]

Public Slots

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

Signals

void constraintStatusChanged (const QString &constraint, const QString &desc, const QString &err, bool status)
 Emit this signal when the constraint status changed. More...
 
void valueChanged (const QVariant &value)
 Emit this signal, whenever the value changed. More...
 

Public Member Functions

 QgsEditorWidgetWrapper (QgsVectorLayer *vl, int fieldIdx, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Create a new widget wrapper. More...
 
QVariant defaultValue () const
 Access the default value of the field. More...
 
QgsField field () const
 Access the field. More...
 
int fieldIdx () const
 Access the field index. More...
 
bool isValidConstraint () const
 Get the current constraint status. More...
 
void setEnabled (bool enabled) override
 Is used to enable or disable the edit functionality of the managed widget. More...
 
virtual void showIndeterminateState ()
 Sets the widget to display in an indeterminate "mixed value" state. More...
 
void updateConstraint (const QgsFeature &featureContext)
 Update constraint. More...
 
virtual QVariant value () const =0
 Will be used to access the widget's value. More...
 
- Public Member Functions inherited from QgsWidgetWrapper
 QgsWidgetWrapper (QgsVectorLayer *vl, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Create a new widget wrapper. More...
 
QVariant config (const QString &key, const QVariant &defaultVal=QVariant()) const
 Use this inside your overridden classes to access the configuration. More...
 
QgsEditorWidgetConfig config () const
 Returns the whole config. More...
 
const QgsAttributeEditorContextcontext () const
 Returns information about the context in which this widget is shown. More...
 
QgsVectorLayerlayer () const
 Access the QgsVectorLayer, you are working on. More...
 
void setConfig (const QgsEditorWidgetConfig &config)
 Will set the config of this wrapper to the specified config. More...
 
void setContext (const QgsAttributeEditorContext &context)
 Set the context in which this widget is shown. More...
 
virtual bool valid () const =0
 Return true if the widget has been properly initialized. More...
 
QWidgetwidget ()
 Access the widget managed by this wrapper. More...
 
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*>();. More...
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual  ~QObject ()
 
bool blockSignals (bool block)
 
QObjectchild (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArraydynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObjectparent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThreadthread () const
 

Static Public Member Functions

static QgsEditorWidgetWrapperfromWidget (QWidget *widget)
 Will return a wrapper for a given widget. More...
 
- Static Public Member Functions inherited from QgsWidgetWrapper
static QgsWidgetWrapperfromWidget (QWidget *widget)
 Will return a wrapper for a given widget. More...
 
- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 

Protected Slots

void valueChanged (const QString &value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted. More...
 
void valueChanged (int value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted. More...
 
void valueChanged (double value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted. More...
 
void valueChanged (bool value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted. More...
 
void valueChanged (qlonglong value)
 If you emit to this slot in your implementation, an appropriate change notification will be broadcasted. More...
 
void valueChanged ()
 Will call the value() method to determine the emitted value. More...
 

Protected Member Functions

virtual void updateConstraintWidgetStatus (bool constraintValid)
 This should update the widget with a visual cue if a constraint status changed. More...
 
- Protected Member Functions inherited from QgsWidgetWrapper
virtual QWidgetcreateWidget (QWidget *parent)=0
 This method should create a new widget with the provided parent. More...
 
virtual void initWidget (QWidget *editor)
 This method should initialize the editor widget with runtime data. More...
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObjectsender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 

Additional Inherited Members

- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Manages an editor widget Widget and wrapper share the same parent.

A wrapper controls one attribute editor widget and is able to create a default widget or use a pre-existent widget. It is able to set the widget to the value implied by a field of a vector layer, or return the value it currently holds. Every time it is changed it has to emit a valueChanged signal. If it fails to do so, there is no guarantee that the changed status of the widget will be saved.

Definition at line 41 of file qgseditorwidgetwrapper.h.

Constructor & Destructor Documentation

QgsEditorWidgetWrapper::QgsEditorWidgetWrapper ( QgsVectorLayer vl,
int  fieldIdx,
QWidget editor = nullptr,
QWidget parent = nullptr 
)
explicit

Create a new widget wrapper.

Parameters
vlThe layer on which the field is
fieldIdxThe field which will be controlled
editorAn editor widget. Can be NULL if one should be autogenerated.
parentA parent widget for this widget wrapper and the created widget.

Definition at line 23 of file qgseditorwidgetwrapper.cpp.

Member Function Documentation

void QgsEditorWidgetWrapper::constraintStatusChanged ( const QString constraint,
const QString desc,
const QString err,
bool  status 
)
signal

Emit this signal when the constraint status changed.

constraintStatusChanged

Parameters
constraintrepresented as a string
descis the constraint description
errthe error represented as a string. Empty if none.
status
QVariant QgsEditorWidgetWrapper::defaultValue ( ) const

Access the default value of the field.

Returns
the default value of the field
See also
layer()

Definition at line 43 of file qgseditorwidgetwrapper.cpp.

QgsField QgsEditorWidgetWrapper::field ( ) const

Access the field.

Returns
The field you are working on
See also
layer()

Definition at line 35 of file qgseditorwidgetwrapper.cpp.

int QgsEditorWidgetWrapper::fieldIdx ( ) const

Access the field index.

Returns
The index of the field you are working on
See also
layer()

Definition at line 30 of file qgseditorwidgetwrapper.cpp.

QgsEditorWidgetWrapper * QgsEditorWidgetWrapper::fromWidget ( QWidget widget)
static

Will return a wrapper for a given widget.

Parameters
widgetThe widget which was created by a wrapper
Returns
The wrapper for the widget or NULL

Definition at line 50 of file qgseditorwidgetwrapper.cpp.

bool QgsEditorWidgetWrapper::isValidConstraint ( ) const

Get the current constraint status.

Returns
true if the constraint is valid or if there's not constraint, false otherwise
Note
added in QGIS 2.16

Definition at line 170 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::setEnabled ( bool  enabled)
overridevirtual

Is used to enable or disable the edit functionality of the managed widget.

By default this will enable or disable the whole widget

Parameters
enabledEnable or Disable?

Reimplemented from QgsWidgetWrapper.

Definition at line 55 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::setFeature ( const QgsFeature feature)
overrideslot

Will be called when the feature changes.

Is forwarded to the slot setValue()

Parameters
featureThe new feature

Definition at line 64 of file qgseditorwidgetwrapper.cpp.

virtual void QgsEditorWidgetWrapper::setValue ( const QVariant value)
pure virtualslot

Is called, when the value of the widget needs to be changed.

Update the widget representation to reflect the new value.

Parameters
valueThe new value of the attribute
virtual void QgsEditorWidgetWrapper::showIndeterminateState ( )
inlinevirtual
void QgsEditorWidgetWrapper::updateConstraint ( const QgsFeature featureContext)

Update constraint.

Parameters
featureContextthe feature to use to evaluate the constraint
Note
added in QGIS 2.16

Definition at line 108 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::updateConstraintWidgetStatus ( bool  constraintValid)
protectedvirtual

This should update the widget with a visual cue if a constraint status changed.

By default a stylesheet will be applied on the widget that changes the background color to red.

This can be overwritten in subclasses to allow individual widgets to change the visual cue.

Parameters
constraintValidThe current constraint status.
Note
added in QGIS 2.16

Reimplemented in QgsRelationReferenceWidgetWrapper.

Definition at line 100 of file qgseditorwidgetwrapper.cpp.

virtual QVariant QgsEditorWidgetWrapper::value ( ) const
pure 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

Implemented in QgsValueRelationWidgetWrapper, QgsDateTimeEditWrapper, QgsPhotoWidgetWrapper, QgsRelationReferenceWidgetWrapper, QgsRangeWidgetWrapper, QgsCheckboxWidgetWrapper, QgsExternalResourceWidgetWrapper, QgsTextEditWrapper, QgsValueMapWidgetWrapper, QgsFileNameWidgetWrapper, QgsUniqueValuesWidgetWrapper, QgsWebViewWidgetWrapper, QgsUuidWidgetWrapper, QgsColorWidgetWrapper, QgsClassificationWidgetWrapper, QgsEnumerationWidgetWrapper, and QgsHiddenWidgetWrapper.

void QgsEditorWidgetWrapper::valueChanged ( const QVariant value)
signal

Emit this signal, whenever the value changed.

Parameters
valueThe new value
void QgsEditorWidgetWrapper::valueChanged ( const QString value)
protectedslot

If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.

Helper for string type widgets.

Parameters
valueThe value

Definition at line 70 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::valueChanged ( int  value)
protectedslot

If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.

Helper for int type widgets.

Parameters
valueThe value
Note
python name valueChangedInt

Definition at line 75 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::valueChanged ( double  value)
protectedslot

If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.

Helper for double type widgets.

Parameters
valueThe value
Note
python name valueChangedDouble

Definition at line 80 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::valueChanged ( bool  value)
protectedslot

If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.

Helper for bool type widgets.

Parameters
valueThe value
Note
python name valueChangedBool

Definition at line 85 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::valueChanged ( qlonglong  value)
protectedslot

If you emit to this slot in your implementation, an appropriate change notification will be broadcasted.

Helper for longlong type widgets.

Parameters
valueThe value

Definition at line 90 of file qgseditorwidgetwrapper.cpp.

void QgsEditorWidgetWrapper::valueChanged ( )
protectedslot

Will call the value() method to determine the emitted value.

Definition at line 95 of file qgseditorwidgetwrapper.cpp.


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