12#include <QtQml/qqmlinfo.h>
13#include <QtQuick/private/qquickitem_p.h>
14#include <QtQuick/private/qquickclipnode_p.h>
15#include <QtQuick/private/qquickflickable_p.h>
17#if QT_CONFIG(accessibility)
18#include <QtQuick/private/qquickaccessibleattached_p.h>
23using namespace Qt::StringLiterals;
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
91
92
93
94
95
96
97
98
101
102
103
104
105
106
107
108
109
112
113
114
115
116
117
118
119
120
121
134 const QMarginsF oldInset = getInset();
135 extra.value().topInset = value;
136 extra.value().hasTopInset = !reset;
137 if (!qFuzzyCompare(oldInset.top(), value)) {
138 emit q->topInsetChanged();
139 q->insetChange(getInset(), oldInset);
146 const QMarginsF oldInset = getInset();
147 extra.value().leftInset = value;
148 extra.value().hasLeftInset = !reset;
149 if (!qFuzzyCompare(oldInset.left(), value)) {
150 emit q->leftInsetChanged();
151 q->insetChange(getInset(), oldInset);
158 const QMarginsF oldInset = getInset();
159 extra.value().rightInset = value;
160 extra.value().hasRightInset = !reset;
161 if (!qFuzzyCompare(oldInset.right(), value)) {
162 emit q->rightInsetChanged();
163 q->insetChange(getInset(), oldInset);
170 const QMarginsF oldInset = getInset();
171 extra.value().bottomInset = value;
172 extra.value().hasBottomInset = !reset;
173 if (!qFuzzyCompare(oldInset.bottom(), value)) {
174 emit q->bottomInsetChanged();
175 q->insetChange(getInset(), oldInset);
190 const auto flickable = qobject_cast<QQuickFlickable *>(background->parentItem());
192 QQuickItemPrivate *p = QQuickItemPrivate::get(background);
193 if (((!p->widthValid() || !extra.isAllocated() || !extra->hasBackgroundWidth) && qFuzzyIsNull(background->x()))
194 || (extra.isAllocated() && (extra->hasLeftInset || extra->hasRightInset))) {
195 const qreal bgWidth = flickable ? flickable->width() : width;
196 background->setX(getLeftInset());
197 background->setWidth(bgWidth - getLeftInset() - getRightInset());
200 if (((!p->heightValid() || !extra.isAllocated() || !extra->hasBackgroundHeight) && qFuzzyIsNull(background->y()))
201 || (extra.isAllocated() && (extra->hasTopInset || extra->hasBottomInset))) {
202 const qreal bgHeight = flickable ? flickable->height() : height;
203 background->setY(getTopInset());
204 background->setHeight(bgHeight - getTopInset() - getBottomInset());
211
212
213
214
215
216
217
221 inheritFont(QQuickControlPrivate::parentFont(q));
226 QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
227 parentFont.setResolveMask(extra.isAllocated() ? extra->requestedFont.resolveMask() | font.resolveMask() : font.resolveMask());
229 const QFont defaultFont = QQuickTheme::font(QQuickTheme::TextArea);
230 QFont resolvedFont = parentFont.resolve(defaultFont);
232 setFont_helper(resolvedFont);
236
237
238
239
243 QFont oldFont = sourceFont;
244 q->QQuickTextEdit::setFont(font);
246 QQuickControlPrivate::updateFontRecur(q, font);
249 emit q->fontChanged();
252#if QT_CONFIG(quicktemplates2_hover)
253void QQuickTextAreaPrivate::updateHoverEnabled(
bool enabled,
bool xplicit)
256 if (!xplicit && explicitHoverEnabled)
259 bool wasEnabled = q->isHoverEnabled();
260 explicitHoverEnabled = xplicit;
261 if (wasEnabled != enabled) {
262 q->setAcceptHoverEvents(enabled);
263 QQuickControlPrivate::updateHoverEnabledRecur(q, enabled);
264 emit q->hoverEnabledChanged();
273 q->setParentItem(flickable->contentItem());
276 background->setParentItem(flickable);
278 QObjectPrivate::connect(q, &QQuickTextArea::contentSizeChanged,
this, &QQuickTextAreaPrivate::resizeFlickableContent);
279 QObjectPrivate::connect(q, &QQuickTextEdit::cursorRectangleChanged,
this, &QQuickTextAreaPrivate::ensureCursorVisible);
281 QObject::connect(flickable, &QQuickFlickable::contentXChanged, q, &QQuickItem::update);
282 QObject::connect(flickable, &QQuickFlickable::contentYChanged, q, &QQuickItem::update);
284 QQuickItemPrivate::get(flickable)->updateOrAddGeometryChangeListener(
this, QQuickGeometryChange::Size);
285 QQuickItemPrivate::get(flickable)->addItemChangeListener(
this, QQuickItemPrivate::Destroyed);
286 QObjectPrivate::connect(flickable, &QQuickFlickable::contentWidthChanged,
this, &QQuickTextAreaPrivate::resizeFlickableControl);
287 QObjectPrivate::connect(flickable, &QQuickFlickable::contentHeightChanged,
this, &QQuickTextAreaPrivate::resizeFlickableControl);
295 q->setParentItem(
nullptr);
296 if (background && background->parentItem() == flickable)
297 background->setParentItem(q);
299 QObjectPrivate::disconnect(q, &QQuickTextArea::contentSizeChanged,
this, &QQuickTextAreaPrivate::resizeFlickableContent);
300 QObjectPrivate::disconnect(q, &QQuickTextEdit::cursorRectangleChanged,
this, &QQuickTextAreaPrivate::ensureCursorVisible);
302 QObject::disconnect(flickable, &QQuickFlickable::contentXChanged, q, &QQuickItem::update);
303 QObject::disconnect(flickable, &QQuickFlickable::contentYChanged, q, &QQuickItem::update);
305 QQuickItemPrivate::get(flickable)->updateOrRemoveGeometryChangeListener(
this, QQuickGeometryChange::Nothing);
306 QQuickItemPrivate::get(flickable)->removeItemChangeListener(
this, QQuickItemPrivate::Destroyed);
307 QObjectPrivate::disconnect(flickable, &QQuickFlickable::contentWidthChanged,
this, &QQuickTextAreaPrivate::resizeFlickableControl);
308 QObjectPrivate::disconnect(flickable, &QQuickFlickable::contentHeightChanged,
this, &QQuickTextAreaPrivate::resizeFlickableControl);
326 const qreal tp = q->topPadding();
327 const qreal lp = q->leftPadding();
328 const QRectF cr = q->cursorRectangle();
330 if (cr.left() <= cx + lp) {
335 const qreal rp = q->rightPadding();
336 const QRectF nr = q->cursorPosition() < q->length() ? q->positionToRectangle(q->cursorPosition() + 1) : QRectF();
337 if (qFuzzyCompare(nr.y(), cr.y()) && nr.right() >= cx + lp + w - rp)
338 flickable->setContentX(nr.right() - w + rp);
339 else if (cr.right() >= cx + lp + w - rp)
340 flickable->setContentX(cr.right() - w + rp);
343 if (cr.top() <= cy + tp) {
346 const qreal bp = q->bottomPadding();
347 if (cr.bottom() >= cy + tp + h - bp && cr.bottom() <=
flickable->contentHeight())
348 flickable->setContentY(cr.bottom() - h + bp);
358 const qreal w = wrapMode == QQuickTextArea::NoWrap ? qMax(flickable->width(), flickable->contentWidth()) : flickable->width();
360 q->setSize(QSizeF(w, h));
371 flickable->setContentWidth(q->implicitWidth());
372 flickable->setContentHeight(q->implicitHeight());
378 if (!resizingBackground && item == background) {
379 QQuickItemPrivate *p = QQuickItemPrivate::get(item);
382 if (change.widthChange())
383 extra.value().hasBackgroundWidth = p->widthValid();
384 if (change.heightChange())
385 extra.value().hasBackgroundHeight = p->heightValid();
396 return QQuickItemPrivate::getImplicitWidth();
401 return QQuickItemPrivate::getImplicitHeight();
407 QQuickItemPrivate::implicitWidthChanged();
408 emit q->implicitWidthChanged3();
414 QQuickItemPrivate::implicitHeightChanged();
415 emit q->implicitHeightChanged3();
418#if QT_CONFIG(accessibility)
419void QQuickTextAreaPrivate::accessibilityActiveChanged(
bool active)
421 QQuickTextEditPrivate::accessibilityActiveChanged(active);
422 if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(q_func()))
423 accessibleAttached->setDescriptionImplicitly(placeholder);
430 quickCancelDeferred(q, backgroundName());
436 if (background.wasExecuted())
439 if (!background || complete)
440 quickBeginDeferred(q, backgroundName(), background);
442 quickCompleteDeferred(q, backgroundName(), background);
448 if (item == background)
449 emit q->implicitBackgroundWidthChanged();
455 if (item == background)
456 emit q->implicitBackgroundHeightChanged();
462 if (item == background) {
463 background =
nullptr;
464 emit q->implicitBackgroundWidthChanged();
465 emit q->implicitBackgroundHeightChanged();
473 return QQuickTheme::palette(QQuickTheme::TextArea);
479 const auto focusReasonChanged = QQuickItemPrivate::setLastFocusChangeReason(reason);
480 if (focusReasonChanged)
481 emit q->focusReasonChanged();
483 return focusReasonChanged;
486QQuickTextArea::QQuickTextArea(QQuickItem *parent)
487 : QQuickTextEdit(*(
new QQuickTextAreaPrivate), parent)
490 setActiveFocusOnTab(
true);
491 setAcceptedMouseButtons(Qt::AllButtons);
492 d->setImplicitResizeEnabled(
false);
493 d->pressHandler.control =
this;
495#if QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)
496 if (qEnvironmentVariable(
"QT_QUICK_CONTROLS_TEXT_SELECTION_BEHAVIOR") == u"old"_s)
497 QQuickTextEdit::setOldSelectionDefault();
501QQuickTextArea::~QQuickTextArea()
505 d->detachFlickable();
506 QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
509QQuickTextAreaAttached *QQuickTextArea::qmlAttachedProperties(QObject *object)
511 return new QQuickTextAreaAttached(object);
514QFont QQuickTextArea::font()
const
516 Q_D(
const QQuickTextArea);
517 QFont font = QQuickTextEdit::font();
519 font.setResolveMask(d->extra.value().requestedFont.resolveMask());
523void QQuickTextArea::setFont(
const QFont &font)
526 if (d->extra.value().requestedFont.resolveMask() == font.resolveMask() && d->extra.value().requestedFont == font)
529 d->extra.value().requestedFont = font;
534
535
536
537
538
539
540
541
542QQuickItem *QQuickTextArea::background()
const
544 QQuickTextAreaPrivate *d =
const_cast<QQuickTextAreaPrivate *>(d_func());
546 d->executeBackground();
547 return d->background;
550void QQuickTextArea::setBackground(QQuickItem *background)
553 if (d->background == background)
556 QQuickControlPrivate::warnIfCustomizationNotSupported(
this, background, QStringLiteral(
"background"));
558 if (!d->background.isExecuting())
559 d->cancelBackground();
561 const qreal oldImplicitBackgroundWidth = implicitBackgroundWidth();
562 const qreal oldImplicitBackgroundHeight = implicitBackgroundHeight();
564 if (d->extra.isAllocated()) {
565 d->extra.value().hasBackgroundWidth =
false;
566 d->extra.value().hasBackgroundHeight =
false;
569 QQuickControlPrivate::removeImplicitSizeListener(d->background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
570 QQuickControlPrivate::hideOldItem(d->background);
571 d->background = background;
574 QQuickItemPrivate *p = QQuickItemPrivate::get(background);
575 if (p->widthValid() || p->heightValid()) {
576 d->extra.value().hasBackgroundWidth = p->widthValid();
577 d->extra.value().hasBackgroundHeight = p->heightValid();
580 background->setParentItem(d->flickable);
582 background->setParentItem(
this);
583 if (qFuzzyIsNull(background->z()))
584 background->setZ(-1);
585 if (isComponentComplete())
586 d->resizeBackground();
587 QQuickControlPrivate::addImplicitSizeListener(background, d, QQuickControlPrivate::ImplicitSizeChanges | QQuickItemPrivate::Geometry);
590 if (!qFuzzyCompare(oldImplicitBackgroundWidth, implicitBackgroundWidth()))
591 emit implicitBackgroundWidthChanged();
592 if (!qFuzzyCompare(oldImplicitBackgroundHeight, implicitBackgroundHeight()))
593 emit implicitBackgroundHeightChanged();
594 if (!d->background.isExecuting())
595 emit backgroundChanged();
599
600
601
602
603
604QString QQuickTextArea::placeholderText()
const
606 Q_D(
const QQuickTextArea);
607 return d->placeholder;
610void QQuickTextArea::setPlaceholderText(
const QString &text)
613 if (d->placeholder == text)
616 d->placeholder = text;
617#if QT_CONFIG(accessibility)
618 if (QQuickAccessibleAttached *accessibleAttached = QQuickControlPrivate::accessibleAttached(
this))
619 accessibleAttached->setDescriptionImplicitly(text);
621 emit placeholderTextChanged();
625
626
627
628
629
630
631
632QColor QQuickTextArea::placeholderTextColor()
const
634 Q_D(
const QQuickTextArea);
635 return d->placeholderColor;
638void QQuickTextArea::setPlaceholderTextColor(
const QColor &color)
641 if (d->placeholderColor == color)
644 d->placeholderColor = color;
645 emit placeholderTextColorChanged();
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667Qt::FocusReason QQuickTextArea::focusReason()
const
669 Q_D(
const QQuickTextArea);
670 return d->lastFocusChangeReason();
673void QQuickTextArea::setFocusReason(Qt::FocusReason reason)
676 d->setLastFocusChangeReason(reason);
680bool QQuickTextArea::contains(
const QPointF &point)
const
682 Q_D(
const QQuickTextArea);
683 if (d->flickable && !d->flickable->contains(d->flickable->mapFromItem(
this, point)))
685 return QQuickTextEdit::contains(point);
689
690
691
692
693
694
695
696
697bool QQuickTextArea::isHovered()
const
699#if QT_CONFIG(quicktemplates2_hover)
700 Q_D(
const QQuickTextArea);
707void QQuickTextArea::setHovered(
bool hovered)
709#if QT_CONFIG(quicktemplates2_hover)
711 if (hovered == d->hovered)
714 d->hovered = hovered;
715 emit hoveredChanged();
722
723
724
725
726
727
728
729bool QQuickTextArea::isHoverEnabled()
const
731#if QT_CONFIG(quicktemplates2_hover)
732 Q_D(
const QQuickTextArea);
733 return d->hoverEnabled;
739void QQuickTextArea::setHoverEnabled(
bool enabled)
741#if QT_CONFIG(quicktemplates2_hover)
743 if (d->explicitHoverEnabled && enabled == d->hoverEnabled)
746 d->updateHoverEnabled(enabled,
true);
752void QQuickTextArea::resetHoverEnabled()
754#if QT_CONFIG(quicktemplates2_hover)
756 if (!d->explicitHoverEnabled)
759 d->explicitHoverEnabled =
false;
760 d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem),
false);
765
766
767
768
769
770
771
772
773
774
775qreal QQuickTextArea::implicitBackgroundWidth()
const
777 Q_D(
const QQuickTextArea);
780 return d->background->implicitWidth();
784
785
786
787
788
789
790
791
792
793
794qreal QQuickTextArea::implicitBackgroundHeight()
const
796 Q_D(
const QQuickTextArea);
799 return d->background->implicitHeight();
803
804
805
806
807
808
809
810qreal QQuickTextArea::topInset()
const
812 Q_D(
const QQuickTextArea);
813 return d->getTopInset();
816void QQuickTextArea::setTopInset(qreal inset)
819 d->setTopInset(inset);
822void QQuickTextArea::resetTopInset()
825 d->setTopInset(0,
true);
829
830
831
832
833
834
835
836qreal QQuickTextArea::leftInset()
const
838 Q_D(
const QQuickTextArea);
839 return d->getLeftInset();
842void QQuickTextArea::setLeftInset(qreal inset)
845 d->setLeftInset(inset);
848void QQuickTextArea::resetLeftInset()
851 d->setLeftInset(0,
true);
855
856
857
858
859
860
861
862qreal QQuickTextArea::rightInset()
const
864 Q_D(
const QQuickTextArea);
865 return d->getRightInset();
868void QQuickTextArea::setRightInset(qreal inset)
871 d->setRightInset(inset);
874void QQuickTextArea::resetRightInset()
877 d->setRightInset(0,
true);
881
882
883
884
885
886
887
888qreal QQuickTextArea::bottomInset()
const
890 Q_D(
const QQuickTextArea);
891 return d->getBottomInset();
894void QQuickTextArea::setBottomInset(qreal inset)
897 d->setBottomInset(inset);
900void QQuickTextArea::resetBottomInset()
903 d->setBottomInset(0,
true);
906void QQuickTextArea::classBegin()
909 QQuickTextEdit::classBegin();
913void QQuickTextArea::componentComplete()
916 d->executeBackground(
true);
917 QQuickTextEdit::componentComplete();
918 d->resizeBackground();
919#if QT_CONFIG(quicktemplates2_hover)
920 if (!d->explicitHoverEnabled)
921 setAcceptHoverEvents(QQuickControlPrivate::calcHoverEnabled(d->parentItem));
925void QQuickTextArea::itemChange(QQuickItem::ItemChange change,
const QQuickItem::ItemChangeData &value)
928 QQuickTextEdit::itemChange(change, value);
930 case ItemEnabledHasChanged:
932 case ItemSceneChange:
933 case ItemParentHasChanged:
934 if ((change == ItemParentHasChanged && value.item) || (change == ItemSceneChange && value.window)) {
936#if QT_CONFIG(quicktemplates2_hover)
937 if (!d->explicitHoverEnabled)
938 d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem),
false);
940 if (change == ItemParentHasChanged) {
941 QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(value.item->parentItem());
943 QQuickScrollView *scrollView = qobject_cast<QQuickScrollView *>(flickable->parentItem());
945 d->attachFlickable(flickable);
955void QQuickTextArea::geometryChange(
const QRectF &newGeometry,
const QRectF &oldGeometry)
958 QQuickTextEdit::geometryChange(newGeometry, oldGeometry);
959 d->resizeBackground();
962void QQuickTextArea::insetChange(
const QMarginsF &newInset,
const QMarginsF &oldInset)
967 d->resizeBackground();
970QSGNode *QQuickTextArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *data)
973 QQuickDefaultClipNode *clipNode =
static_cast<QQuickDefaultClipNode *>(oldNode);
975 clipNode =
new QQuickDefaultClipNode(QRectF());
977 QQuickItem *clipper =
this;
979 clipper = d->flickable;
981 const QRectF cr = clipper->clipRect().adjusted(
982 leftPadding(), topPadding(),
983 (!d->cursorItem && effectiveHAlign() == HAlignment::AlignRight ? 1 : 0) - rightPadding(),
986 clipNode->setRect(!d->flickable ? cr : cr.translated(d->flickable->contentX(), d->flickable->contentY()));
989 QSGNode *textNode = QQuickTextEdit::updatePaintNode(clipNode->firstChild(), data);
990 if (!textNode->parent())
991 clipNode->appendChildNode(textNode);
994 QQuickDefaultClipNode *cursorNode = QQuickItemPrivate::get(d->cursorItem)->clipNode();
996 cursorNode->setClipRect(d->cursorItem->mapRectFromItem(clipper, cr));
1002void QQuickTextArea::focusInEvent(QFocusEvent *event)
1004 QQuickTextEdit::focusInEvent(event);
1007void QQuickTextArea::focusOutEvent(QFocusEvent *event)
1009 QQuickTextEdit::focusOutEvent(event);
1012#if QT_CONFIG(quicktemplates2_hover)
1013void QQuickTextArea::hoverEnterEvent(QHoverEvent *event)
1015 Q_D(QQuickTextArea);
1016 QQuickTextEdit::hoverEnterEvent(event);
1017 setHovered(d->hoverEnabled);
1021void QQuickTextArea::hoverLeaveEvent(QHoverEvent *event)
1023 QQuickTextEdit::hoverLeaveEvent(event);
1029void QQuickTextArea::mousePressEvent(QMouseEvent *event)
1031 Q_D(QQuickTextArea);
1032 d->pressHandler.mousePressEvent(event);
1033 if (d->pressHandler.isActive()) {
1034 if (d->pressHandler.delayedMousePressEvent) {
1035 QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
1036 d->pressHandler.clearDelayedMouseEvent();
1040 const bool wasAccepted = event->isAccepted();
1041 QQuickTextEdit::mousePressEvent(event);
1047void QQuickTextArea::mouseMoveEvent(QMouseEvent *event)
1049 Q_D(QQuickTextArea);
1050 d->pressHandler.mouseMoveEvent(event);
1051 if (d->pressHandler.isActive()) {
1052 if (d->pressHandler.delayedMousePressEvent) {
1053 QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
1054 d->pressHandler.clearDelayedMouseEvent();
1056 QQuickTextEdit::mouseMoveEvent(event);
1060void QQuickTextArea::mouseReleaseEvent(QMouseEvent *event)
1062 Q_D(QQuickTextArea);
1063 d->pressHandler.mouseReleaseEvent(event);
1064 if (d->pressHandler.isActive()) {
1065 if (d->pressHandler.delayedMousePressEvent) {
1066 QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
1067 d->pressHandler.clearDelayedMouseEvent();
1069 QQuickTextEdit::mouseReleaseEvent(event);
1073void QQuickTextArea::mouseDoubleClickEvent(QMouseEvent *event)
1075 Q_D(QQuickTextArea);
1076 if (d->pressHandler.delayedMousePressEvent) {
1077 QQuickTextEdit::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
1078 d->pressHandler.clearDelayedMouseEvent();
1080 QQuickTextEdit::mouseDoubleClickEvent(event);
1083void QQuickTextArea::timerEvent(QTimerEvent *event)
1085 Q_D(QQuickTextArea);
1086 if (event->timerId() == d->pressHandler.timer.timerId())
1087 d->pressHandler.timerEvent(event);
1089 QQuickTextEdit::timerEvent(event);
1098QQuickTextAreaAttached::QQuickTextAreaAttached(QObject *parent)
1099 : QObject(*(
new QQuickTextAreaAttachedPrivate), parent)
1104
1105
1106
1107
1108
1109
1110QQuickTextArea *QQuickTextAreaAttached::flickable()
const
1112 Q_D(
const QQuickTextAreaAttached);
1116void QQuickTextAreaAttached::setFlickable(QQuickTextArea *control)
1118 Q_D(QQuickTextAreaAttached);
1119 QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(parent());
1121 qmlWarning(parent()) <<
"TextArea attached property must be attached to an object deriving from Flickable";
1125 if (d->control == control)
1129 QQuickTextAreaPrivate::get(d->control)->detachFlickable();
1131 d->control = control;
1134 QQuickTextAreaPrivate::get(control)->attachFlickable(flickable);
1136 emit flickableChanged();
1141#include "moc_qquicktextarea_p.cpp"
void implicitWidthChanged() override
qreal getImplicitWidth() const override
bool setLastFocusChangeReason(Qt::FocusReason reason) override
QQuickFlickable * flickable
void setTopInset(qreal value, bool reset=false)
void setLeftInset(qreal value, bool reset=false)
void setRightInset(qreal value, bool reset=false)
void executeBackground(bool complete=false)
void updateFont(const QFont &font)
void setBottomInset(qreal value, bool reset=false)
void itemDestroyed(QQuickItem *item) override
void itemGeometryChanged(QQuickItem *item, QQuickGeometryChange change, const QRectF &diff) override
void itemImplicitWidthChanged(QQuickItem *item) override
void attachFlickable(QQuickFlickable *flickable)
void resizeFlickableControl()
void inheritFont(const QFont &font)
qreal getImplicitHeight() const override
void ensureCursorVisible()
void itemImplicitHeightChanged(QQuickItem *item) override
void resizeFlickableContent()
QPalette defaultPalette() const override
void implicitHeightChanged() override