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