File size: 5,335 Bytes
3bb804c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
// qdatetimeedit.sip generated by MetaSIP
//
// This file is part of the QtWidgets Python extension module.
//
// Copyright (c) 2025 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt6.
// 
// This file may be used under the terms of the GNU General Public License
// version 3.0 as published by the Free Software Foundation and appearing in
// the file LICENSE included in the packaging of this file.  Please review the
// following information to ensure the GNU General Public License version 3.0
// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
// 
// If you do not wish to use this file under the terms of the GPL version 3.0
// then you may purchase a commercial license.  For more information contact
// info@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


class QDateTimeEdit : public QAbstractSpinBox
{
%TypeHeaderCode
#include <qdatetimeedit.h>
%End

public:
    enum Section /BaseType=Flag/
    {
        NoSection,
        AmPmSection,
        MSecSection,
        SecondSection,
        MinuteSection,
        HourSection,
        DaySection,
        MonthSection,
        YearSection,
        TimeSections_Mask,
        DateSections_Mask,
    };

    typedef QFlags<QDateTimeEdit::Section> Sections;
    explicit QDateTimeEdit(QWidget *parent /TransferThis/ = 0);
    QDateTimeEdit(const QDateTime &datetime, QWidget *parent /TransferThis/ = 0);
    QDateTimeEdit(QDate d, QWidget *parent /TransferThis/ = 0);
    QDateTimeEdit(QTime t, QWidget *parent /TransferThis/ = 0);
    virtual ~QDateTimeEdit();
    QDateTime dateTime() const;
    QDate date() const;
    QTime time() const;
    QDate minimumDate() const;
    void setMinimumDate(QDate min);
    void clearMinimumDate();
    QDate maximumDate() const;
    void setMaximumDate(QDate max);
    void clearMaximumDate();
    void setDateRange(QDate min, QDate max);
    QTime minimumTime() const;
    void setMinimumTime(QTime min);
    void clearMinimumTime();
    QTime maximumTime() const;
    void setMaximumTime(QTime max);
    void clearMaximumTime();
    void setTimeRange(QTime min, QTime max);
    QDateTimeEdit::Sections displayedSections() const;
    QDateTimeEdit::Section currentSection() const;
    void setCurrentSection(QDateTimeEdit::Section section);
    QString sectionText(QDateTimeEdit::Section s) const;
    QString displayFormat() const;
    void setDisplayFormat(const QString &format);
    bool calendarPopup() const;
    void setCalendarPopup(bool enable);
    void setSelectedSection(QDateTimeEdit::Section section);
    virtual QSize sizeHint() const;
    virtual void clear();
    virtual void stepBy(int steps);
    virtual bool event(QEvent *e);
    QDateTimeEdit::Section sectionAt(int index) const;
    int currentSectionIndex() const;
    void setCurrentSectionIndex(int index);
    int sectionCount() const;

signals:
    void dateTimeChanged(const QDateTime &date);
    void timeChanged(QTime time);
    void dateChanged(QDate date);

public slots:
    void setDateTime(const QDateTime &dateTime);
    void setDate(QDate date);
    void setTime(QTime time);

protected:
    virtual void initStyleOption(QStyleOptionSpinBox *option) const;
    virtual void keyPressEvent(QKeyEvent *e);
    virtual void wheelEvent(QWheelEvent *e);
    virtual void focusInEvent(QFocusEvent *e);
    virtual bool focusNextPrevChild(bool next);
    virtual void mousePressEvent(QMouseEvent *event);
    virtual void paintEvent(QPaintEvent *event);
    virtual QValidator::State validate(QString &input /In,Out/, int &pos /In,Out/) const;
    virtual void fixup(QString &input /In,Out/) const;
    virtual QDateTime dateTimeFromText(const QString &text) const;
    virtual QString textFromDateTime(const QDateTime &dt) const;
    virtual QAbstractSpinBox::StepEnabled stepEnabled() const;

public:
    QDateTime minimumDateTime() const;
    void clearMinimumDateTime();
    void setMinimumDateTime(const QDateTime &dt);
    QDateTime maximumDateTime() const;
    void clearMaximumDateTime();
    void setMaximumDateTime(const QDateTime &dt);
    void setDateTimeRange(const QDateTime &min, const QDateTime &max);
    QCalendarWidget *calendarWidget() const;
    void setCalendarWidget(QCalendarWidget *calendarWidget /Transfer/);
    Qt::TimeSpec timeSpec() const;
    void setTimeSpec(Qt::TimeSpec spec);
    QCalendar calendar() const;
    void setCalendar(QCalendar calendar);
%If (Qt_6_7_0 -)
    QTimeZone timeZone() const;
%End
%If (Qt_6_7_0 -)
    void setTimeZone(const QTimeZone &zone);
%End
};

class QTimeEdit : public QDateTimeEdit
{
%TypeHeaderCode
#include <qdatetimeedit.h>
%End

public:
    explicit QTimeEdit(QWidget *parent /TransferThis/ = 0);
    QTimeEdit(QTime time, QWidget *parent /TransferThis/ = 0);
    virtual ~QTimeEdit();
};

class QDateEdit : public QDateTimeEdit
{
%TypeHeaderCode
#include <qdatetimeedit.h>
%End

public:
    explicit QDateEdit(QWidget *parent /TransferThis/ = 0);
    QDateEdit(QDate date, QWidget *parent /TransferThis/ = 0);
    virtual ~QDateEdit();
};