From a84b2e5973ace6327ef38644e023e0f81fad21f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Arve=20S=C3=A6ther?= Date: Tue, 28 Feb 2023 17:41:48 +0100 Subject: Move Weather Anchor Layout example to manual tests Pick-to: 6.5 Change-Id: I8782a83b5c12b4f57bf9ef9063818cb124bddd56 Reviewed-by: Oliver Eftevaag --- .../weatheranchorlayout/CMakeLists.txt | 53 ----- .../weatheranchorlayout/images/5days.jpg | Bin 5748 -> 0 bytes .../weatheranchorlayout/images/details.jpg | Bin 5323 -> 0 bytes .../weatheranchorlayout/images/place.jpg | Bin 62438 -> 0 bytes .../weatheranchorlayout/images/tabbar.jpg | Bin 849 -> 0 bytes .../weatheranchorlayout/images/title.jpg | Bin 3472 -> 0 bytes .../images/weather-few-clouds.png | Bin 18976 -> 0 bytes .../graphicsview/weatheranchorlayout/main.cpp | 239 --------------------- .../weatheranchorlayout/weatheranchorlayout.pro | 8 - .../weatheranchorlayout/weatheranchorlayout.qrc | 10 - 10 files changed, 310 deletions(-) delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/CMakeLists.txt delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/images/5days.jpg delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/images/details.jpg delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/images/place.jpg delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/images/tabbar.jpg delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/images/title.jpg delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/images/weather-few-clouds.png delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/main.cpp delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.pro delete mode 100644 examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.qrc (limited to 'examples/widgets/graphicsview/weatheranchorlayout') diff --git a/examples/widgets/graphicsview/weatheranchorlayout/CMakeLists.txt b/examples/widgets/graphicsview/weatheranchorlayout/CMakeLists.txt deleted file mode 100644 index 31243e4d80..0000000000 --- a/examples/widgets/graphicsview/weatheranchorlayout/CMakeLists.txt +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright (C) 2022 The Qt Company Ltd. -# SPDX-License-Identifier: BSD-3-Clause - -cmake_minimum_required(VERSION 3.16) -project(weatheranchorlayout LANGUAGES CXX) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/graphicsview/weatheranchorlayout") - -find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) - -qt_standard_project_setup() - -qt_add_executable(weatheranchorlayout - main.cpp -) - -set_target_properties(weatheranchorlayout PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) - -target_link_libraries(weatheranchorlayout PRIVATE - Qt6::Core - Qt6::Gui - Qt6::Widgets -) - -# Resources: -set(weatheranchorlayout_resource_files - "images/5days.jpg" - "images/details.jpg" - "images/place.jpg" - "images/tabbar.jpg" - "images/title.jpg" - "images/weather-few-clouds.png" -) - -qt_add_resources(weatheranchorlayout "weatheranchorlayout" - PREFIX - "/" - FILES - ${weatheranchorlayout_resource_files} -) - -install(TARGETS weatheranchorlayout - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/widgets/graphicsview/weatheranchorlayout/images/5days.jpg b/examples/widgets/graphicsview/weatheranchorlayout/images/5days.jpg deleted file mode 100644 index fd92ba8ba7..0000000000 Binary files a/examples/widgets/graphicsview/weatheranchorlayout/images/5days.jpg and /dev/null differ diff --git a/examples/widgets/graphicsview/weatheranchorlayout/images/details.jpg b/examples/widgets/graphicsview/weatheranchorlayout/images/details.jpg deleted file mode 100644 index fde0448c69..0000000000 Binary files a/examples/widgets/graphicsview/weatheranchorlayout/images/details.jpg and /dev/null differ diff --git a/examples/widgets/graphicsview/weatheranchorlayout/images/place.jpg b/examples/widgets/graphicsview/weatheranchorlayout/images/place.jpg deleted file mode 100644 index 03e5344330..0000000000 Binary files a/examples/widgets/graphicsview/weatheranchorlayout/images/place.jpg and /dev/null differ diff --git a/examples/widgets/graphicsview/weatheranchorlayout/images/tabbar.jpg b/examples/widgets/graphicsview/weatheranchorlayout/images/tabbar.jpg deleted file mode 100644 index 7777662901..0000000000 Binary files a/examples/widgets/graphicsview/weatheranchorlayout/images/tabbar.jpg and /dev/null differ diff --git a/examples/widgets/graphicsview/weatheranchorlayout/images/title.jpg b/examples/widgets/graphicsview/weatheranchorlayout/images/title.jpg deleted file mode 100644 index fa84c8156c..0000000000 Binary files a/examples/widgets/graphicsview/weatheranchorlayout/images/title.jpg and /dev/null differ diff --git a/examples/widgets/graphicsview/weatheranchorlayout/images/weather-few-clouds.png b/examples/widgets/graphicsview/weatheranchorlayout/images/weather-few-clouds.png deleted file mode 100644 index eea6ce6529..0000000000 Binary files a/examples/widgets/graphicsview/weatheranchorlayout/images/weather-few-clouds.png and /dev/null differ diff --git a/examples/widgets/graphicsview/weatheranchorlayout/main.cpp b/examples/widgets/graphicsview/weatheranchorlayout/main.cpp deleted file mode 100644 index 1151349f24..0000000000 --- a/examples/widgets/graphicsview/weatheranchorlayout/main.cpp +++ /dev/null @@ -1,239 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -class GraphicsView : public QGraphicsView -{ -public: - GraphicsView(QGraphicsScene *scene, QGraphicsWidget *widget) - : QGraphicsView(scene), w(widget) - { - } - - void resizeEvent(QResizeEvent *event) override - { - w->setGeometry(0, 0, event->size().width(), event->size().height()); - } - - QGraphicsWidget *w; -}; - -class PixmapWidget : public QGraphicsLayoutItem -{ -public: - PixmapWidget(const QPixmap &pix) - : QGraphicsLayoutItem(), original(new QGraphicsPixmapItem(pix)) - , r(QRectF(QPointF(0, 0), pix.size())) - { - setGraphicsItem(original); - original->show(); - } - - ~PixmapWidget() - { - setGraphicsItem(nullptr); - delete original; - } - - void setZValue(qreal z) - { - original->setZValue(z); - } - - void setGeometry(const QRectF &rect) override - { - original->setTransform(QTransform::fromScale(rect.width() / r.width(), - rect.height() / r.height()), true); - original->setPos(rect.x(), rect.y()); - r = rect; - } - -protected: - QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override - { - Q_UNUSED(constraint); - QSizeF sh; - switch (which) { - case Qt::MinimumSize: - sh = QSizeF(0, 0); - break; - case Qt::PreferredSize: - sh = QSizeF(50, 50); - break; - case Qt::MaximumSize: - sh = QSizeF(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX); - break; - default: - break; - } - return sh; - } - -private: - QGraphicsPixmapItem *original; - QRectF r; -}; - - -class PlaceWidget : public QGraphicsWidget -{ - Q_OBJECT - -public: - PlaceWidget(const QPixmap &pix) - : QGraphicsWidget() - , original(pix) - , scaled(pix) - { - } - - void paint(QPainter *painter, const QStyleOptionGraphicsItem *, QWidget *) override - { - const QPointF reflection(0, scaled.height() + 2); - - painter->drawPixmap(QPointF(), scaled); - - QPixmap tmp(scaled.size()); - tmp.fill(Qt::transparent); - QPainter p(&tmp); - - // create gradient - QPoint p1(scaled.width() / 2, 0); - QPoint p2(scaled.width() / 2, scaled.height()); - QLinearGradient linearGrad(p1, p2); - linearGrad.setColorAt(0, QColor(0, 0, 0, 0)); - linearGrad.setColorAt(0.65, QColor(0, 0, 0, 127)); - linearGrad.setColorAt(1, QColor(0, 0, 0, 255)); - - // apply 'mask' - p.setBrush(linearGrad); - p.fillRect(0, 0, tmp.width(), tmp.height(), QBrush(linearGrad)); - p.fillRect(0, 0, tmp.width(), tmp.height(), QBrush(linearGrad)); - - // paint the image flipped - p.setCompositionMode(QPainter::CompositionMode_DestinationOver); - p.drawPixmap(0, 0, QPixmap::fromImage(scaled.toImage().mirrored(false, true))); - p.end(); - - painter->drawPixmap(reflection, tmp); - } - - void resizeEvent(QGraphicsSceneResizeEvent *event) override - { - QSize newSize = event->newSize().toSize(); - newSize.setHeight(newSize.height() / 2); - scaled = original.scaled(newSize); - } - - QRectF boundingRect() const override - { - QSize size(scaled.width(), scaled.height() * 2 + 2); - return QRectF(QPointF(0, 0), size); - } - -private: - QPixmap original; - QPixmap scaled; -}; - - -int main(int argc, char *argv[]) -{ - Q_INIT_RESOURCE(weatheranchorlayout); - - QApplication app(argc, argv); - - QGraphicsScene scene; - scene.setSceneRect(0, 0, 800, 480); - - // pixmaps widgets - PixmapWidget *title = new PixmapWidget(QPixmap(":/images/title.jpg")); - PlaceWidget *place = new PlaceWidget(QPixmap(":/images/place.jpg")); - PixmapWidget *details = new PixmapWidget(QPixmap(":/images/5days.jpg")); - PixmapWidget *sunnyWeather = new PixmapWidget(QPixmap(":/images/weather-few-clouds.png")); - PixmapWidget *tabbar = new PixmapWidget(QPixmap(":/images/tabbar.jpg")); - - - // setup sizes - title->setPreferredSize(QSizeF(348, 45)); - title->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); - - place->setPreferredSize(QSizeF(96, 72)); - place->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); - - details->setMinimumSize(QSizeF(200, 112)); - details->setPreferredSize(QSizeF(200, 112)); - details->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); - - tabbar->setPreferredSize(QSizeF(70, 24)); - tabbar->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); - - sunnyWeather->setPreferredSize(QSizeF(128, 97)); - sunnyWeather->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum); - sunnyWeather->setZValue(9999); - - // start anchor layout - QGraphicsAnchorLayout *layout = new QGraphicsAnchorLayout; - layout->setSpacing(0); - - // setup the main widget - QGraphicsWidget *widget = new QGraphicsWidget(nullptr, Qt::Window); - QPalette p; - p.setColor(QPalette::Window, Qt::black); - widget->setPalette(p); - widget->setPos(20, 20); - widget->setLayout(layout); - - // vertical anchors - QGraphicsAnchor *anchor = layout->addAnchor(title, Qt::AnchorTop, layout, Qt::AnchorTop); - anchor = layout->addAnchor(place, Qt::AnchorTop, title, Qt::AnchorBottom); - anchor->setSpacing(12); - anchor = layout->addAnchor(place, Qt::AnchorBottom, layout, Qt::AnchorBottom); - anchor->setSpacing(12); - - anchor = layout->addAnchor(sunnyWeather, Qt::AnchorTop, title, Qt::AnchorTop); - anchor = layout->addAnchor(sunnyWeather, Qt::AnchorBottom, layout, Qt::AnchorVerticalCenter); - - anchor = layout->addAnchor(tabbar, Qt::AnchorTop, title, Qt::AnchorBottom); - anchor->setSpacing(5); - anchor = layout->addAnchor(details, Qt::AnchorTop, tabbar, Qt::AnchorBottom); - anchor->setSpacing(2); - anchor = layout->addAnchor(details, Qt::AnchorBottom, layout, Qt::AnchorBottom); - anchor->setSpacing(12); - - // horizontal anchors - anchor = layout->addAnchor(layout, Qt::AnchorLeft, title, Qt::AnchorLeft); - anchor = layout->addAnchor(title, Qt::AnchorRight, layout, Qt::AnchorRight); - - anchor = layout->addAnchor(place, Qt::AnchorLeft, layout, Qt::AnchorLeft); - anchor->setSpacing(15); - anchor = layout->addAnchor(place, Qt::AnchorRight, details, Qt::AnchorLeft); - anchor->setSpacing(35); - - anchor = layout->addAnchor(sunnyWeather, Qt::AnchorLeft, place, Qt::AnchorHorizontalCenter); - anchor = layout->addAnchor(sunnyWeather, Qt::AnchorRight, layout, Qt::AnchorHorizontalCenter); - - anchor = layout->addAnchor(tabbar, Qt::AnchorHorizontalCenter, details, Qt::AnchorHorizontalCenter); - anchor = layout->addAnchor(details, Qt::AnchorRight, layout, Qt::AnchorRight); - - // QGV setup - scene.addItem(widget); - scene.setBackgroundBrush(Qt::white); - QGraphicsView *view = new QGraphicsView(&scene); - view->show(); - - return app.exec(); -} - -#include "main.moc" diff --git a/examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.pro b/examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.pro deleted file mode 100644 index db1c453cb4..0000000000 --- a/examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.pro +++ /dev/null @@ -1,8 +0,0 @@ -QT += widgets - -SOURCES += main.cpp -RESOURCES += weatheranchorlayout.qrc - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/widgets/graphicsview/weatheranchorlayout -INSTALLS += target diff --git a/examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.qrc b/examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.qrc deleted file mode 100644 index e39f8c0423..0000000000 --- a/examples/widgets/graphicsview/weatheranchorlayout/weatheranchorlayout.qrc +++ /dev/null @@ -1,10 +0,0 @@ - - - images/5days.jpg - images/title.jpg - images/place.jpg - images/tabbar.jpg - images/details.jpg - images/weather-few-clouds.png - - -- cgit v1.2.3