QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
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 74 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 77 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 363 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 339 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 259 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 273 of file qgsdatetimeedit.cpp.

◆ focusInEvent()

void QgsDateTimeEdit::focusInEvent ( QFocusEvent *  event)
overrideprotected

Definition at line 181 of file qgsdatetimeedit.cpp.

◆ focusOutEvent()

void QgsDateTimeEdit::focusOutEvent ( QFocusEvent *  event)
overrideprotected

Definition at line 164 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 278 of file qgsdatetimeedit.cpp.

◆ mousePressEvent()

void QgsDateTimeEdit::mousePressEvent ( QMouseEvent *  event)
overrideprotected

Definition at line 106 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 245 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 70 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 318 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 100 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 250 of file qgsdatetimeedit.cpp.

◆ showEvent()

void QgsDateTimeEdit::showEvent ( QShowEvent *  event)
overrideprotected

Definition at line 207 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 351 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 195 of file qgsdatetimeedit.cpp.

Friends And Related Function Documentation

◆ TestQgsDateTimeEdit

friend class TestQgsDateTimeEdit
friend

Definition at line 225 of file qgsdatetimeedit.h.

Member Data Documentation

◆ mBlockChangedSignal

int QgsDateTimeEdit::mBlockChangedSignal = 0
protected

Block change signals if true.

Definition at line 160 of file qgsdatetimeedit.h.

◆ mIsEmpty

bool QgsDateTimeEdit::mIsEmpty = false
protected

true if the widget is empty

Definition at line 157 of file qgsdatetimeedit.h.

Property Documentation

◆ allowNull

bool QgsDateTimeEdit::allowNull
readwrite

Definition at line 52 of file qgsdatetimeedit.h.


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