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
qquickindicatorbutton_p.cpp
Go to the documentation of this file.
1// Copyright (C) 2020 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
5#include "qquickcontrol_p_p.h"
6
8
10
16
18{
21 return;
22
23 if (!indicator || complete)
25 if (complete)
27}
28
33
35{
37 QQuickControl *parentControl = static_cast<QQuickControl *>(parent());
38 if (parentControl)
39 QQuickControlPrivate::get(parentControl)->removeImplicitSizeListener(d->indicator);
40}
41
43{
44 Q_D(const QQuickIndicatorButton);
45 return d->pressed;
46}
47
49{
51 if (d->pressed == pressed)
52 return;
53
54 d->pressed = pressed;
56}
57
59{
61 if (!d->indicator)
63 return d->indicator;
64}
65
67{
69 if (d->indicator == indicator)
70 return;
71
72 if (!d->indicator.isExecuting())
73 d->cancelIndicator();
74
75 const qreal oldImplicitIndicatorWidth = implicitIndicatorWidth();
76 const qreal oldImplicitIndicatorHeight = implicitIndicatorHeight();
77
78 QQuickControl *par = static_cast<QQuickControl *>(parent());
80
81 QQuickControlPrivate::get(par)->removeImplicitSizeListener(d->indicator);
83 d->indicator = indicator;
84
85 if (indicator) {
86 if (!indicator->parentItem())
88 QQuickControlPrivate::get(par)->addImplicitSizeListener(indicator);
89 }
90
91 if (!qFuzzyCompare(oldImplicitIndicatorWidth, implicitIndicatorWidth()))
92 emit implicitIndicatorWidthChanged();
93 if (!qFuzzyCompare(oldImplicitIndicatorHeight, implicitIndicatorHeight()))
94 emit implicitIndicatorHeightChanged();
95 if (!d->indicator.isExecuting())
97}
98
100{
101 Q_D(const QQuickIndicatorButton);
102 return d->hovered;
103}
104
106{
108 if (d->hovered == hovered)
109 return;
110
111 d->hovered = hovered;
112 emit hoveredChanged();
113}
114
116{
117 Q_D(const QQuickIndicatorButton);
118 if (!d->indicator)
119 return 0;
120 return d->indicator->implicitWidth();
121}
122
124{
125 Q_D(const QQuickIndicatorButton);
126 if (!d->indicator)
127 return 0;
128 return d->indicator->implicitHeight();
129}
130
132
133#include "moc_qquickindicatorbutton_p.cpp"
\inmodule QtCore
Definition qobject.h:103
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
static void hideOldItem(QQuickItem *item)
static void warnIfCustomizationNotSupported(QObject *control, QQuickItem *item, const QString &propertyName)
static QQuickControlPrivate * get(QQuickControl *control)
QQuickDeferredPointer< QQuickItem > indicator
void executeIndicator(bool complete=false)
void setIndicator(QQuickItem *indicator)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
void setParentItem(QQuickItem *parent)
QQuickItem * parentItem() const
Combined button and popup list for selecting options.
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
Definition qfloat16.h:333
GLdouble GLdouble GLdouble GLdouble q
Definition qopenglext.h:259
void quickCancelDeferred(QObject *object, const QString &property)
void quickCompleteDeferred(QObject *object, const QString &property, QQuickDeferredPointer< T > &delegate)
void quickBeginDeferred(QObject *object, const QString &property, QQuickDeferredPointer< T > &delegate)
#define QStringLiteral(str)
#define emit
static QString indicatorName()
double qreal
Definition qtypes.h:187