QgsDateTimeEditWrapper class
Wraps a date time widget.
Contents
Users will be able to choose date and time from an appropriate dialog.
Options:
- display_format The format used to represent the date/time to the user.
- calendar_popup If True, will offer a calendar popup.
- allow_null If True, will allow NULL values. Requires QgsDateTimeEdit as widget (Be aware if you work with .ui files).
- field_format The format used to save the date/time.
Base classes
- class QgsEditorWidgetWrapper
- Manages an editor widget Widget and wrapper share the same parent.
Constructors, destructors, conversion operators
- QgsDateTimeEditWrapper(QgsVectorLayer* layer, int fieldIdx, QWidget* editor, QWidget* parent = nullptr) explicit
- Constructor for QgsDateTimeEditWrapper.
Public functions
- auto createWidget(QWidget* parent) -> QWidget* override
- This method should create a new widget with the provided parent.
- void initWidget(QWidget* editor) override
- This method should initialize the editor widget with runtime data.
- void showIndeterminateState() override
- Sets the widget to display in an indeterminate "mixed value" state.
- auto valid() const -> bool override
- Returns true if the widget has been properly initialized.
- auto value() const -> QVariant override
- Will be used to access the widget's value.
Function documentation
QgsDateTimeEditWrapper:: QgsDateTimeEditWrapper(QgsVectorLayer* layer,
int fieldIdx,
QWidget* editor,
QWidget* parent = nullptr) explicit
Constructor for QgsDateTimeEditWrapper.
The layer and fieldIdx arguments specify the vector layer field associated with the wrapper.
The editor argument indicates the editor widget to use with the wrapper. This can be a nullptr if a new widget should be autogenerated.
A parent widget for this widget wrapper and the created widget can also be specified.
QWidget* QgsDateTimeEditWrapper:: createWidget(QWidget* parent) override
This method should create a new widget with the provided parent.
| Parameters | |
|---|---|
| parent | You should set this parent on the created widget. |
| Returns | A new widget |
This will only be called if the form did not already provide a widget, so it is not guaranteed to be called! You should not do initialization stuff, which also has to be done for custom editor widgets inside this method. Things like filling comboboxes and assigning other data which will also be used to make widgets on forms created in the QtDesigner usable should be assigned in initWidget().
void QgsDateTimeEditWrapper:: initWidget(QWidget* editor) override
This method should initialize the editor widget with runtime data.
| Parameters | |
|---|---|
| editor | The widget which will represent this attribute editor in a form. |
Fill your comboboxes here.
void QgsDateTimeEditWrapper:: showIndeterminateState() override
Sets the widget to display in an indeterminate "mixed value" state.
bool QgsDateTimeEditWrapper:: valid() const override
Returns true if the widget has been properly initialized.
| Returns | Validity status of this widget. |
|---|
This acts as hint for the calling party if this wrapper can be used after initializing it. If it cannot be used this is a hint to the caller that he may try to find another suitable widget type instead.
QVariant QgsDateTimeEditWrapper:: value() const override
Will be used to access the widget's value.
| Returns | The current value the widget represents |
|---|
Read the value from the widget and return it properly formatted to be saved in the attribute.
If an invalid variant is returned this will be interpreted as no change. Be sure to return a NULL QVariant if it should be set to NULL.