QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
qgsvaluerelationsearchwidgetwrapper.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsvaluerelationwidgetwrapper.h
3  --------------------------------------
4  Date : 19.6.2015
5  Copyright : (C) 2015 Karolina Alexiou
6  Email : carolinegr at gmail dot com
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 QGSVALUERELATIONSEARCHWIDGETWRAPPER_H
17 #define QGSVALUERELATIONSEARCHWIDGETWRAPPER_H
18 
19 #include "qgssearchwidgetwrapper.h"
21 
22 #include <QComboBox>
23 #include <QListWidget>
24 #include <QLineEdit>
25 
27 
35 {
36  Q_OBJECT
37 
38  public:
41 
42  public:
43  explicit QgsValueRelationSearchWidgetWrapper( QgsVectorLayer* vl, int fieldIdx, QWidget* parent = nullptr );
44  bool applyDirectly() override;
45  QString expression() override;
46  bool valid() const override;
47  QVariant value() const;
48  FilterFlags supportedFlags() const override;
49  FilterFlags defaultFlags() const override;
50  virtual QString createExpression( FilterFlags flags ) const override;
51 
52  public slots:
53 
54  virtual void clearWidget() override;
55  virtual void setEnabled( bool enabled ) override;
56 
57  protected:
58  QWidget* createWidget( QWidget* parent ) override;
59  void initWidget( QWidget* editor ) override;
60 
61  public slots:
62 
64  void onValueChanged();
65 
66  protected slots:
67  void setExpression( QString exp ) override;
68 
69  private:
70  QComboBox* mComboBox;
71  QListWidget* mListWidget;
72  QLineEdit* mLineEdit;
73 
74  ValueRelationCache mCache;
75  QgsVectorLayer* mLayer;
76 
78 };
79 
80 #endif // QGSVALUERELATIONSEARCHWIDGETWRAPPER_H
Manages an editor widget Widget and wrapper share the same parent.
virtual QString createExpression(FilterFlags flags) const
Creates a filter expression based on the current state of the search widget and the specified filter ...
virtual void setEnabled(bool enabled) override
Toggles whether the search widget is enabled or disabled.
virtual void setExpression(QString value)=0
virtual QString expression()=0
Will be used to access the widget&#39;s value.
virtual void clearWidget()
Clears the widget&#39;s current value and resets it back to the default state.
Wraps a value relation search widget.
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 bool applyDirectly()=0
If this is true, then this search widget should take effect directly when its expression changes...
virtual FilterFlags defaultFlags() const
Returns the filter flags which should be set by default for the search widget.
Represents a vector layer which manages a vector based data sets.
virtual FilterFlags supportedFlags() const
Returns filter flags supported by the search widget.