QGIS API Documentation  3.6.0-Noosa (5873452)
qgsdatetimesearchwidgetwrapper.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsdatetimesearchwidgetwrapper.h
3  -------------------------------
4  Date : 2016-05-23
5  Copyright : (C) 2016 Nyall Dawson
6  Email : nyall dot dawson 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 QGSDATETIMESEARCHWIDGETWRAPPER_H
17 #define QGSDATETIMESEARCHWIDGETWRAPPER_H
18 
19 #include "qgssearchwidgetwrapper.h"
20 #include "qgis_sip.h"
21 
22 #include <QComboBox>
23 #include <QListWidget>
24 #include <QLineEdit>
25 #include "qgis_gui.h"
26 
28 class QgsDateTimeEdit;
29 
38 {
39  Q_OBJECT
40 
41  public:
42 
49  explicit QgsDateTimeSearchWidgetWrapper( QgsVectorLayer *vl, int fieldIdx, QWidget *parent SIP_TRANSFERTHIS = nullptr );
50 
55  QVariant value() const;
56 
57  bool applyDirectly() override;
58  QString expression() const override;
59  bool valid() const override;
60  QgsSearchWidgetWrapper::FilterFlags supportedFlags() const override;
61  QgsSearchWidgetWrapper::FilterFlags defaultFlags() const override;
62  QString createExpression( QgsSearchWidgetWrapper::FilterFlags flags ) const override;
63 
64  public slots:
65 
66  void clearWidget() override;
67  void setEnabled( bool enabled ) override;
68 
69  protected:
70  QWidget *createWidget( QWidget *parent ) override;
71  void initWidget( QWidget *editor ) override;
72 
73  protected slots:
74  void setExpression( const QString &exp ) override;
75 
76  private slots:
77  void dateTimeChanged( const QDateTime &date );
78 
79  private:
80  QgsDateTimeEdit *mDateTimeEdit = nullptr;
81  QgsVectorLayer *mLayer = nullptr;
82 
83  friend class QgsDateTimeEditFactory;
84 };
85 
86 #endif // QGSDATETIMESEARCHWIDGETWRAPPER_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.
Wraps a date/time edit widget for searching.
virtual void clearWidget()
Clears the widget&#39;s current value and resets it back to the default state.
virtual bool valid() const =0
Returns 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.
The QgsDateTimeEdit class is a QDateTimeEdit with the capability of setting/reading null date/times...