/**************************************************************************** ** ** Copyright (C) 2017 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the test suite of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:GPL-EXCEPT$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3 as published by the Free Software ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT ** included in the packaging of this file. Please review the following ** information to ensure the GNU General Public License requirements will ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef CALENDAR_H #define CALENDAR_H #include #include #include class QComboBox; class QGridLayout; class QGroupBox; class QCalendarWidget; class QLabel; class QDateEdit; class QCheckBox; class CalendarWidget : public QWidget { Q_OBJECT public: CalendarWidget(); private slots: void localeChanged(QLocale locale); void firstDayChanged(int index); void selectionModeChanged(int index); void horizontalHeaderChanged(int index); void verticalHeaderChanged(int index); void selectedDateChanged(); void minimumDateChanged(QDate date); void maximumDateChanged(QDate date); void updateWeekendDays(); void weekdayFormatChanged(); void weekendFormatChanged(); void reformatHeaders(); void reformatCalendarPage(); private: bool isWeekendDay(Qt::DayOfWeek); void createPreviewGroupBox(); void createGeneralOptionsGroupBox(); void createDatesGroupBox(); void createTextFormatsGroupBox(); QComboBox *createColorComboBox(); QGroupBox *previewGroupBox; QGridLayout *previewLayout; QCalendarWidget *calendar; QGroupBox *generalOptionsGroupBox; QLabel *localeLabel; QLabel *firstDayLabel; QLabel *selectionModeLabel; QLabel *horizontalHeaderLabel; QLabel *verticalHeaderLabel; QComboBox *localeCombo; QComboBox *firstDayCombo; QComboBox *selectionModeCombo; QCheckBox *gridCheckBox; QCheckBox *navigationCheckBox; QComboBox *horizontalHeaderCombo; QComboBox *verticalHeaderCombo; QGroupBox *datesGroupBox; QLabel *currentDateLabel; QLabel *minimumDateLabel; QLabel *maximumDateLabel; QDateEdit *currentDateEdit; QDateEdit *minimumDateEdit; QDateEdit *maximumDateEdit; QGroupBox *textFormatsGroupBox; QLabel *weekdayColorLabel; QLabel *weekendColorLabel; QLabel *headerTextFormatLabel; QComboBox *weekdayColorCombo; QComboBox *weekendColorCombo; QComboBox *headerTextFormatCombo; QCheckBox *firstFridayCheckBox; QCheckBox *mayFirstCheckBox; }; #endif