summaryrefslogtreecommitdiffstats
path: root/examples/widgets/calendarwidget/window.cpp
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dietrich-de@nokia.com>2012-08-17 13:23:19 +0200
committerQt by Nokia <qt-info@nokia.com>2012-08-20 12:20:55 +0200
commit806dda08d685bc5f9ed71dfe8b61f21848d48066 (patch)
treea63533a1c4a335ae17adc105abb0ae4e62e2f26e /examples/widgets/calendarwidget/window.cpp
parent9f942014e31842b512c3198de035d041c59f54a9 (diff)
Moving .qdoc files under examples/widgets/doc
Updated those .qdoc files to refer to the new relative examples emplacement. Images and snippets to be moved later. Also grouped all widgets related examples under widgets. Change-Id: Ib29696e2d8948524537f53e8dda88f9ee26a597f Reviewed-by: J-P Nurmi <j-p.nurmi@nokia.com>
Diffstat (limited to 'examples/widgets/calendarwidget/window.cpp')
-rw-r--r--examples/widgets/calendarwidget/window.cpp464
1 files changed, 0 insertions, 464 deletions
diff --git a/examples/widgets/calendarwidget/window.cpp b/examples/widgets/calendarwidget/window.cpp
deleted file mode 100644
index 8ba044bf11..0000000000
--- a/examples/widgets/calendarwidget/window.cpp
+++ /dev/null
@@ -1,464 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWidgets>
-
-#include "window.h"
-
-//! [0]
-Window::Window()
-{
- createPreviewGroupBox();
- createGeneralOptionsGroupBox();
- createDatesGroupBox();
- createTextFormatsGroupBox();
-
- QGridLayout *layout = new QGridLayout;
- layout->addWidget(previewGroupBox, 0, 0);
- layout->addWidget(generalOptionsGroupBox, 0, 1);
- layout->addWidget(datesGroupBox, 1, 0);
- layout->addWidget(textFormatsGroupBox, 1, 1);
- layout->setSizeConstraint(QLayout::SetFixedSize);
- setLayout(layout);
-
- previewLayout->setRowMinimumHeight(0, calendar->sizeHint().height());
- previewLayout->setColumnMinimumWidth(0, calendar->sizeHint().width());
-
- setWindowTitle(tr("Calendar Widget"));
-}
-//! [0]
-
-void Window::localeChanged(int index)
-{
- const QLocale newLocale(localeCombo->itemData(index).toLocale());
- calendar->setLocale(newLocale);
- int newLocaleFirstDayIndex = firstDayCombo->findData(newLocale.firstDayOfWeek());
- firstDayCombo->setCurrentIndex(newLocaleFirstDayIndex);
-}
-
-//! [1]
-void Window::firstDayChanged(int index)
-{
- calendar->setFirstDayOfWeek(Qt::DayOfWeek(
- firstDayCombo->itemData(index).toInt()));
-}
-//! [1]
-
-void Window::selectionModeChanged(int index)
-{
- calendar->setSelectionMode(QCalendarWidget::SelectionMode(
- selectionModeCombo->itemData(index).toInt()));
-}
-
-void Window::horizontalHeaderChanged(int index)
-{
- calendar->setHorizontalHeaderFormat(QCalendarWidget::HorizontalHeaderFormat(
- horizontalHeaderCombo->itemData(index).toInt()));
-}
-
-void Window::verticalHeaderChanged(int index)
-{
- calendar->setVerticalHeaderFormat(QCalendarWidget::VerticalHeaderFormat(
- verticalHeaderCombo->itemData(index).toInt()));
-}
-
-//! [2]
-void Window::selectedDateChanged()
-{
- currentDateEdit->setDate(calendar->selectedDate());
-}
-//! [2]
-
-//! [3]
-void Window::minimumDateChanged(const QDate &date)
-{
- calendar->setMinimumDate(date);
- maximumDateEdit->setDate(calendar->maximumDate());
-}
-//! [3]
-
-//! [4]
-void Window::maximumDateChanged(const QDate &date)
-{
- calendar->setMaximumDate(date);
- minimumDateEdit->setDate(calendar->minimumDate());
-}
-//! [4]
-
-//! [5]
-void Window::weekdayFormatChanged()
-{
- QTextCharFormat format;
-
- format.setForeground(qvariant_cast<QColor>(
- weekdayColorCombo->itemData(weekdayColorCombo->currentIndex())));
- calendar->setWeekdayTextFormat(Qt::Monday, format);
- calendar->setWeekdayTextFormat(Qt::Tuesday, format);
- calendar->setWeekdayTextFormat(Qt::Wednesday, format);
- calendar->setWeekdayTextFormat(Qt::Thursday, format);
- calendar->setWeekdayTextFormat(Qt::Friday, format);
-}
-//! [5]
-
-//! [6]
-void Window::weekendFormatChanged()
-{
- QTextCharFormat format;
-
- format.setForeground(qvariant_cast<QColor>(
- weekendColorCombo->itemData(weekendColorCombo->currentIndex())));
- calendar->setWeekdayTextFormat(Qt::Saturday, format);
- calendar->setWeekdayTextFormat(Qt::Sunday, format);
-}
-//! [6]
-
-//! [7]
-void Window::reformatHeaders()
-{
- QString text = headerTextFormatCombo->currentText();
- QTextCharFormat format;
-
- if (text == tr("Bold")) {
- format.setFontWeight(QFont::Bold);
- } else if (text == tr("Italic")) {
- format.setFontItalic(true);
- } else if (text == tr("Green")) {
- format.setForeground(Qt::green);
- }
- calendar->setHeaderTextFormat(format);
-}
-//! [7]
-
-//! [8]
-void Window::reformatCalendarPage()
-{
- if (firstFridayCheckBox->isChecked()) {
- QDate firstFriday(calendar->yearShown(), calendar->monthShown(), 1);
- while (firstFriday.dayOfWeek() != Qt::Friday)
- firstFriday = firstFriday.addDays(1);
- QTextCharFormat firstFridayFormat;
- firstFridayFormat.setForeground(Qt::blue);
- calendar->setDateTextFormat(firstFriday, firstFridayFormat);
- }
-
- //May First in Red takes precedence
- if (mayFirstCheckBox->isChecked()) {
- const QDate mayFirst(calendar->yearShown(), 5, 1);
- QTextCharFormat mayFirstFormat;
- mayFirstFormat.setForeground(Qt::red);
- calendar->setDateTextFormat(mayFirst, mayFirstFormat);
- }
-}
-//! [8]
-
-//! [9]
-void Window::createPreviewGroupBox()
-{
- previewGroupBox = new QGroupBox(tr("Preview"));
-
- calendar = new QCalendarWidget;
- calendar->setMinimumDate(QDate(1900, 1, 1));
- calendar->setMaximumDate(QDate(3000, 1, 1));
- calendar->setGridVisible(true);
-
- connect(calendar, SIGNAL(currentPageChanged(int,int)),
- this, SLOT(reformatCalendarPage()));
-
- previewLayout = new QGridLayout;
- previewLayout->addWidget(calendar, 0, 0, Qt::AlignCenter);
- previewGroupBox->setLayout(previewLayout);
-}
-//! [9]
-
-//! [10]
-void Window::createGeneralOptionsGroupBox()
-{
- generalOptionsGroupBox = new QGroupBox(tr("General Options"));
-
- localeCombo = new QComboBox;
- int curLocaleIndex = -1;
- int index = 0;
- for (int _lang = QLocale::C; _lang <= QLocale::LastLanguage; ++_lang) {
- QLocale::Language lang = static_cast<QLocale::Language>(_lang);
- QList<QLocale::Country> countries = QLocale::countriesForLanguage(lang);
- for (int i = 0; i < countries.count(); ++i) {
- QLocale::Country country = countries.at(i);
- QString label = QLocale::languageToString(lang);
- label += QLatin1Char('/');
- label += QLocale::countryToString(country);
- QLocale locale(lang, country);
- if (this->locale().language() == lang && this->locale().country() == country)
- curLocaleIndex = index;
- localeCombo->addItem(label, locale);
- ++index;
- }
- }
- if (curLocaleIndex != -1)
- localeCombo->setCurrentIndex(curLocaleIndex);
- localeLabel = new QLabel(tr("&Locale"));
- localeLabel->setBuddy(localeCombo);
-
- firstDayCombo = new QComboBox;
- firstDayCombo->addItem(tr("Sunday"), Qt::Sunday);
- firstDayCombo->addItem(tr("Monday"), Qt::Monday);
- firstDayCombo->addItem(tr("Tuesday"), Qt::Tuesday);
- firstDayCombo->addItem(tr("Wednesday"), Qt::Wednesday);
- firstDayCombo->addItem(tr("Thursday"), Qt::Thursday);
- firstDayCombo->addItem(tr("Friday"), Qt::Friday);
- firstDayCombo->addItem(tr("Saturday"), Qt::Saturday);
-
- firstDayLabel = new QLabel(tr("Wee&k starts on:"));
- firstDayLabel->setBuddy(firstDayCombo);
-//! [10]
-
- selectionModeCombo = new QComboBox;
- selectionModeCombo->addItem(tr("Single selection"),
- QCalendarWidget::SingleSelection);
- selectionModeCombo->addItem(tr("None"), QCalendarWidget::NoSelection);
-
- selectionModeLabel = new QLabel(tr("&Selection mode:"));
- selectionModeLabel->setBuddy(selectionModeCombo);
-
- gridCheckBox = new QCheckBox(tr("&Grid"));
- gridCheckBox->setChecked(calendar->isGridVisible());
-
- navigationCheckBox = new QCheckBox(tr("&Navigation bar"));
- navigationCheckBox->setChecked(true);
-
- horizontalHeaderCombo = new QComboBox;
- horizontalHeaderCombo->addItem(tr("Single letter day names"),
- QCalendarWidget::SingleLetterDayNames);
- horizontalHeaderCombo->addItem(tr("Short day names"),
- QCalendarWidget::ShortDayNames);
- horizontalHeaderCombo->addItem(tr("None"),
- QCalendarWidget::NoHorizontalHeader);
- horizontalHeaderCombo->setCurrentIndex(1);
-
- horizontalHeaderLabel = new QLabel(tr("&Horizontal header:"));
- horizontalHeaderLabel->setBuddy(horizontalHeaderCombo);
-
- verticalHeaderCombo = new QComboBox;
- verticalHeaderCombo->addItem(tr("ISO week numbers"),
- QCalendarWidget::ISOWeekNumbers);
- verticalHeaderCombo->addItem(tr("None"), QCalendarWidget::NoVerticalHeader);
-
- verticalHeaderLabel = new QLabel(tr("&Vertical header:"));
- verticalHeaderLabel->setBuddy(verticalHeaderCombo);
-
-//! [11]
- connect(localeCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(localeChanged(int)));
- connect(firstDayCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(firstDayChanged(int)));
- connect(selectionModeCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(selectionModeChanged(int)));
- connect(gridCheckBox, SIGNAL(toggled(bool)),
- calendar, SLOT(setGridVisible(bool)));
- connect(navigationCheckBox, SIGNAL(toggled(bool)),
- calendar, SLOT(setNavigationBarVisible(bool)));
- connect(horizontalHeaderCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(horizontalHeaderChanged(int)));
- connect(verticalHeaderCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(verticalHeaderChanged(int)));
-//! [11]
-
- QHBoxLayout *checkBoxLayout = new QHBoxLayout;
- checkBoxLayout->addWidget(gridCheckBox);
- checkBoxLayout->addStretch();
- checkBoxLayout->addWidget(navigationCheckBox);
-
- QGridLayout *outerLayout = new QGridLayout;
- outerLayout->addWidget(localeLabel, 0, 0);
- outerLayout->addWidget(localeCombo, 0, 1);
- outerLayout->addWidget(firstDayLabel, 1, 0);
- outerLayout->addWidget(firstDayCombo, 1, 1);
- outerLayout->addWidget(selectionModeLabel, 2, 0);
- outerLayout->addWidget(selectionModeCombo, 2, 1);
- outerLayout->addLayout(checkBoxLayout, 3, 0, 1, 2);
- outerLayout->addWidget(horizontalHeaderLabel, 4, 0);
- outerLayout->addWidget(horizontalHeaderCombo, 4, 1);
- outerLayout->addWidget(verticalHeaderLabel, 5, 0);
- outerLayout->addWidget(verticalHeaderCombo, 5, 1);
- generalOptionsGroupBox->setLayout(outerLayout);
-
-//! [12]
- firstDayChanged(firstDayCombo->currentIndex());
- selectionModeChanged(selectionModeCombo->currentIndex());
- horizontalHeaderChanged(horizontalHeaderCombo->currentIndex());
- verticalHeaderChanged(verticalHeaderCombo->currentIndex());
-}
-//! [12]
-
-//! [13]
-void Window::createDatesGroupBox()
-{
- datesGroupBox = new QGroupBox(tr("Dates"));
-
- minimumDateEdit = new QDateEdit;
- minimumDateEdit->setDisplayFormat("MMM d yyyy");
- minimumDateEdit->setDateRange(calendar->minimumDate(),
- calendar->maximumDate());
- minimumDateEdit->setDate(calendar->minimumDate());
-
- minimumDateLabel = new QLabel(tr("&Minimum Date:"));
- minimumDateLabel->setBuddy(minimumDateEdit);
-
- currentDateEdit = new QDateEdit;
- currentDateEdit->setDisplayFormat("MMM d yyyy");
- currentDateEdit->setDate(calendar->selectedDate());
- currentDateEdit->setDateRange(calendar->minimumDate(),
- calendar->maximumDate());
-
- currentDateLabel = new QLabel(tr("&Current Date:"));
- currentDateLabel->setBuddy(currentDateEdit);
-
- maximumDateEdit = new QDateEdit;
- maximumDateEdit->setDisplayFormat("MMM d yyyy");
- maximumDateEdit->setDateRange(calendar->minimumDate(),
- calendar->maximumDate());
- maximumDateEdit->setDate(calendar->maximumDate());
-
- maximumDateLabel = new QLabel(tr("Ma&ximum Date:"));
- maximumDateLabel->setBuddy(maximumDateEdit);
-
-//! [13] //! [14]
- connect(currentDateEdit, SIGNAL(dateChanged(QDate)),
- calendar, SLOT(setSelectedDate(QDate)));
- connect(calendar, SIGNAL(selectionChanged()),
- this, SLOT(selectedDateChanged()));
- connect(minimumDateEdit, SIGNAL(dateChanged(QDate)),
- this, SLOT(minimumDateChanged(QDate)));
- connect(maximumDateEdit, SIGNAL(dateChanged(QDate)),
- this, SLOT(maximumDateChanged(QDate)));
-
-//! [14]
- QGridLayout *dateBoxLayout = new QGridLayout;
- dateBoxLayout->addWidget(currentDateLabel, 1, 0);
- dateBoxLayout->addWidget(currentDateEdit, 1, 1);
- dateBoxLayout->addWidget(minimumDateLabel, 0, 0);
- dateBoxLayout->addWidget(minimumDateEdit, 0, 1);
- dateBoxLayout->addWidget(maximumDateLabel, 2, 0);
- dateBoxLayout->addWidget(maximumDateEdit, 2, 1);
- dateBoxLayout->setRowStretch(3, 1);
-
- datesGroupBox->setLayout(dateBoxLayout);
-//! [15]
-}
-//! [15]
-
-//! [16]
-void Window::createTextFormatsGroupBox()
-{
- textFormatsGroupBox = new QGroupBox(tr("Text Formats"));
-
- weekdayColorCombo = createColorComboBox();
- weekdayColorCombo->setCurrentIndex(
- weekdayColorCombo->findText(tr("Black")));
-
- weekdayColorLabel = new QLabel(tr("&Weekday color:"));
- weekdayColorLabel->setBuddy(weekdayColorCombo);
-
- weekendColorCombo = createColorComboBox();
- weekendColorCombo->setCurrentIndex(
- weekendColorCombo->findText(tr("Red")));
-
- weekendColorLabel = new QLabel(tr("Week&end color:"));
- weekendColorLabel->setBuddy(weekendColorCombo);
-
-//! [16] //! [17]
- headerTextFormatCombo = new QComboBox;
- headerTextFormatCombo->addItem(tr("Bold"));
- headerTextFormatCombo->addItem(tr("Italic"));
- headerTextFormatCombo->addItem(tr("Plain"));
-
- headerTextFormatLabel = new QLabel(tr("&Header text:"));
- headerTextFormatLabel->setBuddy(headerTextFormatCombo);
-
- firstFridayCheckBox = new QCheckBox(tr("&First Friday in blue"));
-
- mayFirstCheckBox = new QCheckBox(tr("May &1 in red"));
-
-//! [17] //! [18]
- connect(weekdayColorCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(weekdayFormatChanged()));
- connect(weekendColorCombo, SIGNAL(currentIndexChanged(int)),
- this, SLOT(weekendFormatChanged()));
- connect(headerTextFormatCombo, SIGNAL(currentIndexChanged(QString)),
- this, SLOT(reformatHeaders()));
- connect(firstFridayCheckBox, SIGNAL(toggled(bool)),
- this, SLOT(reformatCalendarPage()));
- connect(mayFirstCheckBox, SIGNAL(toggled(bool)),
- this, SLOT(reformatCalendarPage()));
-
-//! [18]
- QHBoxLayout *checkBoxLayout = new QHBoxLayout;
- checkBoxLayout->addWidget(firstFridayCheckBox);
- checkBoxLayout->addStretch();
- checkBoxLayout->addWidget(mayFirstCheckBox);
-
- QGridLayout *outerLayout = new QGridLayout;
- outerLayout->addWidget(weekdayColorLabel, 0, 0);
- outerLayout->addWidget(weekdayColorCombo, 0, 1);
- outerLayout->addWidget(weekendColorLabel, 1, 0);
- outerLayout->addWidget(weekendColorCombo, 1, 1);
- outerLayout->addWidget(headerTextFormatLabel, 2, 0);
- outerLayout->addWidget(headerTextFormatCombo, 2, 1);
- outerLayout->addLayout(checkBoxLayout, 3, 0, 1, 2);
- textFormatsGroupBox->setLayout(outerLayout);
-
- weekdayFormatChanged();
- weekendFormatChanged();
-//! [19]
- reformatHeaders();
- reformatCalendarPage();
-}
-//! [19]
-
-//! [20]
-QComboBox *Window::createColorComboBox()
-{
- QComboBox *comboBox = new QComboBox;
- comboBox->addItem(tr("Red"), QColor(Qt::red));
- comboBox->addItem(tr("Blue"), QColor(Qt::blue));
- comboBox->addItem(tr("Black"), QColor(Qt::black));
- comboBox->addItem(tr("Magenta"), QColor(Qt::magenta));
- return comboBox;
-}
-//! [20]