1// qdatetimeedit.sip generated by MetaSIP
2//
3// This file is part of the QtWidgets Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QDateTimeEdit : QAbstractSpinBox
24{
25%TypeHeaderCode
26#include <qdatetimeedit.h>
27%End
28
29public:
30    enum Section
31    {
32        NoSection,
33        AmPmSection,
34        MSecSection,
35        SecondSection,
36        MinuteSection,
37        HourSection,
38        DaySection,
39        MonthSection,
40        YearSection,
41        TimeSections_Mask,
42        DateSections_Mask,
43    };
44
45    typedef QFlags<QDateTimeEdit::Section> Sections;
46    explicit QDateTimeEdit(QWidget *parent /TransferThis/ = 0);
47    QDateTimeEdit(const QDateTime &datetime, QWidget *parent /TransferThis/ = 0);
48    QDateTimeEdit(const QDate &date, QWidget *parent /TransferThis/ = 0);
49    QDateTimeEdit(const QTime &time, QWidget *parent /TransferThis/ = 0);
50    virtual ~QDateTimeEdit();
51    QDateTime dateTime() const;
52    QDate date() const;
53    QTime time() const;
54    QDate minimumDate() const;
55    void setMinimumDate(const QDate &min);
56    void clearMinimumDate();
57    QDate maximumDate() const;
58    void setMaximumDate(const QDate &max);
59    void clearMaximumDate();
60    void setDateRange(const QDate &min, const QDate &max);
61    QTime minimumTime() const;
62    void setMinimumTime(const QTime &min);
63    void clearMinimumTime();
64    QTime maximumTime() const;
65    void setMaximumTime(const QTime &max);
66    void clearMaximumTime();
67    void setTimeRange(const QTime &min, const QTime &max);
68    QDateTimeEdit::Sections displayedSections() const;
69    QDateTimeEdit::Section currentSection() const;
70    void setCurrentSection(QDateTimeEdit::Section section);
71    QString sectionText(QDateTimeEdit::Section s) const;
72    QString displayFormat() const;
73    void setDisplayFormat(const QString &format);
74    bool calendarPopup() const;
75    void setCalendarPopup(bool enable);
76    void setSelectedSection(QDateTimeEdit::Section section);
77    virtual QSize sizeHint() const;
78    virtual void clear();
79    virtual void stepBy(int steps);
80    virtual bool event(QEvent *e);
81    QDateTimeEdit::Section sectionAt(int index) const;
82    int currentSectionIndex() const;
83    void setCurrentSectionIndex(int index);
84    int sectionCount() const;
85
86signals:
87    void dateTimeChanged(const QDateTime &date);
88    void timeChanged(const QTime &date);
89    void dateChanged(const QDate &date);
90
91public slots:
92    void setDateTime(const QDateTime &dateTime);
93    void setDate(const QDate &date);
94    void setTime(const QTime &time);
95
96protected:
97    void initStyleOption(QStyleOptionSpinBox *option) const;
98    virtual void keyPressEvent(QKeyEvent *e);
99    virtual void wheelEvent(QWheelEvent *e);
100    virtual void focusInEvent(QFocusEvent *e);
101    virtual bool focusNextPrevChild(bool next);
102    virtual void mousePressEvent(QMouseEvent *event);
103    virtual void paintEvent(QPaintEvent *event);
104    virtual QValidator::State validate(QString &input /In,Out/, int &pos /In,Out/) const;
105    virtual void fixup(QString &input /In,Out/) const;
106    virtual QDateTime dateTimeFromText(const QString &text) const;
107    virtual QString textFromDateTime(const QDateTime &dt) const;
108    virtual QAbstractSpinBox::StepEnabled stepEnabled() const;
109
110public:
111    QDateTime minimumDateTime() const;
112    void clearMinimumDateTime();
113    void setMinimumDateTime(const QDateTime &dt);
114    QDateTime maximumDateTime() const;
115    void clearMaximumDateTime();
116    void setMaximumDateTime(const QDateTime &dt);
117    void setDateTimeRange(const QDateTime &min, const QDateTime &max);
118    QCalendarWidget *calendarWidget() const;
119    void setCalendarWidget(QCalendarWidget *calendarWidget /Transfer/);
120    Qt::TimeSpec timeSpec() const;
121    void setTimeSpec(Qt::TimeSpec spec);
122%If (Qt_5_14_0 -)
123    QCalendar calendar() const;
124%End
125%If (Qt_5_14_0 -)
126    void setCalendar(QCalendar calendar);
127%End
128};
129
130class QTimeEdit : QDateTimeEdit
131{
132%TypeHeaderCode
133#include <qdatetimeedit.h>
134%End
135
136public:
137    explicit QTimeEdit(QWidget *parent /TransferThis/ = 0);
138    QTimeEdit(const QTime &time, QWidget *parent /TransferThis/ = 0);
139    virtual ~QTimeEdit();
140};
141
142class QDateEdit : QDateTimeEdit
143{
144%TypeHeaderCode
145#include <qdatetimeedit.h>
146%End
147
148public:
149    explicit QDateEdit(QWidget *parent /TransferThis/ = 0);
150    QDateEdit(const QDate &date, QWidget *parent /TransferThis/ = 0);
151    virtual ~QDateEdit();
152};
153
154QFlags<QDateTimeEdit::Section> operator|(QDateTimeEdit::Section f1, QFlags<QDateTimeEdit::Section> f2);
155