Introduce hook for text cursor changes in QTextEdit and QPlainTextEdit
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>
This commit is contained in:
parent
e0ce39ea67
commit
9d4814e18b
@ -1313,6 +1313,17 @@ QTextDocument *QPlainTextEdit::document() const
|
||||
Sets the visible \a cursor.
|
||||
*/
|
||||
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);
|
||||
|
@ -254,6 +254,7 @@ protected:
|
||||
QPlainTextEdit(QPlainTextEditPrivate &dd, QWidget *parent);
|
||||
|
||||
virtual void scrollContentsBy(int dx, int dy);
|
||||
virtual void doSetTextCursor(const QTextCursor &cursor);
|
||||
|
||||
QTextBlock firstVisibleBlock() const;
|
||||
QPointF contentOffset() const;
|
||||
|
@ -756,6 +756,17 @@ QTextDocument *QTextEdit::document() const
|
||||
Sets the visible \a cursor.
|
||||
*/
|
||||
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);
|
||||
|
@ -296,7 +296,7 @@ protected:
|
||||
QTextEdit(QTextEditPrivate &dd, QWidget *parent);
|
||||
|
||||
virtual void scrollContentsBy(int dx, int dy);
|
||||
|
||||
virtual void doSetTextCursor(const QTextCursor &cursor);
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(QTextEdit)
|
||||
|
Loading…
Reference in New Issue
Block a user