QGIS API Documentation 3.99.0-Master (2fe06baccd8)
Loading...
Searching...
No Matches
qgsexternalresourcewidgetwrapper.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsexternalresourcewidgetwrapper.h
3 --------------------------------------
4 begin : 16.12.2015
5 copyright : (C) 2015 by Denis Rouzaud
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 QGSEXTERNALRESOURCEWIDGETWRAPPER_H
17#define QGSEXTERNALRESOURCEWIDGETWRAPPER_H
18
20
21class QLabel;
22class QLineEdit;
23
24#include "qgis_gui.h"
25#include "qgsattributeform.h"
27
29
30
36
41{
42 Q_OBJECT
43 public:
55 explicit QgsExternalResourceWidgetWrapper( QgsVectorLayer *layer, int fieldIdx, QWidget *editor = nullptr, QgsMessageBar *messageBar = nullptr, QWidget *parent = nullptr );
56
57 // QgsEditorWidgetWrapper interface
58 public:
59 QVariant value() const override;
60 void showIndeterminateState() override;
61
62 protected:
63 QWidget *createWidget( QWidget *parent ) override;
64 void initWidget( QWidget *editor ) override;
65 bool valid() const override;
66
71
72 public slots:
73 void setFeature( const QgsFeature &feature ) override;
74 void setEnabled( bool enabled ) override;
75
85 void widgetValueChanged( const QString &attribute, const QVariant &newValue, bool attributeChanged );
86
87
88 private:
89 void updateValues( const QVariant &value, const QVariantList & = QVariantList() ) override;
90 void updateConstraintWidgetStatus() override;
91 void updateProperties( const QgsFeature &feature );
92
93 QLineEdit *mLineEdit = nullptr;
94 QLabel *mLabel = nullptr;
95 QgsAttributeForm *mForm = nullptr;
96 QgsExternalResourceWidget *mQgsWidget = nullptr;
97 QgsMessageBar *mMessageBar = nullptr;
98
100};
101
102#endif // QGSEXTERNALRESOURCEWIDGETWRAPPER_H
The attribute form widget for vector layer features.
virtual void updateConstraintWidgetStatus()
This should update the widget with a visual cue if a constraint status changed.
virtual QVariant value() const =0
Will be used to access the widget's value.
int fieldIdx() const
Access the field index.
virtual void showIndeterminateState()
Sets the widget to display in an indeterminate "mixed value" state.
QgsEditorWidgetWrapper(QgsVectorLayer *vl, int fieldIdx, QWidget *editor=nullptr, QWidget *parent=nullptr)
Create a new widget wrapper.
void setFeature(const QgsFeature &feature) override
Will be called when the feature changes.
void setEnabled(bool enabled) override
Is used to enable or disable the edit functionality of the managed widget.
void updateFileWidgetExpressionContext()
Update file widget current expression context according to layer, feature, and parent feature.
QVariant value() const override
Will be used to access the widget's value.
void widgetValueChanged(const QString &attribute, const QVariant &newValue, bool attributeChanged)
Will be called when a value in the current edited form or table row changes.
QgsExternalResourceWidgetWrapper(QgsVectorLayer *layer, int fieldIdx, QWidget *editor=nullptr, QgsMessageBar *messageBar=nullptr, QWidget *parent=nullptr)
Constructor for QgsExternalResourceWidgetWrapper.
Widget to display file path with a push button for an "open file" dialog It can also be used to displ...
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Definition qgsfeature.h:58
A bar for displaying non-blocking messages to the user.
Represents a vector layer which manages a vector based dataset.
virtual bool valid() const =0
Returns true if the widget has been properly initialized.
virtual void initWidget(QWidget *editor)
This method should initialize the editor widget with runtime data.
QgsVectorLayer * layer() const
Returns the vector layer associated with the widget.
virtual QWidget * createWidget(QWidget *parent)=0
This method should create a new widget with the provided parent.
#define SIP_NO_FILE