QGIS API Documentation  3.0.2-Girona (307d082)
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"
20 #include "qgis.h"
22 
23 #include <QComboBox>
24 #include <QListWidget>
25 #include <QLineEdit>
26 #include "qgis_gui.h"
27 
29 
38 {
39  Q_OBJECT
40  public:
41 
43  explicit QgsValueRelationSearchWidgetWrapper( QgsVectorLayer *vl, int fieldIdx, QWidget *parent SIP_TRANSFERTHIS = nullptr );
44  bool applyDirectly() override;
45  QString expression() const override;
46  bool valid() const override;
47  QVariant value() const;
48  QgsSearchWidgetWrapper::FilterFlags supportedFlags() const override;
49  QgsSearchWidgetWrapper::FilterFlags defaultFlags() const override;
50  QString createExpression( QgsSearchWidgetWrapper::FilterFlags flags ) const override;
51 
52  public slots:
53  void clearWidget() override;
54  void setEnabled( bool enabled ) override;
55 
56  protected:
57  QWidget *createWidget( QWidget *parent ) override;
58  void initWidget( QWidget *editor ) override;
59 
60  protected slots:
62  void onValueChanged();
63 
64  void setExpression( const QString &exp ) override;
65 
66  private:
67  QComboBox *mComboBox = nullptr;
68  QListWidget *mListWidget = nullptr;
69  QLineEdit *mLineEdit = nullptr;
70 
72  QgsVectorLayer *mLayer = nullptr;
73 
75 };
76 
77 #endif // QGSVALUERELATIONSEARCHWIDGETWRAPPER_H
Shows a search widget on a filter form.
virtual QString createExpression(FilterFlags flags) const
Creates a filter expression based on the current state of the search widget and the specified filter ...
#define SIP_TRANSFERTHIS
Definition: qgis_sip.h:46
void setEnabled(bool enabled) override
Toggles whether the search widget is enabled or disabled.
QVector< QgsValueRelationFieldFormatter::ValueRelationItem > ValueRelationCache
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 QString expression() const =0
Will be used to access the widget&#39;s value.
virtual FilterFlags defaultFlags() const
Returns the filter flags which should be set by default for the search widget.
virtual void setExpression(const QString &expression)=0
Set the expression which is currently used as filter for this widget.
Represents a vector layer which manages a vector based data sets.
virtual FilterFlags supportedFlags() const
Returns filter flags supported by the search widget.