Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
14
21
26
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
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
83
88
90
91#include "moc_qquickitemgroup_p.cpp"
const QObjectList & children() const
Returns a list of child objects.
Definition qobject.h:201
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
static QQuickItemPrivate * get(QQuickItem *item)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
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:75
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:76
ItemChange
Used in conjunction with QQuickItem::itemChange() to notify the item about certain types of changes.
Definition qquickitem.h:144
@ ItemChildAddedChange
Definition qquickitem.h:145
@ ItemChildRemovedChange
Definition qquickitem.h:146
void setImplicitWidth(qreal)
void setImplicitSize(qreal, qreal)
\inmodule QtCore\reentrant
Definition qrect.h:484
constexpr QSizeF size() const noexcept
Returns the size of the rectangle.
Definition qrect.h:735
\inmodule QtCore
Definition qsize.h:208
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 GLsizei GLenum GLenum GLsizei void * data
GLint GLsizei width
double qreal
Definition qtypes.h:187
QGraphicsItem * item
QLayoutItem * child
[0]
\inmodule QtQuick
Definition qquickitem.h:159