QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
Public Slots | Public Member Functions | List of all members
QgsQmlWidgetWrapper Class Reference

Wraps a QQuickWidget to display QML code. More...

#include <qgsqmlwidgetwrapper.h>

Inheritance diagram for QgsQmlWidgetWrapper:
Inheritance graph
[legend]

Public Slots

void setFeature (const QgsFeature &feature) override
 
- Public Slots inherited from QgsWidgetWrapper
virtual void setEnabled (bool enabled)
 Is used to enable or disable the edit functionality of the managed widget. More...
 
virtual void setFeature (const QgsFeature &feature)=0
 Is called when the value of the widget needs to be changed. More...
 

Public Member Functions

 QgsQmlWidgetWrapper (QgsVectorLayer *layer, QWidget *editor, QWidget *parent)
 Create a qml widget wrapper. More...
 
QWidget * createWidget (QWidget *parent) override
 This method should create a new widget with the provided parent. More...
 
void initWidget (QWidget *editor) override
 This method should initialize the editor widget with runtime data. More...
 
void reinitWidget ()
 Clears the content and makes new initialization. More...
 
void setQmlCode (const QString &qmlCode)
 writes the qmlCode into a temporary file More...
 
bool valid () const override
 Returns true if the widget has been properly initialized. More...
 
- Public Member Functions inherited from QgsWidgetWrapper
 QgsWidgetWrapper (QgsVectorLayer *vl, QWidget *editor=nullptr, QWidget *parent=nullptr)
 Create a new widget wrapper. More...
 
QVariantMap config () const
 Returns the whole config. More...
 
QVariant config (const QString &key, const QVariant &defaultVal=QVariant()) const
 Use this inside your overridden classes to access the configuration. More...
 
const QgsAttributeEditorContextcontext () const
 Returns information about the context in which this widget is shown. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the editor widget's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the editor widget's property collection, used for data defined overrides. More...
 
QgsVectorLayerlayer () const
 Returns the vector layer associated with the widget. More...
 
void notifyAboutToSave ()
 Notify this widget, that the containing form is about to save and that any pending changes should be pushed to the edit buffer or they might be lost. More...
 
void setConfig (const QVariantMap &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...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the editor widget's property collection, used for data defined overrides. More...
 
virtual bool valid () const =0
 Returns true if the widget has been properly initialized. More...
 
QWidget * widget ()
 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. More...
 

Additional Inherited Members

- Public Types inherited from QgsWidgetWrapper
enum  Property { RootPath = 0 , DocumentViewerContent , StorageUrl }
 Data defined properties for different editor widgets. More...
 
- Signals inherited from QgsWidgetWrapper
void contextChanged ()
 Signal when QgsAttributeEditorContext mContext changed. More...
 
- Static Public Member Functions inherited from QgsWidgetWrapper
static QgsWidgetWrapperfromWidget (QWidget *widget)
 Will return a wrapper for a given widget. More...
 
static const QgsPropertiesDefinitionpropertyDefinitions ()
 Returns the editor widget property definitions. More...
 
virtual QWidget * createWidget (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 Attributes inherited from QgsWidgetWrapper
QgsPropertyCollection mPropertyCollection
 Data defined property collection. More...
 

Detailed Description

Wraps a QQuickWidget to display QML code.

Since
QGIS 3.4

Definition at line 29 of file qgsqmlwidgetwrapper.h.

Constructor & Destructor Documentation

◆ QgsQmlWidgetWrapper()

QgsQmlWidgetWrapper::QgsQmlWidgetWrapper ( QgsVectorLayer layer,
QWidget *  editor,
QWidget *  parent 
)

Create a qml widget wrapper.

Parameters
layerThe layer on which the feature is
editorAn editor widget. Can be nullptr if one should be autogenerated.
parentA parent widget

Definition at line 26 of file qgsqmlwidgetwrapper.cpp.

Member Function Documentation

◆ createWidget()

QWidget * QgsQmlWidgetWrapper::createWidget ( QWidget *  parent)
overridevirtual

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 initialization 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().

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

Implements QgsWidgetWrapper.

Definition at line 37 of file qgsqmlwidgetwrapper.cpp.

◆ initWidget()

void QgsQmlWidgetWrapper::initWidget ( QWidget *  editor)
overridevirtual

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.

Definition at line 42 of file qgsqmlwidgetwrapper.cpp.

◆ reinitWidget()

void QgsQmlWidgetWrapper::reinitWidget ( )

Clears the content and makes new initialization.

Definition at line 62 of file qgsqmlwidgetwrapper.cpp.

◆ setFeature

void QgsQmlWidgetWrapper::setFeature ( const QgsFeature feature)
overrideslot

Definition at line 102 of file qgsqmlwidgetwrapper.cpp.

◆ setQmlCode()

void QgsQmlWidgetWrapper::setQmlCode ( const QString &  qmlCode)

writes the qmlCode into a temporary file

Definition at line 72 of file qgsqmlwidgetwrapper.cpp.

◆ valid()

bool QgsQmlWidgetWrapper::valid ( ) const
overridevirtual

Returns true if the widget has been properly initialized.

This acts as hint for the calling party if this wrapper can be used after initializing it. If it cannot be used this is a hint to the caller that he may try to find another suitable widget type instead.

Returns
Validity status of this widget.
Since
QGIS 2.12

Implements QgsWidgetWrapper.

Definition at line 32 of file qgsqmlwidgetwrapper.cpp.


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