summaryrefslogtreecommitdiffstats
path: root/examples/widgets
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-06-26 13:50:57 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2023-06-28 00:09:58 +0200
commit76ba4a04223670afdfe9dc17eee3dc0ec3659f66 (patch)
treec599dd9eccdbf5c1cccb3fd70ff400194a5950a5 /examples/widgets
parentcefb1c9ca9af73999247678907c496c1a143d00f (diff)
Move dynamic layouts example to manual test
Pick-to: 6.5 6.6 Change-Id: I34288b2b22cbbfb3b77870f0c71778bcf3d552fb Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'examples/widgets')
-rw-r--r--examples/widgets/doc/src/dynamiclayouts.qdoc91
-rw-r--r--examples/widgets/layouts/CMakeLists.txt1
-rw-r--r--examples/widgets/layouts/dynamiclayouts/CMakeLists.txt37
-rw-r--r--examples/widgets/layouts/dynamiclayouts/dialog.cpp136
-rw-r--r--examples/widgets/layouts/dynamiclayouts/dialog.h53
-rw-r--r--examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro10
-rw-r--r--examples/widgets/layouts/dynamiclayouts/main.cpp15
-rw-r--r--examples/widgets/layouts/layouts.pro1
8 files changed, 0 insertions, 344 deletions
diff --git a/examples/widgets/doc/src/dynamiclayouts.qdoc b/examples/widgets/doc/src/dynamiclayouts.qdoc
deleted file mode 100644
index 5dea8a7f6a..0000000000
--- a/examples/widgets/doc/src/dynamiclayouts.qdoc
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
-/*!
- \example layouts/dynamiclayouts
- \title Dynamic Layouts Example
- \brief Shows how to re-orient widgets in running applications.
-
- \e{Dynamic Layouts} implements dynamically placed widgets within running
- applications. The widget placement depends on whether \c Horizontal or \c
- Vertical is chosen.
-
- \borderedimage dynamiclayouts-example.png
- For more information, visit the \l{Layout Management} page.
-
- \section1 Dialog Constructor
-
- To begin with, the application creates the UI components by calling the
- following methods:
-
- \list
- \li createRotatableGroupBox()
- \li createOptionsGroupBox()
- \li createButtonBox()
- \endlist
-
- It then adds the UI components to a GridLayout (\c mainLayout).
-
- Finally, \c Dialog::rotateWidgets() is called.
-
- \quotefromfile layouts/dynamiclayouts/dialog.cpp
- \skipuntil createRotatableGroupBox
- \printuntil setWindowTitle
-
- \section1 Creating the Main Widgets
-
- The \c createRotatableGroupBox() method creates a rotatable group box,
- then adds a series of widgets:
-
- \list
- \li QSpinBox
- \li QSlider
- \li QDial
- \li QProgressBar
- \endlist
-
- It goes on to add signals and slots to each widget, and assigns
- a QGridLayout called \a rotatableLayout.
-
- \skipto Dialog::createRotatableGroupBox
- \printuntil /^\}/
-
- \section1 Adding Options
-
- \c createOptionsGroupBox() creates the following widgets:
- \list
- \li \c optionsGroupBox
- \li \c buttonsOrientationLabel
- \li \c buttonsOrientationComboBox. The orientation of the ComboBox is either
- \c horizontal (default value) or \c vertical. These two values
- are added during the startup of the application. It is not possible
- to leave the option empty.
- \endlist
-
- \skipto Dialog::createOptionsGroupBox()
- \printuntil /^\}/
-
- \section1 Adding Buttons
-
- createButtonBox() constructs a QDialogButtonBox called \c buttonBox
- to which are added a \c closeButton, a \c helpButton and a
- \c rotateWidgetsButton.
- It then assigns a signal and a slot to each button in \c buttonBox.
-
- \skipto Dialog::createButtonBox()
- \printuntil /^\}/
-
-
- \section1 Rotating the Widgets
-
- Removes the current widgets and activates the next widget.
-
- \quotefromfile layouts/dynamiclayouts/dialog.cpp
- \skipto Dialog::rotateWidgets()
- \printuntil rotatableLayout->addWidget(rotatableWidgets[i]
- \printuntil }
- \printuntil }
-
- \include examples-run.qdocinc
-*/
-
diff --git a/examples/widgets/layouts/CMakeLists.txt b/examples/widgets/layouts/CMakeLists.txt
index 0afe0fb07c..75355a0778 100644
--- a/examples/widgets/layouts/CMakeLists.txt
+++ b/examples/widgets/layouts/CMakeLists.txt
@@ -2,5 +2,4 @@
# SPDX-License-Identifier: BSD-3-Clause
qt_internal_add_example(basiclayouts)
-qt_internal_add_example(dynamiclayouts)
qt_internal_add_example(flowlayout)
diff --git a/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt b/examples/widgets/layouts/dynamiclayouts/CMakeLists.txt
deleted file mode 100644
index 5fe39bfb5f..0000000000
--- a/examples/widgets/layouts/dynamiclayouts/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(dynamiclayouts LANGUAGES CXX)
-
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
-
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/layouts/dynamiclayouts")
-
-find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
-
-qt_standard_project_setup()
-
-qt_add_executable(dynamiclayouts
- dialog.cpp dialog.h
- main.cpp
-)
-
-set_target_properties(dynamiclayouts PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-
-target_link_libraries(dynamiclayouts PRIVATE
- Qt6::Core
- Qt6::Gui
- Qt6::Widgets
-)
-
-install(TARGETS dynamiclayouts
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
-)
diff --git a/examples/widgets/layouts/dynamiclayouts/dialog.cpp b/examples/widgets/layouts/dynamiclayouts/dialog.cpp
deleted file mode 100644
index 28b4fc2f7f..0000000000
--- a/examples/widgets/layouts/dynamiclayouts/dialog.cpp
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include <QtWidgets>
-
-#include "dialog.h"
-
-Dialog::Dialog(QWidget *parent)
- : QDialog(parent)
-{
- createRotatableGroupBox();
- createOptionsGroupBox();
- createButtonBox();
-
- mainLayout = new QGridLayout;
- mainLayout->addWidget(rotatableGroupBox, 0, 0);
- mainLayout->addWidget(optionsGroupBox, 1, 0);
- mainLayout->addWidget(buttonBox, 2, 0);
- setLayout(mainLayout);
-
- mainLayout->setSizeConstraint(QLayout::SetMinimumSize);
-
- setWindowTitle(tr("Dynamic Layouts"));
-}
-
-void Dialog::buttonsOrientationChanged(int index)
-{
- mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
- setMinimumSize(0, 0);
-
- Qt::Orientation orientation = Qt::Orientation(
- buttonsOrientationComboBox->itemData(index).toInt());
-
- if (orientation == buttonBox->orientation())
- return;
-
- mainLayout->removeWidget(buttonBox);
-
- int spacing = mainLayout->spacing();
-
- QSize oldSizeHint = buttonBox->sizeHint() + QSize(spacing, spacing);
- buttonBox->setOrientation(orientation);
- QSize newSizeHint = buttonBox->sizeHint() + QSize(spacing, spacing);
-
- if (orientation == Qt::Horizontal) {
- mainLayout->addWidget(buttonBox, 2, 0);
- resize(size() + QSize(-oldSizeHint.width(), newSizeHint.height()));
- } else {
- mainLayout->addWidget(buttonBox, 0, 3, 2, 1);
- resize(size() + QSize(newSizeHint.width(), -oldSizeHint.height()));
- }
-
- mainLayout->setSizeConstraint(QLayout::SetDefaultConstraint);
-}
-
-void Dialog::rotateWidgets()
-{
- Q_ASSERT(rotatableWidgets.count() % 2 == 0);
-
- for (QWidget *widget : std::as_const(rotatableWidgets))
- rotatableLayout->removeWidget(widget);
-
- rotatableWidgets.enqueue(rotatableWidgets.dequeue());
-
- const int n = rotatableWidgets.count();
- for (int i = 0; i < n / 2; ++i) {
- rotatableLayout->addWidget(rotatableWidgets[n - i - 1], 0, i);
- rotatableLayout->addWidget(rotatableWidgets[i], 1, i);
- }
-}
-
-void Dialog::help()
-{
- QMessageBox::information(this, tr("Dynamic Layouts Help"),
- tr("This example shows how to change layouts "
- "dynamically."));
-}
-
-void Dialog::createRotatableGroupBox()
-{
- rotatableGroupBox = new QGroupBox(tr("Rotatable Widgets"));
-
- rotatableWidgets.enqueue(new QSpinBox);
- rotatableWidgets.enqueue(new QSlider);
- rotatableWidgets.enqueue(new QDial);
- rotatableWidgets.enqueue(new QProgressBar);
-
- int n = rotatableWidgets.count();
- for (int i = 0; i < n; ++i) {
- connect(rotatableWidgets[i], SIGNAL(valueChanged(int)),
- rotatableWidgets[(i + 1) % n], SLOT(setValue(int)));
- }
-
- rotatableLayout = new QGridLayout;
- rotatableGroupBox->setLayout(rotatableLayout);
-
- rotateWidgets();
-}
-
-void Dialog::createOptionsGroupBox()
-{
- optionsGroupBox = new QGroupBox(tr("Options"));
-
- buttonsOrientationLabel = new QLabel(tr("Orientation of buttons:"));
-
- buttonsOrientationComboBox = new QComboBox;
- buttonsOrientationComboBox->addItem(tr("Horizontal"), Qt::Horizontal);
- buttonsOrientationComboBox->addItem(tr("Vertical"), Qt::Vertical);
-
- connect(buttonsOrientationComboBox,
- &QComboBox::currentIndexChanged,
- this,
- &Dialog::buttonsOrientationChanged);
-
- optionsLayout = new QGridLayout;
- optionsLayout->addWidget(buttonsOrientationLabel, 0, 0);
- optionsLayout->addWidget(buttonsOrientationComboBox, 0, 1);
- optionsLayout->setColumnStretch(2, 1);
- optionsGroupBox->setLayout(optionsLayout);
-}
-
-void Dialog::createButtonBox()
-{
- buttonBox = new QDialogButtonBox;
-
- closeButton = buttonBox->addButton(QDialogButtonBox::Close);
- helpButton = buttonBox->addButton(QDialogButtonBox::Help);
- rotateWidgetsButton = buttonBox->addButton(tr("Rotate &Widgets"),
- QDialogButtonBox::ActionRole);
-
- connect(rotateWidgetsButton, &QPushButton::clicked, this, &Dialog::rotateWidgets);
- connect(closeButton, &QPushButton::clicked, this, &Dialog::close);
- connect(helpButton, &QPushButton::clicked, this, &Dialog::help);
-}
-
-
diff --git a/examples/widgets/layouts/dynamiclayouts/dialog.h b/examples/widgets/layouts/dynamiclayouts/dialog.h
deleted file mode 100644
index 89424cee8a..0000000000
--- a/examples/widgets/layouts/dynamiclayouts/dialog.h
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#ifndef DIALOG_H
-#define DIALOG_H
-
-#include <QDialog>
-#include <QQueue>
-
-QT_BEGIN_NAMESPACE
-class QComboBox;
-class QDialogButtonBox;
-class QGridLayout;
-class QGroupBox;
-class QLabel;
-class QPushButton;
-QT_END_NAMESPACE
-
-class Dialog : public QDialog
-{
- Q_OBJECT
-
-public:
- Dialog(QWidget *parent = nullptr);
-
-private slots:
- void buttonsOrientationChanged(int index);
- void rotateWidgets();
- void help();
-
-private:
- void createRotatableGroupBox();
- void createOptionsGroupBox();
- void createButtonBox();
-
- QGroupBox *rotatableGroupBox;
- QQueue<QWidget *> rotatableWidgets;
-
- QGroupBox *optionsGroupBox;
- QLabel *buttonsOrientationLabel;
- QComboBox *buttonsOrientationComboBox;
-
- QDialogButtonBox *buttonBox;
- QPushButton *closeButton;
- QPushButton *helpButton;
- QPushButton *rotateWidgetsButton;
-
- QGridLayout *mainLayout;
- QGridLayout *rotatableLayout;
- QGridLayout *optionsLayout;
-};
-
-#endif // DIALOG_H
diff --git a/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro b/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro
deleted file mode 100644
index dcd4288698..0000000000
--- a/examples/widgets/layouts/dynamiclayouts/dynamiclayouts.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-QT += widgets
-requires(qtConfig(combobox))
-
-HEADERS = dialog.h
-SOURCES = dialog.cpp \
- main.cpp
-
-# install
-target.path = $$[QT_INSTALL_EXAMPLES]/widgets/layouts/dynamiclayouts
-INSTALLS += target
diff --git a/examples/widgets/layouts/dynamiclayouts/main.cpp b/examples/widgets/layouts/dynamiclayouts/main.cpp
deleted file mode 100644
index 865e0d1579..0000000000
--- a/examples/widgets/layouts/dynamiclayouts/main.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright (C) 2016 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-
-#include <QApplication>
-
-#include "dialog.h"
-
-int main(int argc, char *argv[])
-{
- QApplication app(argc, argv);
- Dialog dialog;
- dialog.show();
-
- return app.exec();
-}
diff --git a/examples/widgets/layouts/layouts.pro b/examples/widgets/layouts/layouts.pro
index 6821e33359..c0b5453f02 100644
--- a/examples/widgets/layouts/layouts.pro
+++ b/examples/widgets/layouts/layouts.pro
@@ -1,4 +1,3 @@
TEMPLATE = subdirs
SUBDIRS = basiclayouts \
- dynamiclayouts \
flowlayout