QGIS API Documentation  3.17.0-Master (a84647cf30)
Signals | Public Member Functions | Protected Member Functions | Protected Attributes | Properties | Friends | List of all members
QgsDateTimeEdit Class Reference

The QgsDateTimeEdit class is a QDateTimeEdit with the capability of setting/reading null date/times. More...

#include <qgsdatetimeedit.h>

Inheritance diagram for QgsDateTimeEdit:
Inheritance graph
[legend]

Signals

void valueChanged (const QDateTime &date)
 Signal emitted whenever the value changes. More...
 

Public Member Functions

 QgsDateTimeEdit (QWidget *parent=nullptr)
 Constructor for QgsDateTimeEdit. More...
 
bool allowNull () const
 If the widget allows setting null date/time. More...
 
void clear () override
 Set the current date as NULL. More...
 
QDate date () const
 Returns the date which can be a null date. More...
 
QDateTime dateTime () const
 Returns the date time which can be a null date/time. More...
 
QString nullRepresentation () const
 Returns the widget's NULL representation, which defaults to QgsApplication::nullRepresentation(). More...
 
void setAllowNull (bool allowNull)
 Determines if the widget allows setting null date/time. More...
 
void setDateTime (const QDateTime &dateTime)
 Set the date time in the widget and handles null date times. More...
 
void setEmpty ()
 Resets the widget to show no value (ie, an "unknown" state). More...
 
void setNullRepresentation (const QString &null)
 Sets the widget's null representation, which defaults to QgsApplication::nullRepresentation(). More...
 
QTime time () const
 Returns the time which can be a null time. More...
 

Protected Member Functions

void displayNull (bool updateCalendar=false)
 write the null value representation to the line edit without changing the value More...
 
virtual void emitValueChanged (const QVariant &value)
 Emits the widget's correct value changed signal. More...
 
void focusInEvent (QFocusEvent *event) override
 
void focusOutEvent (QFocusEvent *event) override
 
bool isNull () const
 Returns true if the widget is currently set to a null value. More...
 
void mousePressEvent (QMouseEvent *event) override
 
void showEvent (QShowEvent *event) override
 
void wheelEvent (QWheelEvent *event) override
 

Protected Attributes

int mBlockChangedSignal = 0
 Block change signals if true. More...
 
bool mIsEmpty = false
 true if the widget is empty More...
 

Properties

bool allowNull
 

Friends

class TestQgsDateTimeEdit
 

Detailed Description

The QgsDateTimeEdit class is a QDateTimeEdit with the capability of setting/reading null date/times.

