QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
qgsrelationreferencewidgetwrapper.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsrelationreferencewidgetwrapper.h
3  --------------------------------------
4  Date : 20.4.2013
5  Copyright : (C) 2013 Matthias Kuhn
6  Email : matthias at opengis 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 QGSRELATIONREFERENCEWIDGETWRAPPER_H
17 #define QGSRELATIONREFERENCEWIDGETWRAPPER_H
18 
20 #include "qgseditorwidgetwrapper.h"
21 
22 
39 {
40  Q_OBJECT
41  public:
43  int fieldIdx,
44  QWidget* editor,
45  QgsMapCanvas* canvas,
46  QgsMessageBar* messageBar,
47  QWidget* parent = nullptr );
48 
49  virtual QWidget* createWidget( QWidget* parent ) override;
50  virtual void initWidget( QWidget* editor ) override;
51  virtual QVariant value() const override;
52  bool valid() const override;
53  void showIndeterminateState() override;
54 
55  public slots:
56  virtual void setValue( const QVariant& value ) override;
57  virtual void setEnabled( bool enabled ) override;
58 
59  private slots:
60  void foreignKeyChanged( QVariant value );
61 
62  protected:
74  void updateConstraintWidgetStatus( bool constraintValid ) override;
75 
76  private:
78  QgsMapCanvas* mCanvas;
79  QgsMessageBar* mMessageBar;
80  bool mIndeterminateState;
81 };
82 
83 #endif // QGSRELATIONREFERENCEWIDGETWRAPPER_H
Manages an editor widget Widget and wrapper share the same parent.
virtual void updateConstraintWidgetStatus(bool constraintValid)
This should update the widget with a visual cue if a constraint status changed.
A bar for displaying non-blocking messages to the user.
Definition: qgsmessagebar.h:42
virtual void setEnabled(bool enabled) override
Is used to enable or disable the edit functionality of the managed widget.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:109
virtual void showIndeterminateState()
Sets the widget to display in an indeterminate "mixed value" state.
virtual bool valid() const =0
Return true if the widget has been properly initialized.
virtual QWidget * createWidget(QWidget *parent)=0
This method should create a new widget with the provided parent.
virtual void initWidget(QWidget *editor)
This method should initialize the editor widget with runtime data.
virtual void setValue(const QVariant &value)=0
Is called, when the value of the widget needs to be changed.
virtual QVariant value() const =0
Will be used to access the widget's value.
Represents a vector layer which manages a vector based data sets.