diff options
Diffstat (limited to 'examples/widgets/richtext/calendar')
-rw-r--r-- | examples/widgets/richtext/calendar/CMakeLists.txt | 38 | ||||
-rw-r--r-- | examples/widgets/richtext/calendar/calendar.pro | 10 | ||||
-rw-r--r-- | examples/widgets/richtext/calendar/main.cpp | 62 | ||||
-rw-r--r-- | examples/widgets/richtext/calendar/mainwindow.cpp | 226 | ||||
-rw-r--r-- | examples/widgets/richtext/calendar/mainwindow.h | 83 |
5 files changed, 0 insertions, 419 deletions
diff --git a/examples/widgets/richtext/calendar/CMakeLists.txt b/examples/widgets/richtext/calendar/CMakeLists.txt deleted file mode 100644 index 28b8249e84..0000000000 --- a/examples/widgets/richtext/calendar/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -cmake_minimum_required(VERSION 3.16) -project(calendar LANGUAGES CXX) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/richtext/calendar") - -find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) - -qt_add_executable(calendar - main.cpp - mainwindow.cpp mainwindow.h -) - -set_target_properties(calendar PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) - -target_link_libraries(calendar PUBLIC - Qt::Core - Qt::Gui - Qt::Widgets -) - -install(TARGETS calendar - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/widgets/richtext/calendar/calendar.pro b/examples/widgets/richtext/calendar/calendar.pro deleted file mode 100644 index 199c1dbb8d..0000000000 --- a/examples/widgets/richtext/calendar/calendar.pro +++ /dev/null @@ -1,10 +0,0 @@ -QT += widgets -requires(qtConfig(combobox)) - -HEADERS = mainwindow.h -SOURCES = main.cpp \ - mainwindow.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/widgets/richtext/calendar -INSTALLS += target diff --git a/examples/widgets/richtext/calendar/main.cpp b/examples/widgets/richtext/calendar/main.cpp deleted file mode 100644 index 647677fb9c..0000000000 --- a/examples/widgets/richtext/calendar/main.cpp +++ /dev/null @@ -1,62 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** 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. -** -** BSD License Usage -** Alternatively, 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 The Qt Company Ltd 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 <QApplication> - -#include "mainwindow.h" - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - MainWindow window; - window.resize(640, 256); - window.show(); - return app.exec(); -} diff --git a/examples/widgets/richtext/calendar/mainwindow.cpp b/examples/widgets/richtext/calendar/mainwindow.cpp deleted file mode 100644 index 2b8fd518af..0000000000 --- a/examples/widgets/richtext/calendar/mainwindow.cpp +++ /dev/null @@ -1,226 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** 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. -** -** BSD License Usage -** Alternatively, 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 The Qt Company Ltd 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 "mainwindow.h" - -#include <QtWidgets> - -//! [0] -MainWindow::MainWindow() -{ - selectedDate = QDate::currentDate(); - fontSize = 10; - - QWidget *centralWidget = new QWidget; -//! [0] - -//! [1] - QLabel *dateLabel = new QLabel(tr("Date:")); - QComboBox *monthCombo = new QComboBox; - - for (int month = 1; month <= 12; ++month) - monthCombo->addItem(QLocale::system().monthName(month)); - - QDateTimeEdit *yearEdit = new QDateTimeEdit; - yearEdit->setDisplayFormat("yyyy"); - yearEdit->setDateRange(QDate(1753, 1, 1), QDate(8000, 1, 1)); -//! [1] - - monthCombo->setCurrentIndex(selectedDate.month() - 1); - yearEdit->setDate(selectedDate); - -//! [2] - QLabel *fontSizeLabel = new QLabel(tr("Font size:")); - QSpinBox *fontSizeSpinBox = new QSpinBox; - fontSizeSpinBox->setRange(1, 64); - - editor = new QTextBrowser; - insertCalendar(); -//! [2] - -//! [3] - connect(monthCombo, &QComboBox::activated, - this, &MainWindow::setMonth); - connect(yearEdit, &QDateTimeEdit::dateChanged, - this, &MainWindow::setYear); - connect(fontSizeSpinBox, &QSpinBox::valueChanged, - this, &MainWindow::setFontSize); -//! [3] - - fontSizeSpinBox->setValue(10); - -//! [4] - QHBoxLayout *controlsLayout = new QHBoxLayout; - controlsLayout->addWidget(dateLabel); - controlsLayout->addWidget(monthCombo); - controlsLayout->addWidget(yearEdit); - controlsLayout->addSpacing(24); - controlsLayout->addWidget(fontSizeLabel); - controlsLayout->addWidget(fontSizeSpinBox); - controlsLayout->addStretch(1); - - QVBoxLayout *centralLayout = new QVBoxLayout; - centralLayout->addLayout(controlsLayout); - centralLayout->addWidget(editor, 1); - centralWidget->setLayout(centralLayout); - - setCentralWidget(centralWidget); -//! [4] -} - -//! [5] -void MainWindow::insertCalendar() -{ - editor->clear(); - QTextCursor cursor = editor->textCursor(); - cursor.beginEditBlock(); - - QDate date(selectedDate.year(), selectedDate.month(), 1); -//! [5] - -//! [6] - QTextTableFormat tableFormat; - tableFormat.setAlignment(Qt::AlignHCenter); - tableFormat.setBackground(QColor("#e0e0e0")); - tableFormat.setCellPadding(2); - tableFormat.setCellSpacing(4); -//! [6] //! [7] - QList<QTextLength> constraints; - constraints << QTextLength(QTextLength::PercentageLength, 14) - << QTextLength(QTextLength::PercentageLength, 14) - << QTextLength(QTextLength::PercentageLength, 14) - << QTextLength(QTextLength::PercentageLength, 14) - << QTextLength(QTextLength::PercentageLength, 14) - << QTextLength(QTextLength::PercentageLength, 14) - << QTextLength(QTextLength::PercentageLength, 14); - tableFormat.setColumnWidthConstraints(constraints); -//! [7] - -//! [8] - QTextTable *table = cursor.insertTable(1, 7, tableFormat); -//! [8] - -//! [9] - QTextFrame *frame = cursor.currentFrame(); - QTextFrameFormat frameFormat = frame->frameFormat(); - frameFormat.setBorder(1); - frame->setFrameFormat(frameFormat); -//! [9] - -//! [10] - QTextCharFormat format = cursor.charFormat(); - format.setFontPointSize(fontSize); - - QTextCharFormat boldFormat = format; - boldFormat.setFontWeight(QFont::Bold); - - QTextCharFormat highlightedFormat = boldFormat; - highlightedFormat.setBackground(Qt::yellow); -//! [10] - -//! [11] - for (int weekDay = 1; weekDay <= 7; ++weekDay) { - QTextTableCell cell = table->cellAt(0, weekDay-1); -//! [11] //! [12] - QTextCursor cellCursor = cell.firstCursorPosition(); - cellCursor.insertText(QLocale::system().dayName(weekDay), boldFormat); - } -//! [12] - -//! [13] - table->insertRows(table->rows(), 1); -//! [13] - - while (date.month() == selectedDate.month()) { - int weekDay = date.dayOfWeek(); - QTextTableCell cell = table->cellAt(table->rows()-1, weekDay-1); - QTextCursor cellCursor = cell.firstCursorPosition(); - - if (date == QDate::currentDate()) - cellCursor.insertText(QString("%1").arg(date.day()), highlightedFormat); - else - cellCursor.insertText(QString("%1").arg(date.day()), format); - - date = date.addDays(1); - if (weekDay == 7 && date.month() == selectedDate.month()) - table->insertRows(table->rows(), 1); - } - - cursor.endEditBlock(); -//! [14] - setWindowTitle(tr("Calendar for %1 %2" - ).arg(QLocale::system().monthName(selectedDate.month()) - ).arg(selectedDate.year())); -} -//! [14] - -//! [15] -void MainWindow::setFontSize(int size) -{ - fontSize = size; - insertCalendar(); -} -//! [15] - -//! [16] -void MainWindow::setMonth(int month) -{ - selectedDate = QDate(selectedDate.year(), month + 1, selectedDate.day()); - insertCalendar(); -} -//! [16] - -//! [17] -void MainWindow::setYear(QDate date) -{ - selectedDate = QDate(date.year(), selectedDate.month(), selectedDate.day()); - insertCalendar(); -} -//! [17] diff --git a/examples/widgets/richtext/calendar/mainwindow.h b/examples/widgets/richtext/calendar/mainwindow.h deleted file mode 100644 index 7080f50fc2..0000000000 --- a/examples/widgets/richtext/calendar/mainwindow.h +++ /dev/null @@ -1,83 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** 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. -** -** BSD License Usage -** Alternatively, 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 The Qt Company Ltd 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$ -** -****************************************************************************/ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QDate> -#include <QMainWindow> - -QT_BEGIN_NAMESPACE -class QTextBrowser; -QT_END_NAMESPACE - -//! [0] -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - MainWindow(); - -public slots: - void setFontSize(int size); - void setMonth(int month); - void setYear(QDate date); - -private: - void insertCalendar(); - - int fontSize; - QDate selectedDate; - QTextBrowser *editor; -}; -//! [0] - -#endif // MAINWINDOW_H |