Warning
You should use the signal valueChanged of this subclass rather than QDateTimeEdit::dateTimeChanged. (If you consequently connect parent's dateTimeChanged signal and call dateTime() afterwards there is no guarantee that NULL values will be correctly handled).
See also
QgsDateEdit
QgsTimeEdit

Definition at line 36 of file qgsdatetimeedit.h.

Constructor & Destructor Documentation

◆ QgsDateTimeEdit()

QgsDateTimeEdit::QgsDateTimeEdit ( QWidget *  parent = nullptr)
explicit

Constructor for QgsDateTimeEdit.

The current date and time is used by default. The widget is allowing null by default. If allow null is disabled, you should check allowNull before getting values from the widget.

Definition at line 31 of file qgsdatetimeedit.cpp.

Member Function Documentation

◆ allowNull()

bool QgsDateTimeEdit::allowNull ( ) const
inline

If the widget allows setting null date/time.

See also
setAllowNull

Definition at line 61 of file qgsdatetimeedit.h.

◆ clear()

void QgsDateTimeEdit::clear ( )
override

Set the current date as NULL.

Note
If the widget is not configured to accept NULL dates, this will have no effect.

Definition at line 68 of file qgsdatetimeedit.cpp.

◆ date()

QDate QgsDateTimeEdit::date ( ) const

Returns the date which can be a null date.

Since
QGIS 3.10

Definition at line 348 of file qgsdatetimeedit.cpp.

◆ dateTime()

QDateTime QgsDateTimeEdit::dateTime ( ) const

Returns the date time which can be a null date/time.

Note
Before QGIS 3.10, you mustn't call date() or time() because they can't return a NULL value.
Since QDateTimeEdit::dateTime() is not virtual, dateTime must be called for QgsDateTimeEdit.

Definition at line 324 of file qgsdatetimeedit.cpp.

◆ displayNull()

void QgsDateTimeEdit::displayNull ( bool  updateCalendar = false)
protected

write the null value representation to the line edit without changing the value

Parameters
updateCalendarFlag if calendar is open and minimum date needs to be set

Definition at line 244 of file qgsdatetimeedit.cpp.

◆ emitValueChanged()

void QgsDateTimeEdit::emitValueChanged ( const QVariant &  value)
protectedvirtual

Emits the widget's correct value changed signal.

Reimplemented in QgsDateEdit, and QgsTimeEdit.

Definition at line 258 of file qgsdatetimeedit.cpp.

◆ focusInEvent()

void QgsDateTimeEdit::focusInEvent ( QFocusEvent *  event)
overrideprotected

Definition at line 168 of file qgsdatetimeedit.cpp.

◆ focusOutEvent()

void QgsDateTimeEdit::focusOutEvent ( QFocusEvent *  event)
overrideprotected

Definition at line 151 of file qgsdatetimeedit.cpp.

◆ isNull()

bool QgsDateTimeEdit::isNull ( ) const
protected

Returns true if the widget is currently set to a null value.

Definition at line 263 of file qgsdatetimeedit.cpp.

◆ mousePressEvent()

void QgsDateTimeEdit::mousePressEvent ( QMouseEvent *  event)
overrideprotected

Definition at line 97 of file qgsdatetimeedit.cpp.

◆ nullRepresentation()

QString QgsDateTimeEdit::nullRepresentation ( ) const

Returns the widget's NULL representation, which defaults to QgsApplication::nullRepresentation().

See also
setNullRepresentation()
Since
QGIS 3.14

Definition at line 230 of file qgsdatetimeedit.cpp.

◆ setAllowNull()

void QgsDateTimeEdit::setAllowNull ( bool  allowNull)

Determines if the widget allows setting null date/time.

See also
allowNull

Definition at line 61 of file qgsdatetimeedit.cpp.

◆ setDateTime()

void QgsDateTimeEdit::setDateTime ( const QDateTime &  dateTime)

Set the date time in the widget and handles null date times.

Note
Since QDateTimeEdit::setDateTime() is not virtual, setDateTime must be called for QgsDateTimeEdit.

Definition at line 303 of file qgsdatetimeedit.cpp.

◆ setEmpty()

void QgsDateTimeEdit::setEmpty ( )

Resets the widget to show no value (ie, an "unknown" state).

Since
QGIS 2.16

Definition at line 91 of file qgsdatetimeedit.cpp.

◆ setNullRepresentation()

void QgsDateTimeEdit::setNullRepresentation ( const QString &  null)

Sets the widget's null representation, which defaults to QgsApplication::nullRepresentation().

See also
nullRepresentation()
Since
QGIS 3.14

Definition at line 235 of file qgsdatetimeedit.cpp.

◆ showEvent()

void QgsDateTimeEdit::showEvent ( QShowEvent *  event)
overrideprotected

Definition at line 192 of file qgsdatetimeedit.cpp.

◆ time()

QTime QgsDateTimeEdit::time ( ) const

Returns the time which can be a null time.

Since
QGIS 3.10

Definition at line 336 of file qgsdatetimeedit.cpp.

◆ valueChanged

void QgsDateTimeEdit::valueChanged ( const QDateTime &  date)
signal

Signal emitted whenever the value changes.

Parameters
dateThe new date/time value.

◆ wheelEvent()

void QgsDateTimeEdit::wheelEvent ( QWheelEvent *  event)
overrideprotected

Definition at line 182 of file qgsdatetimeedit.cpp.

Friends And Related Function Documentation

◆ TestQgsDateTimeEdit

friend class TestQgsDateTimeEdit
friend

Definition at line 208 of file qgsdatetimeedit.h.

Member Data Documentation

◆ mBlockChangedSignal

int QgsDateTimeEdit::mBlockChangedSignal = 0
protected

Block change signals if true.

Definition at line 143 of file qgsdatetimeedit.h.

◆ mIsEmpty

bool QgsDateTimeEdit::mIsEmpty = false
protected

true if the widget is empty

Definition at line 140 of file qgsdatetimeedit.h.

Property Documentation

◆ allowNull

bool QgsDateTimeEdit::allowNull
readwrite

Definition at line 39 of file qgsdatetimeedit.h.


The documentation for this class was generated from the following files: