37 Q_DECLARE_PUBLIC(QDateTimeEdit)
39 QDateTimeEditPrivate(
const QTimeZone &zone = QTimeZone::LocalTime);
41 void init(
const QVariant &var);
42 void readLocaleSettings();
44 QDateTime validateAndInterpret(QString &input,
int &, QValidator::State &state,
45 bool fixup =
false)
const;
46 void clearSection(
int index);
49 void emitSignals(EmitPolicy ep,
const QVariant &old) override;
50 QString textFromValue(
const QVariant &f)
const override;
51 QVariant valueFromText(
const QString &f)
const override;
52 void editorCursorPositionChanged(
int oldpos,
int newpos) override;
53 void interpret(EmitPolicy ep) override;
54 void clearCache()
const override;
55 QStyle::SubControl newHoverControl(
const QPoint &pos) override;
56 void updateEditFieldGeometry() override;
57 QVariant getZeroVariant()
const override;
58 void setRange(
const QVariant &min,
const QVariant &max) override;
59 void updateEdit() override;
62 QString displayText()
const override {
return edit->text(); }
63 QDateTime getMinimum(
const QTimeZone &zone)
const override;
64 QDateTime getMaximum(
const QTimeZone &zone)
const override;
65 QLocale locale()
const override {
return q_func()->locale(); }
66 int cursorPosition()
const override {
return edit ? edit->cursorPosition() : -1; }
68 int absoluteIndex(QDateTimeEdit::Section s,
int index)
const;
69 int absoluteIndex(SectionNode s)
const;
70 QDateTime stepBy(
int index,
int steps,
bool test =
false)
const;
71 int sectionAt(
int pos)
const;
72 int closestSection(
int index,
bool forward)
const;
73 int nextPrevSection(
int index,
bool forward)
const;
74 void setSelected(
int index,
bool forward =
false);
76 void updateCache(
const QVariant &val,
const QString &str)
const;
78 QDateTime convertTimeZone(
const QDateTime &datetime);
79 void updateTimeZone();
80 QString valueToText(
const QVariant &var)
const {
return textFromValue(var); }
81 QDateTime dateTimeValue(QDate date, QTime time)
const;
83 void _q_resetButton();
84 void updateArrow(QStyle::StateFlag state);
85 bool calendarPopupEnabled()
const;
86 void syncCalendarWidget();
88 bool isSeparatorKey(
const QKeyEvent *k)
const;
90 static QDateTimeEdit::Sections convertSections(QDateTimeParser::Sections s);
91 static QDateTimeEdit::Section convertToPublic(QDateTimeParser::Section s);
93 void initCalendarPopup(QCalendarWidget *cw =
nullptr);
94 void positionCalendarPopup();
96 QDateTimeEdit::Sections sections = {};
97 mutable bool cacheGuard =
false;
99 QString defaultDateFormat, defaultTimeFormat, defaultDateTimeFormat, unreversedFormat;
100 mutable QVariant conflictGuard;
101 bool hasHadFocus =
false, formatExplicitlySet =
false, calendarPopup =
false;
102 QStyle::StateFlag arrowState = QStyle::State_None;
103 QCalendarPopup *monthCalendar =
nullptr;
105#ifdef QT_KEYPAD_NAVIGATION
106 bool focusOnButton =
false;