Currently it is hard for Q{Plain}TextEdit subclasses to keep track
of changes of the text cursor by direct calls to setTextCursor from
arbitrary code. By redirecting the setTextCursor to a virtual
function subclasses get the chance to intercept such calls.
Change-Id: Id92d9c86928b97285b0f5b7b39790442dfac3e50
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
*/
void QPlainTextEdit::setTextCursor(const QTextCursor &cursor)
{
+ doSetTextCursor(cursor);
+}
+
+/*!
+ \internal
+
+ This provides a hook for subclasses to intercept cursor changes.
+*/
+
+void QPlainTextEdit::doSetTextCursor(const QTextCursor &cursor)
+{
Q_D(QPlainTextEdit);
d->control->setTextCursor(cursor);
}
QPlainTextEdit(QPlainTextEditPrivate &dd, QWidget *parent);
virtual void scrollContentsBy(int dx, int dy);
+ virtual void doSetTextCursor(const QTextCursor &cursor);
QTextBlock firstVisibleBlock() const;
QPointF contentOffset() const;
*/
void QTextEdit::setTextCursor(const QTextCursor &cursor)
{
+ doSetTextCursor(cursor);
+}
+
+/*!
+ \internal
+
+ This provides a hook for subclasses to intercept cursor changes.
+*/
+
+void QTextEdit::doSetTextCursor(const QTextCursor &cursor)
+{
Q_D(QTextEdit);
d->control->setTextCursor(cursor);
}
QTextEdit(QTextEditPrivate &dd, QWidget *parent);
virtual void scrollContentsBy(int dx, int dy);
-
+ virtual void doSetTextCursor(const QTextCursor &cursor);
private:
Q_DISABLE_COPY(QTextEdit)