Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qquickitemgroup.cpp
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include "qquickitemgroup_p.h"
5
6#include <QtQuick/private/qquickimplicitsizeitem_p_p.h>
7
9
12{
13}
14
16{
17 const auto children = childItems();
20}
21
23{
25}
26
28{
30}
31
33{
34 qreal width = 0;
35 qreal height = 0;
36 const auto children = childItems();
37 for (QQuickItem *child : children) {
38 width = qMax(width, child->implicitWidth());
39 height = qMax(height, child->implicitHeight());
40 }
41 return QSizeF(width, height);
42}
43
45{
47 setImplicitSize(size.width(), size.height());
48}
49
51{
53 switch (change) {
55 watch(data.item);
56 data.item->setSize(QSizeF(width(), height()));
58 break;
60 unwatch(data.item);
62 break;
63 default:
64 break;
65 }
66}
67
68void QQuickItemGroup::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
69{
70 QQuickImplicitSizeItem::geometryChange(newGeometry, oldGeometry);
71
72 if (newGeometry.size() != oldGeometry.size()) {
73 const auto children = childItems();
75 child->setSize(newGeometry.size());
76 }
77}
78
80{
82}
83
85{
87}
88
90
91#include "moc_qquickitemgroup_p.cpp"
const QObjectList & children() const
Returns a list of child objects.
Definition qobject.h:171
void unwatch(QQuickItem *item)
void itemImplicitWidthChanged(QQuickItem *item) override
void itemChange(ItemChange change, const ItemChangeData &data) override
Called when change occurs for this item.
void watch(QQuickItem *item)
void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry) override
QQuickItemGroup(QQuickItem *parent=nullptr)
void itemImplicitHeightChanged(QQuickItem *item) override
QSizeF calculateImplicitSize() const
void removeItemChangeListener(QQuickItemChangeListener *, ChangeTypes types)
void addItemChangeListener(QQuickItemChangeListener *listener, ChangeTypes types)
static QQuickItemPrivate * get(QQuickItem *item)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:64
QList< QQuickItem * > childItems() const
Returns the children of this item.
virtual void geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
qreal width
This property holds the width of this item.
Definition qquickitem.h:76
virtual void itemChange(ItemChange, const ItemChangeData &)
Called when change occurs for this item.
void setImplicitHeight(qreal)
qreal height
This property holds the height of this item.
Definition qquickitem.h:77
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
Definition qquickitem.h:143
@ ItemChildAddedChange
Definition qquickitem.h:144
@ ItemChildRemovedChange
Definition qquickitem.h:145
void setImplicitWidth(qreal)
void setImplicitSize(qreal, qreal)
\inmodule QtCore\reentrant
Definition qrect.h:483
constexpr QSizeF size() const noexcept
Returns the size of the rectangle.
Definition qrect.h:721
\inmodule QtCore
Definition qsize.h:207
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch * watch
constexpr const T & qMax(const T &a, const T &b)
Definition qminmax.h:42
GLint GLsizei GLsizei height
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLint GLsizei width
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
double qreal
Definition qtypes.h:92
QGraphicsItem * item
QLayoutItem * child
[0]
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent
\inmodule QtQuick
Definition qquickitem.h:158