From 42b58f8cb41790169eb2ebcd215cf2696dcecbe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 26 Jun 2023 13:29:58 +0200 Subject: Move border layout example to manual test Pick-to: 6.5 6.6 Change-Id: I3f45043a64275f8678288e1d9839271eafa1fd2b Reviewed-by: Volker Hilsheimer --- examples/widgets/layouts/CMakeLists.txt | 1 - .../widgets/layouts/borderlayout/CMakeLists.txt | 38 ----- .../widgets/layouts/borderlayout/borderlayout.cpp | 171 --------------------- .../widgets/layouts/borderlayout/borderlayout.h | 50 ------ .../widgets/layouts/borderlayout/borderlayout.pro | 11 -- examples/widgets/layouts/borderlayout/main.cpp | 14 -- examples/widgets/layouts/borderlayout/window.cpp | 31 ---- examples/widgets/layouts/borderlayout/window.h | 24 --- examples/widgets/layouts/layouts.pro | 1 - 9 files changed, 341 deletions(-) delete mode 100644 examples/widgets/layouts/borderlayout/CMakeLists.txt delete mode 100644 examples/widgets/layouts/borderlayout/borderlayout.cpp delete mode 100644 examples/widgets/layouts/borderlayout/borderlayout.h delete mode 100644 examples/widgets/layouts/borderlayout/borderlayout.pro delete mode 100644 examples/widgets/layouts/borderlayout/main.cpp delete mode 100644 examples/widgets/layouts/borderlayout/window.cpp delete mode 100644 examples/widgets/layouts/borderlayout/window.h (limited to 'examples/widgets/layouts') diff --git a/examples/widgets/layouts/CMakeLists.txt b/examples/widgets/layouts/CMakeLists.txt index 60299638c4..0afe0fb07c 100644 --- a/examples/widgets/layouts/CMakeLists.txt +++ b/examples/widgets/layouts/CMakeLists.txt @@ -2,6 +2,5 @@ # SPDX-License-Identifier: BSD-3-Clause qt_internal_add_example(basiclayouts) -qt_internal_add_example(borderlayout) qt_internal_add_example(dynamiclayouts) qt_internal_add_example(flowlayout) diff --git a/examples/widgets/layouts/borderlayout/CMakeLists.txt b/examples/widgets/layouts/borderlayout/CMakeLists.txt deleted file mode 100644 index 73722fb811..0000000000 --- a/examples/widgets/layouts/borderlayout/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: BSD-3-Clause - -cmake_minimum_required(VERSION 3.16) -project(borderlayout LANGUAGES CXX) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/layouts/borderlayout") - -find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) - -qt_standard_project_setup() - -qt_add_executable(borderlayout - borderlayout.cpp borderlayout.h - main.cpp - window.cpp window.h -) - -set_target_properties(borderlayout PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) - -target_link_libraries(borderlayout PRIVATE - Qt6::Core - Qt6::Gui - Qt6::Widgets -) - -install(TARGETS borderlayout - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/widgets/layouts/borderlayout/borderlayout.cpp b/examples/widgets/layouts/borderlayout/borderlayout.cpp deleted file mode 100644 index 4dad24da0d..0000000000 --- a/examples/widgets/layouts/borderlayout/borderlayout.cpp +++ /dev/null @@ -1,171 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include "borderlayout.h" - -BorderLayout::BorderLayout(QWidget *parent, const QMargins &margins, int spacing) - : QLayout(parent) -{ - setContentsMargins(margins); - setSpacing(spacing); -} - -BorderLayout::BorderLayout(int spacing) -{ - setSpacing(spacing); -} - - -BorderLayout::~BorderLayout() -{ - QLayoutItem *l; - while ((l = takeAt(0))) - delete l; -} - -void BorderLayout::addItem(QLayoutItem *item) -{ - add(item, West); -} - -void BorderLayout::addWidget(QWidget *widget, Position position) -{ - add(new QWidgetItem(widget), position); -} - -Qt::Orientations BorderLayout::expandingDirections() const -{ - return Qt::Horizontal | Qt::Vertical; -} - -bool BorderLayout::hasHeightForWidth() const -{ - return false; -} - -int BorderLayout::count() const -{ - return list.size(); -} - -QLayoutItem *BorderLayout::itemAt(int index) const -{ - ItemWrapper *wrapper = list.value(index); - return wrapper ? wrapper->item : nullptr; -} - -QSize BorderLayout::minimumSize() const -{ - return calculateSize(MinimumSize); -} - -void BorderLayout::setGeometry(const QRect &rect) -{ - ItemWrapper *center = nullptr; - int eastWidth = 0; - int westWidth = 0; - int northHeight = 0; - int southHeight = 0; - int centerHeight = 0; - int i; - - QLayout::setGeometry(rect); - - for (i = 0; i < list.size(); ++i) { - ItemWrapper *wrapper = list.at(i); - QLayoutItem *item = wrapper->item; - Position position = wrapper->position; - - if (position == North) { - item->setGeometry(QRect(rect.x(), northHeight, rect.width(), - item->sizeHint().height())); - - northHeight += item->geometry().height() + spacing(); - } else if (position == South) { - item->setGeometry(QRect(item->geometry().x(), - item->geometry().y(), rect.width(), - item->sizeHint().height())); - - southHeight += item->geometry().height() + spacing(); - - item->setGeometry(QRect(rect.x(), - rect.y() + rect.height() - southHeight + spacing(), - item->geometry().width(), - item->geometry().height())); - } else if (position == Center) { - center = wrapper; - } - } - - centerHeight = rect.height() - northHeight - southHeight; - - for (i = 0; i < list.size(); ++i) { - ItemWrapper *wrapper = list.at(i); - QLayoutItem *item = wrapper->item; - Position position = wrapper->position; - - if (position == West) { - item->setGeometry(QRect(rect.x() + westWidth, northHeight, - item->sizeHint().width(), centerHeight)); - - westWidth += item->geometry().width() + spacing(); - } else if (position == East) { - item->setGeometry(QRect(item->geometry().x(), item->geometry().y(), - item->sizeHint().width(), centerHeight)); - - eastWidth += item->geometry().width() + spacing(); - - item->setGeometry(QRect( - rect.x() + rect.width() - eastWidth + spacing(), - northHeight, item->geometry().width(), - item->geometry().height())); - } - } - - if (center) - center->item->setGeometry(QRect(westWidth, northHeight, - rect.width() - eastWidth - westWidth, - centerHeight)); -} - -QSize BorderLayout::sizeHint() const -{ - return calculateSize(SizeHint); -} - -QLayoutItem *BorderLayout::takeAt(int index) -{ - if (index >= 0 && index < list.size()) { - ItemWrapper *layoutStruct = list.takeAt(index); - return layoutStruct->item; - } - return nullptr; -} - -void BorderLayout::add(QLayoutItem *item, Position position) -{ - list.append(new ItemWrapper(item, position)); -} - -QSize BorderLayout::calculateSize(SizeType sizeType) const -{ - QSize totalSize; - - for (int i = 0; i < list.size(); ++i) { - ItemWrapper *wrapper = list.at(i); - Position position = wrapper->position; - QSize itemSize; - - if (sizeType == MinimumSize) - itemSize = wrapper->item->minimumSize(); - else // (sizeType == SizeHint) - itemSize = wrapper->item->sizeHint(); - - if (position == North || position == South || position == Center) - totalSize.rheight() += itemSize.height(); - - if (position == West || position == East || position == Center) - totalSize.rwidth() += itemSize.width(); - } - return totalSize; -} diff --git a/examples/widgets/layouts/borderlayout/borderlayout.h b/examples/widgets/layouts/borderlayout/borderlayout.h deleted file mode 100644 index c1d3ae7204..0000000000 --- a/examples/widgets/layouts/borderlayout/borderlayout.h +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#ifndef BORDERLAYOUT_H -#define BORDERLAYOUT_H - -#include -#include - -class BorderLayout : public QLayout -{ -public: - enum Position { West, North, South, East, Center }; - - explicit BorderLayout(QWidget *parent, const QMargins &margins = QMargins(), int spacing = -1); - BorderLayout(int spacing = -1); - ~BorderLayout(); - - void addItem(QLayoutItem *item) override; - void addWidget(QWidget *widget, Position position); - Qt::Orientations expandingDirections() const override; - bool hasHeightForWidth() const override; - int count() const override; - QLayoutItem *itemAt(int index) const override; - QSize minimumSize() const override; - void setGeometry(const QRect &rect) override; - QSize sizeHint() const override; - QLayoutItem *takeAt(int index) override; - - void add(QLayoutItem *item, Position position); - -private: - struct ItemWrapper - { - ItemWrapper(QLayoutItem *i, Position p) { - item = i; - position = p; - } - - QLayoutItem *item; - Position position; - }; - - enum SizeType { MinimumSize, SizeHint }; - QSize calculateSize(SizeType sizeType) const; - - QList list; -}; - -#endif // BORDERLAYOUT_H diff --git a/examples/widgets/layouts/borderlayout/borderlayout.pro b/examples/widgets/layouts/borderlayout/borderlayout.pro deleted file mode 100644 index 53c9647bd7..0000000000 --- a/examples/widgets/layouts/borderlayout/borderlayout.pro +++ /dev/null @@ -1,11 +0,0 @@ -QT += widgets - -HEADERS = borderlayout.h \ - window.h -SOURCES = borderlayout.cpp \ - main.cpp \ - window.cpp - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/widgets/layouts/borderlayout -INSTALLS += target diff --git a/examples/widgets/layouts/borderlayout/main.cpp b/examples/widgets/layouts/borderlayout/main.cpp deleted file mode 100644 index 27409403a5..0000000000 --- a/examples/widgets/layouts/borderlayout/main.cpp +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include - -#include "window.h" - -int main(int argc, char *argv[]) -{ - QApplication app(argc, argv); - Window window; - window.show(); - return app.exec(); -} diff --git a/examples/widgets/layouts/borderlayout/window.cpp b/examples/widgets/layouts/borderlayout/window.cpp deleted file mode 100644 index ea3b6a6fe8..0000000000 --- a/examples/widgets/layouts/borderlayout/window.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include "borderlayout.h" -#include "window.h" -#include -#include - -Window::Window() -{ - QTextBrowser *centralWidget = new QTextBrowser; - centralWidget->setPlainText(tr("Central widget")); - - BorderLayout *layout = new BorderLayout; - layout->addWidget(centralWidget, BorderLayout::Center); - layout->addWidget(createLabel("North"), BorderLayout::North); - layout->addWidget(createLabel("West"), BorderLayout::West); - layout->addWidget(createLabel("East 1"), BorderLayout::East); - layout->addWidget(createLabel("East 2") , BorderLayout::East); - layout->addWidget(createLabel("South"), BorderLayout::South); - setLayout(layout); - - setWindowTitle(tr("Border Layout")); -} - -QLabel *Window::createLabel(const QString &text) -{ - QLabel *label = new QLabel(text); - label->setFrameStyle(QFrame::Box | QFrame::Raised); - return label; -} diff --git a/examples/widgets/layouts/borderlayout/window.h b/examples/widgets/layouts/borderlayout/window.h deleted file mode 100644 index 9e97d0e8fb..0000000000 --- a/examples/widgets/layouts/borderlayout/window.h +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#ifndef WINDOW_H -#define WINDOW_H - -#include - -QT_BEGIN_NAMESPACE -class QLabel; -QT_END_NAMESPACE - -class Window : public QWidget -{ - Q_OBJECT - -public: - Window(); - -private: - QLabel *createLabel(const QString &text); -}; - -#endif // WINDOW_H diff --git a/examples/widgets/layouts/layouts.pro b/examples/widgets/layouts/layouts.pro index c641e8cf7f..6821e33359 100644 --- a/examples/widgets/layouts/layouts.pro +++ b/examples/widgets/layouts/layouts.pro @@ -1,5 +1,4 @@ TEMPLATE = subdirs SUBDIRS = basiclayouts \ - borderlayout \ dynamiclayouts \ flowlayout -- cgit v1.2.3