aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquicktextarea_p_p.h
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2016-04-22 00:18:25 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2016-04-26 13:31:06 +0000
commit67f3da65d7d11af025a9bdd54d08ca0bf764c3ce (patch)
tree9fc5e79e31a82d39d25f8a00835a1115b55b08a7 /src/quicktemplates2/qquicktextarea_p_p.h
parent1780a817fce77f4875f001c2b95b41cd2cd06f2b (diff)
Allow attaching TextArea to a Flickable
It is not always possible to let TextArea grow infinitely, but in some cases it should be scrollable on its own. Even though it is not a built-in feature of TextArea like in Qt Quick Controls 1, this change makes it straight-forward to attach TextArea to a Flickable. This makes TextArea behave like a standalone scrollable editor. Change-Id: I8181e8ebe0edbcdfef2c30c9e102db7cbe4ff705 Task-number: QTBUG-51677 Task-number: QTBUG-52169 Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/quicktemplates2/qquicktextarea_p_p.h')
-rw-r--r--src/quicktemplates2/qquicktextarea_p_p.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquicktextarea_p_p.h b/src/quicktemplates2/qquicktextarea_p_p.h
index 99ee7cdb..8af5d0d7 100644
--- a/src/quicktemplates2/qquicktextarea_p_p.h
+++ b/src/quicktemplates2/qquicktextarea_p_p.h
@@ -49,6 +49,7 @@
//
#include <QtQuick/private/qquicktextedit_p_p.h>
+#include <QtQuick/private/qquickitemchangelistener_p.h>
#include <QtQuickTemplates2/private/qquickpresshandler_p_p.h>
#include "qquicktextarea_p.h"
@@ -59,9 +60,10 @@
QT_BEGIN_NAMESPACE
+class QQuickFlickable;
class QQuickAccessibleAttached;
-class QQuickTextAreaPrivate : public QQuickTextEditPrivate
+class QQuickTextAreaPrivate : public QQuickTextEditPrivate, public QQuickItemChangeListener
#ifndef QT_NO_ACCESSIBILITY
, public QAccessible::ActivationObserver
#endif
@@ -79,6 +81,14 @@ public:
void resolveFont();
void inheritFont(const QFont &f);
+ void attachFlickable(QQuickFlickable *flickable);
+ void detachFlickable();
+ void ensureCursorVisible();
+ void resizeFlickableControl();
+ void resizeFlickableContent();
+
+ void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) override;
+
qreal getImplicitWidth() const override;
qreal getImplicitHeight() const override;
@@ -98,6 +108,7 @@ public:
Qt::FocusReason focusReason;
QQuickPressHandler pressHandler;
QQuickAccessibleAttached *accessibleAttached;
+ QQuickFlickable *flickable;
};
QT_END_NAMESPACE