the issue was that widget wrapper was using parent QDateTimeEdit::dateTimeChanged signal. It was connected both internally to QgsDateTimeEdit::changed and in the form to detect changes. When QgsAttributeForm was recreating the updated feature it was calling QgsDateTimeEdit::value() before changed() could update the value (i.e. setting mIsNull to false).
fix#17790
the widget now uses a special value text to display NULL rather than painting a QLineEdit on top
a press on the spinbox buttons (non-calendar mode) is catch to set to current date to avoid starting at the minimum date
Run clang-tidy modernize-use-override to remove all the redundant
virtual keywords from overridden methods, and add some missing
overrides.
Another benefit is that this has also added the overrides
on destructors, which will cause a build failure if a base
class is missing a virtual destructor.
For each child relations, the subform is visible.
Each attribute of the children has a tool button option to define to which
aggregate the specified value should be compared. This allows for searching
things like
* Each city where the highest building is more than 300 m
* Each sensor where the median value is lower than 50 ppm
* Each feature with a child with a missing value
* ...
...as we had it for for constraint result (status).
now the setter are called when setting the editable mode changes.
and the getter to have the current visibility status.
if editable, the backgroundcolor should be set according the constraint result
if not editable, the backgroundcolor should be empty anyway
so it has to be reseted when synchronizeEditableState...
in smaller amounts
Default Qt behavior is to increase step size 10x when ctrl
is held while mouse wheel - but everywhere else in QGIS
UI we use the ctrl modifier as a "finer" increment with
the mouse wheel (e.g. ctrl+wheel = fine zoom into map/composer).
So override Qt's behavior and instead make ctrl modifier result
in 1/10th usual increment for spin boxes.
This was causing an issue if you tried to access widgets in a form using findChildren
widgets could not be casted to QGIs native types
also sipify QgsFilterLineEdit and QgsRelationEditorWidget
This is replaced with a QVariantMap. It was never really more than this in the
past and with the switch to QgsConfigurationProperties, there is really no
longer any reason to assume that this will change.