summaryrefslogtreecommitdiff
path: root/examples/widgets
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2023-05-16 14:17:35 +0200
committerVolker Hilsheimer <volker.hilsheimer@qt.io>2023-05-16 18:33:18 +0200
commit11da92ba94570e5eec01597fe09f0a9a48acc677 (patch)
tree9b833f8184622d03d61e138516c994aa8086fce3 /examples/widgets
parentcb2ff3b73310c7c2dbffe4a170e356027ebe1b0d (diff)
downloadqtbase-11da92ba94570e5eec01597fe09f0a9a48acc677.tar.gz
Convert "extension" dialog example into snippets
Pick-to: 6.5 Task-number: QTBUG-108751 Change-Id: I8ca4e058b832674dc0c8b84024cb70a667ee8db4 Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Diffstat (limited to 'examples/widgets')
-rw-r--r--examples/widgets/dialogs/CMakeLists.txt1
-rw-r--r--examples/widgets/dialogs/dialogs.pro1
-rw-r--r--examples/widgets/dialogs/extension/CMakeLists.txt37
-rw-r--r--examples/widgets/dialogs/extension/extension.pro9
-rw-r--r--examples/widgets/dialogs/extension/finddialog.cpp77
-rw-r--r--examples/widgets/dialogs/extension/finddialog.h41
-rw-r--r--examples/widgets/dialogs/extension/main.cpp16
-rw-r--r--examples/widgets/doc/src/extension.qdoc121
8 files changed, 0 insertions, 303 deletions
diff --git a/examples/widgets/dialogs/CMakeLists.txt b/examples/widgets/dialogs/CMakeLists.txt
index a4031a6807..c40dc94ccb 100644
--- a/examples/widgets/dialogs/CMakeLists.txt
+++ b/examples/widgets/dialogs/CMakeLists.txt
@@ -5,7 +5,6 @@ if(QT_FEATURE_wizard)
qt_internal_add_example(classwizard)
qt_internal_add_example(trivialwizard)
endif()
-qt_internal_add_example(extension)
qt_internal_add_example(standarddialogs)
qt_internal_add_example(tabdialog)
if(QT_FEATURE_wizard AND TARGET Qt6::PrintSupport)
diff --git a/examples/widgets/dialogs/dialogs.pro b/examples/widgets/dialogs/dialogs.pro
index 1983c854a1..14dbec67b6 100644
--- a/examples/widgets/dialogs/dialogs.pro
+++ b/examples/widgets/dialogs/dialogs.pro
@@ -2,7 +2,6 @@ QT_FOR_CONFIG += widgets
TEMPLATE = subdirs
SUBDIRS = classwizard \
- extension \
licensewizard \
standarddialogs \
tabdialog \
diff --git a/examples/widgets/dialogs/extension/CMakeLists.txt b/examples/widgets/dialogs/extension/CMakeLists.txt
deleted file mode 100644
index 8dd008cc20..0000000000
--- a/examples/widgets/dialogs/extension/CMakeLists.txt
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright (C) 2022 The Qt Company Ltd.
-# SPDX-License-Identifier: BSD-3-Clause
-
-cmake_minimum_required(VERSION 3.16)
-project(extension LANGUAGES CXX)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/dialogs/extension")
-
-find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
-
-qt_standard_project_setup()
-
-qt_add_executable(extension
- finddialog.cpp finddialog.h
- main.cpp
-)
-
-set_target_properties(extension PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-
-target_link_libraries(extension PRIVATE
- Qt6::Core
- Qt6::Gui
- Qt6::Widgets
-)
-
-install(TARGETS extension
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/widgets/dialogs/extension/extension.pro b/examples/widgets/dialogs/extension/extension.pro
deleted file mode 100644
index f51052cd56..0000000000
--- a/examples/widgets/dialogs/extension/extension.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-QT += widgets
-
-HEADERS = finddialog.h
-SOURCES = finddialog.cpp \
- main.cpp
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/widgets/dialogs/extension
-INSTALLS += target
diff --git a/examples/widgets/dialogs/extension/finddialog.cpp b/examples/widgets/dialogs/extension/finddialog.cpp
deleted file mode 100644
index f6b5943467..0000000000
--- a/examples/widgets/dialogs/extension/finddialog.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include <QtWidgets>
-
-#include "finddialog.h"
-
-//! [0]
-FindDialog::FindDialog(QWidget *parent)
- : QDialog(parent)
-{
- label = new QLabel(tr("Find &what:"));
- lineEdit = new QLineEdit;
- label->setBuddy(lineEdit);
-
- caseCheckBox = new QCheckBox(tr("Match &case"));
- fromStartCheckBox = new QCheckBox(tr("Search from &start"));
- fromStartCheckBox->setChecked(true);
-
-//! [1]
- findButton = new QPushButton(tr("&Find"));
- findButton->setDefault(true);
-
- moreButton = new QPushButton(tr("&More"));
- moreButton->setCheckable(true);
-//! [0]
- moreButton->setAutoDefault(false);
-
-//! [1]
-
-//! [2]
- extension = new QWidget;
-
- wholeWordsCheckBox = new QCheckBox(tr("&Whole words"));
- backwardCheckBox = new QCheckBox(tr("Search &backward"));
- searchSelectionCheckBox = new QCheckBox(tr("Search se&lection"));
-//! [2]
-
-//! [3]
- buttonBox = new QDialogButtonBox(Qt::Vertical);
- buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
- buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);
-
- connect(moreButton, &QAbstractButton::toggled, extension, &QWidget::setVisible);
-
- QVBoxLayout *extensionLayout = new QVBoxLayout;
- extensionLayout->setContentsMargins(QMargins());
- extensionLayout->addWidget(wholeWordsCheckBox);
- extensionLayout->addWidget(backwardCheckBox);
- extensionLayout->addWidget(searchSelectionCheckBox);
- extension->setLayout(extensionLayout);
-//! [3]
-
-//! [4]
- QHBoxLayout *topLeftLayout = new QHBoxLayout;
- topLeftLayout->addWidget(label);
- topLeftLayout->addWidget(lineEdit);
-
- QVBoxLayout *leftLayout = new QVBoxLayout;
- leftLayout->addLayout(topLeftLayout);
- leftLayout->addWidget(caseCheckBox);
- leftLayout->addWidget(fromStartCheckBox);
-
- QGridLayout *mainLayout = new QGridLayout;
- mainLayout->setSizeConstraint(QLayout::SetFixedSize);
- mainLayout->addLayout(leftLayout, 0, 0);
- mainLayout->addWidget(buttonBox, 0, 1);
- mainLayout->addWidget(extension, 1, 0, 1, 2);
- mainLayout->setRowStretch(2, 1);
-
- setLayout(mainLayout);
-
- setWindowTitle(tr("Extension"));
-//! [4] //! [5]
- extension->hide();
-}
-//! [5]
diff --git a/examples/widgets/dialogs/extension/finddialog.h b/examples/widgets/dialogs/extension/finddialog.h
deleted file mode 100644
index 61bc442f46..0000000000
--- a/examples/widgets/dialogs/extension/finddialog.h
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#ifndef FINDDIALOG_H
-#define FINDDIALOG_H
-
-#include <QDialog>
-
-QT_BEGIN_NAMESPACE
-class QCheckBox;
-class QDialogButtonBox;
-class QGroupBox;
-class QLabel;
-class QLineEdit;
-class QPushButton;
-QT_END_NAMESPACE
-
-//! [0]
-class FindDialog : public QDialog
-{
- Q_OBJECT
-
-public:
- FindDialog(QWidget *parent = nullptr);
-
-private:
- QLabel *label;
- QLineEdit *lineEdit;
- QCheckBox *caseCheckBox;
- QCheckBox *fromStartCheckBox;
- QCheckBox *wholeWordsCheckBox;
- QCheckBox *searchSelectionCheckBox;
- QCheckBox *backwardCheckBox;
- QDialogButtonBox *buttonBox;
- QPushButton *findButton;
- QPushButton *moreButton;
- QWidget *extension;
-};
-//! [0]
-
-#endif
diff --git a/examples/widgets/dialogs/extension/main.cpp b/examples/widgets/dialogs/extension/main.cpp
deleted file mode 100644
index 730a0347f4..0000000000
--- a/examples/widgets/dialogs/extension/main.cpp
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include <QApplication>
-
-#include "finddialog.h"
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- FindDialog dialog;
-
- dialog.show();
-
- return app.exec();
-}
diff --git a/examples/widgets/doc/src/extension.qdoc b/examples/widgets/doc/src/extension.qdoc
deleted file mode 100644
index 8f35e0e196..0000000000
--- a/examples/widgets/doc/src/extension.qdoc
+++ /dev/null
@@ -1,121 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example dialogs/extension
- \title Extension Example
- \ingroup examples-dialogs
-
- \brief The Extension example shows how to add an extension to a QDialog
- using the QAbstractButton::toggled() signal and the
- QWidget::setVisible() slot.
-
- \image extension-example.png Screenshot of the Extension example
-
- The Extension application lets the user add search parameters in
- a dialog and launch a simple or advanced search.
-
- The simple search has two options: \uicontrol {Match case} and \uicontrol
- {Search from start}. The advanced search offers search for \uicontrol {Whole words},
- \uicontrol {Search backward}, and \uicontrol {Search selection}. The
- application starts with simple search as the default. Click the \uicontrol More button
- to show the advanced search options:
-
- \image extension_more.png Screenshot of the Extension example
-
- \section1 FindDialog Class Definition
-
- The \c FindDialog class inherits QDialog. QDialog is the
- base class for dialog windows. A dialog window is a top-level
- window mostly used for short-term tasks and brief communications
- with the user.
-
- \snippet dialogs/extension/finddialog.h 0
-
- The \c FindDialog widget is the main application widget, and
- displays the application's search options and controlling
- buttons.
-
- In addition to the constructor, there are several child widgets:
-
- \list
- \li A QLineEdit with an associated QLabel to let the
- user type a word to search for.
- \li Several \l {QCheckBox}{QCheckBox}es to facilitate the search options.
- \li Three \l {QPushButton}{QPushButton}s:
- \list
- \li the \uicontrol Find button to start a search
- \li the \uicontrol More button to enable an advanced search
- \li a QWidget representing the application's extension part
- \endlist
- \endlist
-
- \section1 FindDialog Class Implementation
-
- Create the standard child widgets for the simple search in the constructor:
- the QLineEdit with the associated QLabel, two {QCheckBox}es and all the
- \l {QPushButton}{QPushButton}s.
-
- \snippet dialogs/extension/finddialog.cpp 0
-
- This snippet illustrates how you can define a shortcut key
- for a widget. A shortcut should be defined by putting the ampersand
- character (\c &) in front of the letter that should
- become the shortcut.
- For example, for \uicontrol {Find what}, pressing \uicontrol Alt
- and \uicontrol w transfers focus to the QLineEdit widget.
- Shortcuts can also be used for checking on or off a checkmark.
- For example, pressing \uicontrol Alt and \uicontrol c puts the check mark
- on \uicontrol {Match Case} if it was unchecked and vice versa.
- It is the QLabel::setBuddy() method that links a widget to the shortcut
- character if it has been defined.
-
- Set the \uicontrol Find button's default property to true, using the
- QPushButton::setDefault() function. Then the push button will be
- pressed if the user presses the Enter (or Return) key. Note that a
- QDialog can only have one default button.
-
- \snippet dialogs/extension/finddialog.cpp 2
-
- Create the extension widget, and the \l {QCheckBox}{QCheckBox}es associated
- with the advanced search options.
-
- \snippet dialogs/extension/finddialog.cpp 3
-
- Now that the extension widget is created, connect the \uicontrol
- More button's \l{QAbstractButton::toggled()}{toggled()} signal to
- the extension widget's \l{QWidget::setVisible()}{setVisible()} slot.
-
- The QAbstractButton::toggled() signal is emitted whenever a
- checkable button changes its state. The signal's argument is true
- if the button is checked, or false if the button is unchecked. The
- QWidget::setVisible() slot sets the widget's visible status. If
- the status is true the widget is shown, otherwise the widget is
- hidden.
-
- Since the \uicontrol More button is checkable, the connection makes
- sure that the extension widget is shown depending on the state of
- the \uicontrol More button.
-
- Create checkboxes associated with the advanced search options in
- a layout installed on the extension widget.
-
- \snippet dialogs/extension/finddialog.cpp 4
-
- Before creating the main layout, create several child layouts
- for the widgets. First align the QLabel and its buddy, the
- QLineEdit, using a QHBoxLayout. Then align the QLabel and the QLineEdit
- vertically with the checkboxes associated with the simple search,
- using a QVBoxLayout. Create also a QVBoxLayout for the buttons.
- Finally, lay out the two latter layouts and the extension widget
- using a QGridLayout.
-
- \snippet dialogs/extension/finddialog.cpp 5
-
- Hide the extension widget using the QWidget::hide()
- function, making the application only show the simple search
- options when it starts. When the user wants to access the advanced
- search options, the dialog only needs to change the visibility of
- the extension widget. Qt's layout management takes care of the
- dialog's appearance.
-*/