add QTextControl class to QtGui
This is a reduced version of the old text control class, that doesn't support a few QWidget specific additions. Change-Id: Ib4542845a30473bb2462b2fe14daba178b571368
This commit is contained in:
parent
4ed17a6508
commit
eaedcefbf8
@ -123,6 +123,7 @@ protected:
|
||||
|
||||
private:
|
||||
friend class QWidgetTextControl;
|
||||
friend class QTextControl;
|
||||
friend class QTextDocument;
|
||||
friend class QTextDocumentPrivate;
|
||||
friend class QTextEngine;
|
||||
|
2894
src/gui/text/qtextcontrol.cpp
Normal file
2894
src/gui/text/qtextcontrol.cpp
Normal file
File diff suppressed because it is too large
Load Diff
286
src/gui/text/qtextcontrol_p.h
Normal file
286
src/gui/text/qtextcontrol_p.h
Normal file
@ -0,0 +1,286 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the QtGui module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** GNU Lesser General Public License Usage
|
||||
** This file may be used under the terms of the GNU Lesser General Public
|
||||
** License version 2.1 as published by the Free Software Foundation and
|
||||
** appearing in the file LICENSE.LGPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU Lesser
|
||||
** General Public License version 2.1 requirements will be met:
|
||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License version 3.0 as published by the Free Software Foundation
|
||||
** and appearing in the file LICENSE.GPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU General
|
||||
** Public License version 3.0 requirements will be met:
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** Other Usage
|
||||
** Alternatively, this file may be used in accordance with the terms and
|
||||
** conditions contained in a signed written agreement between you and Nokia.
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QTEXTCONTROL_P_H
|
||||
#define QTEXTCONTROL_P_H
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists purely as an
|
||||
// implementation detail. This header file may change from version to
|
||||
// version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#include <QtGui/qtextdocument.h>
|
||||
#include <QtGui/qtextoption.h>
|
||||
#include <QtGui/qtextcursor.h>
|
||||
#include <QtGui/qtextformat.h>
|
||||
#include <QtCore/qrect.h>
|
||||
#include <QtGui/qabstracttextdocumentlayout.h>
|
||||
#include <QtGui/qtextdocumentfragment.h>
|
||||
#include <QtGui/qclipboard.h>
|
||||
|
||||
QT_BEGIN_HEADER
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
QT_MODULE(Gui)
|
||||
|
||||
class QStyleSheet;
|
||||
class QTextDocument;
|
||||
class QTextControlPrivate;
|
||||
class QMimeData;
|
||||
class QAbstractScrollArea;
|
||||
class QEvent;
|
||||
class QTimerEvent;
|
||||
|
||||
class Q_WIDGETS_EXPORT QTextControl : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_DECLARE_PRIVATE(QTextControl)
|
||||
#ifndef QT_NO_TEXTHTMLPARSER
|
||||
Q_PROPERTY(QString html READ toHtml WRITE setHtml NOTIFY textChanged USER true)
|
||||
#endif
|
||||
Q_PROPERTY(bool overwriteMode READ overwriteMode WRITE setOverwriteMode)
|
||||
Q_PROPERTY(bool acceptRichText READ acceptRichText WRITE setAcceptRichText)
|
||||
Q_PROPERTY(int cursorWidth READ cursorWidth WRITE setCursorWidth)
|
||||
Q_PROPERTY(Qt::TextInteractionFlags textInteractionFlags READ textInteractionFlags WRITE setTextInteractionFlags)
|
||||
Q_PROPERTY(bool openExternalLinks READ openExternalLinks WRITE setOpenExternalLinks)
|
||||
Q_PROPERTY(bool ignoreUnusedNavigationEvents READ ignoreUnusedNavigationEvents WRITE setIgnoreUnusedNavigationEvents)
|
||||
public:
|
||||
explicit QTextControl(QObject *parent = 0);
|
||||
explicit QTextControl(const QString &text, QObject *parent = 0);
|
||||
explicit QTextControl(QTextDocument *doc, QObject *parent = 0);
|
||||
virtual ~QTextControl();
|
||||
|
||||
void setView(QObject *view);
|
||||
QObject *view() const;
|
||||
|
||||
void setDocument(QTextDocument *document);
|
||||
QTextDocument *document() const;
|
||||
|
||||
void setTextCursor(const QTextCursor &cursor);
|
||||
QTextCursor textCursor() const;
|
||||
|
||||
void setTextInteractionFlags(Qt::TextInteractionFlags flags);
|
||||
Qt::TextInteractionFlags textInteractionFlags() const;
|
||||
|
||||
void mergeCurrentCharFormat(const QTextCharFormat &modifier);
|
||||
|
||||
void setCurrentCharFormat(const QTextCharFormat &format);
|
||||
QTextCharFormat currentCharFormat() const;
|
||||
|
||||
bool find(const QString &exp, QTextDocument::FindFlags options = 0);
|
||||
|
||||
inline QString toPlainText() const
|
||||
{ return document()->toPlainText(); }
|
||||
#ifndef QT_NO_TEXTHTMLPARSER
|
||||
inline QString toHtml() const
|
||||
{ return document()->toHtml(); }
|
||||
#endif
|
||||
|
||||
virtual void ensureCursorVisible();
|
||||
|
||||
virtual QVariant loadResource(int type, const QUrl &name);
|
||||
|
||||
QTextCursor cursorForPosition(const QPointF &pos) const;
|
||||
QRectF cursorRect(const QTextCursor &cursor) const;
|
||||
QRectF cursorRect() const;
|
||||
QRectF selectionRect(const QTextCursor &cursor) const;
|
||||
QRectF selectionRect() const;
|
||||
|
||||
QString anchorAt(const QPointF &pos) const;
|
||||
QPointF anchorPosition(const QString &name) const;
|
||||
|
||||
QString anchorAtCursor() const;
|
||||
|
||||
bool overwriteMode() const;
|
||||
void setOverwriteMode(bool overwrite);
|
||||
|
||||
int cursorWidth() const;
|
||||
void setCursorWidth(int width);
|
||||
|
||||
bool acceptRichText() const;
|
||||
void setAcceptRichText(bool accept);
|
||||
|
||||
void setExtraSelections(const QVector<QAbstractTextDocumentLayout::Selection> &selections);
|
||||
QVector<QAbstractTextDocumentLayout::Selection> extraSelections() const;
|
||||
|
||||
void setTextWidth(qreal width);
|
||||
qreal textWidth() const;
|
||||
QSizeF size() const;
|
||||
|
||||
void setOpenExternalLinks(bool open);
|
||||
bool openExternalLinks() const;
|
||||
|
||||
void setIgnoreUnusedNavigationEvents(bool ignore);
|
||||
bool ignoreUnusedNavigationEvents() const;
|
||||
|
||||
void moveCursor(QTextCursor::MoveOperation op, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor);
|
||||
|
||||
bool canPaste() const;
|
||||
|
||||
void setCursorIsFocusIndicator(bool b);
|
||||
bool cursorIsFocusIndicator() const;
|
||||
|
||||
void setDragEnabled(bool enabled);
|
||||
bool isDragEnabled() const;
|
||||
|
||||
bool isWordSelectionEnabled() const;
|
||||
void setWordSelectionEnabled(bool enabled);
|
||||
|
||||
#ifndef QT_NO_PRINTER
|
||||
void print(QPrinter *printer) const;
|
||||
#endif
|
||||
|
||||
virtual int hitTest(const QPointF &point, Qt::HitTestAccuracy accuracy) const;
|
||||
virtual QRectF blockBoundingRect(const QTextBlock &block) const;
|
||||
QAbstractTextDocumentLayout::PaintContext getPaintContext() const;
|
||||
|
||||
public Q_SLOTS:
|
||||
void setPlainText(const QString &text);
|
||||
void setHtml(const QString &text);
|
||||
|
||||
#ifndef QT_NO_CLIPBOARD
|
||||
void cut();
|
||||
void copy();
|
||||
void paste(QClipboard::Mode mode = QClipboard::Clipboard);
|
||||
#endif
|
||||
|
||||
void undo();
|
||||
void redo();
|
||||
|
||||
void clear();
|
||||
void selectAll();
|
||||
|
||||
void insertPlainText(const QString &text);
|
||||
#ifndef QT_NO_TEXTHTMLPARSER
|
||||
void insertHtml(const QString &text);
|
||||
#endif
|
||||
|
||||
void append(const QString &text);
|
||||
void appendHtml(const QString &html);
|
||||
void appendPlainText(const QString &text);
|
||||
|
||||
void adjustSize();
|
||||
|
||||
Q_SIGNALS:
|
||||
void textChanged();
|
||||
void undoAvailable(bool b);
|
||||
void redoAvailable(bool b);
|
||||
void currentCharFormatChanged(const QTextCharFormat &format);
|
||||
void copyAvailable(bool b);
|
||||
void selectionChanged();
|
||||
void cursorPositionChanged();
|
||||
|
||||
// control signals
|
||||
void updateRequest(const QRectF &rect = QRectF());
|
||||
void documentSizeChanged(const QSizeF &);
|
||||
void blockCountChanged(int newBlockCount);
|
||||
void visibilityRequest(const QRectF &rect);
|
||||
void microFocusChanged();
|
||||
void linkActivated(const QString &link);
|
||||
void linkHovered(const QString &);
|
||||
void modificationChanged(bool m);
|
||||
|
||||
public:
|
||||
// control properties
|
||||
QPalette palette() const;
|
||||
void setPalette(const QPalette &pal);
|
||||
|
||||
virtual void processEvent(QEvent *e, const QMatrix &matrix);
|
||||
void processEvent(QEvent *e, const QPointF &coordinateOffset = QPointF());
|
||||
|
||||
// control methods
|
||||
void drawContents(QPainter *painter, const QRectF &rect = QRectF());
|
||||
|
||||
void setFocus(bool focus, Qt::FocusReason = Qt::OtherFocusReason);
|
||||
|
||||
virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
|
||||
|
||||
virtual QMimeData *createMimeDataFromSelection() const;
|
||||
virtual bool canInsertFromMimeData(const QMimeData *source) const;
|
||||
virtual void insertFromMimeData(const QMimeData *source);
|
||||
|
||||
bool setFocusToAnchor(const QTextCursor &newCursor);
|
||||
bool setFocusToNextOrPreviousAnchor(bool next);
|
||||
bool findNextPrevAnchor(const QTextCursor& from, bool next, QTextCursor& newAnchor);
|
||||
|
||||
protected:
|
||||
virtual void timerEvent(QTimerEvent *e);
|
||||
|
||||
virtual bool event(QEvent *e);
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(QTextControl)
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_updateCurrentCharFormatAndSelection())
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_emitCursorPosChanged(const QTextCursor &))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_deleteSelected())
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_copyLink())
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_updateBlock(const QTextBlock &))
|
||||
Q_PRIVATE_SLOT(d_func(), void _q_documentLayoutChanged())
|
||||
};
|
||||
|
||||
|
||||
// also used by QLabel
|
||||
class QTextEditMimeData : public QMimeData
|
||||
{
|
||||
public:
|
||||
inline QTextEditMimeData(const QTextDocumentFragment &aFragment) : fragment(aFragment) {}
|
||||
|
||||
virtual QStringList formats() const;
|
||||
protected:
|
||||
virtual QVariant retrieveData(const QString &mimeType, QVariant::Type type) const;
|
||||
private:
|
||||
void setup() const;
|
||||
|
||||
mutable QTextDocumentFragment fragment;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
QT_END_HEADER
|
||||
|
||||
#endif // QTextControl_H
|
232
src/gui/text/qtextcontrol_p_p.h
Normal file
232
src/gui/text/qtextcontrol_p_p.h
Normal file
@ -0,0 +1,232 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** All rights reserved.
|
||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the QtGui module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** GNU Lesser General Public License Usage
|
||||
** This file may be used under the terms of the GNU Lesser General Public
|
||||
** License version 2.1 as published by the Free Software Foundation and
|
||||
** appearing in the file LICENSE.LGPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU Lesser
|
||||
** General Public License version 2.1 requirements will be met:
|
||||
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain additional
|
||||
** rights. These rights are described in the Nokia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU General
|
||||
** Public License version 3.0 as published by the Free Software Foundation
|
||||
** and appearing in the file LICENSE.GPL included in the packaging of this
|
||||
** file. Please review the following information to ensure the GNU General
|
||||
** Public License version 3.0 requirements will be met:
|
||||
** http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** Other Usage
|
||||
** Alternatively, this file may be used in accordance with the terms and
|
||||
** conditions contained in a signed written agreement between you and Nokia.
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QTEXTCONTROL_P_P_H
|
||||
#define QTEXTCONTROL_P_P_H
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists purely as an
|
||||
// implementation detail. This header file may change from version to
|
||||
// version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#include "QtGui/qtextdocumentfragment.h"
|
||||
#include "QtGui/qtextcursor.h"
|
||||
#include "QtGui/qtextformat.h"
|
||||
#include "QtGui/qabstracttextdocumentlayout.h"
|
||||
#include "QtCore/qbasictimer.h"
|
||||
#include "QtCore/qpointer.h"
|
||||
#include "private/qobject_p.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QMimeData;
|
||||
class QAbstractScrollArea;
|
||||
class QInputContext;
|
||||
|
||||
class QTextControlPrivate : public QObjectPrivate
|
||||
{
|
||||
Q_DECLARE_PUBLIC(QTextControl)
|
||||
public:
|
||||
QTextControlPrivate();
|
||||
|
||||
bool cursorMoveKeyEvent(QKeyEvent *e);
|
||||
|
||||
void updateCurrentCharFormat();
|
||||
|
||||
void indent();
|
||||
void outdent();
|
||||
|
||||
void gotoNextTableCell();
|
||||
void gotoPreviousTableCell();
|
||||
|
||||
void createAutoBulletList();
|
||||
|
||||
void init(Qt::TextFormat format = Qt::RichText, const QString &text = QString(),
|
||||
QTextDocument *document = 0);
|
||||
void setContent(Qt::TextFormat format = Qt::RichText, const QString &text = QString(),
|
||||
QTextDocument *document = 0);
|
||||
void startDrag();
|
||||
|
||||
void paste(const QMimeData *source);
|
||||
|
||||
void setCursorPosition(const QPointF &pos);
|
||||
void setCursorPosition(int pos, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor);
|
||||
|
||||
void repaintCursor();
|
||||
inline void repaintSelection()
|
||||
{ repaintOldAndNewSelection(QTextCursor()); }
|
||||
void repaintOldAndNewSelection(const QTextCursor &oldSelection);
|
||||
|
||||
void selectionChanged(bool forceEmitSelectionChanged = false);
|
||||
|
||||
void _q_updateCurrentCharFormatAndSelection();
|
||||
|
||||
#ifndef QT_NO_CLIPBOARD
|
||||
void setClipboardSelection();
|
||||
#endif
|
||||
|
||||
void _q_emitCursorPosChanged(const QTextCursor &someCursor);
|
||||
|
||||
void setBlinkingCursorEnabled(bool enable);
|
||||
|
||||
void extendWordwiseSelection(int suggestedNewPosition, qreal mouseXPosition);
|
||||
void extendBlockwiseSelection(int suggestedNewPosition);
|
||||
|
||||
void _q_deleteSelected();
|
||||
|
||||
void _q_setCursorAfterUndoRedo(int undoPosition, int charsAdded, int charsRemoved);
|
||||
|
||||
QRectF cursorRectPlusUnicodeDirectionMarkers(const QTextCursor &cursor) const;
|
||||
QRectF rectForPosition(int position) const;
|
||||
QRectF selectionRect(const QTextCursor &cursor) const;
|
||||
inline QRectF selectionRect() const
|
||||
{ return selectionRect(this->cursor); }
|
||||
|
||||
QString anchorForCursor(const QTextCursor &anchor) const;
|
||||
|
||||
void keyPressEvent(QKeyEvent *e);
|
||||
void mousePressEvent(QEvent *e, Qt::MouseButton button, const QPointF &pos,
|
||||
Qt::KeyboardModifiers modifiers,
|
||||
Qt::MouseButtons buttons,
|
||||
const QPoint &globalPos);
|
||||
void mouseMoveEvent(QEvent *e, Qt::MouseButton button, const QPointF &pos,
|
||||
Qt::KeyboardModifiers modifiers,
|
||||
Qt::MouseButtons buttons,
|
||||
const QPoint &globalPos);
|
||||
void mouseReleaseEvent(QEvent *e, Qt::MouseButton button, const QPointF &pos,
|
||||
Qt::KeyboardModifiers modifiers,
|
||||
Qt::MouseButtons buttons,
|
||||
const QPoint &globalPos);
|
||||
void mouseDoubleClickEvent(QEvent *e, Qt::MouseButton button, const QPointF &pos,
|
||||
Qt::KeyboardModifiers modifiers,
|
||||
Qt::MouseButtons buttons,
|
||||
const QPoint &globalPos);
|
||||
bool sendMouseEventToInputContext(QEvent *e, QEvent::Type eventType, Qt::MouseButton button,
|
||||
const QPointF &pos,
|
||||
Qt::KeyboardModifiers modifiers,
|
||||
Qt::MouseButtons buttons,
|
||||
const QPoint &globalPos);
|
||||
void contextMenuEvent(const QPoint &screenPos, const QPointF &docPos, QWidget *contextWidget);
|
||||
void focusEvent(QFocusEvent *e);
|
||||
#ifdef QT_KEYPAD_NAVIGATION
|
||||
void editFocusEvent(QEvent *e);
|
||||
#endif
|
||||
bool dragEnterEvent(QEvent *e, const QMimeData *mimeData);
|
||||
void dragLeaveEvent();
|
||||
bool dragMoveEvent(QEvent *e, const QMimeData *mimeData, const QPointF &pos);
|
||||
bool dropEvent(const QMimeData *mimeData, const QPointF &pos, Qt::DropAction dropAction, QObject *source);
|
||||
|
||||
void inputMethodEvent(QInputMethodEvent *);
|
||||
|
||||
void activateLinkUnderCursor(QString href = QString());
|
||||
|
||||
void append(const QString &text, Qt::TextFormat format = Qt::AutoText);
|
||||
|
||||
QInputContext *inputContext();
|
||||
|
||||
QTextDocument *doc;
|
||||
bool cursorOn;
|
||||
QTextCursor cursor;
|
||||
bool cursorIsFocusIndicator;
|
||||
QTextCharFormat lastCharFormat;
|
||||
|
||||
QTextCursor dndFeedbackCursor;
|
||||
|
||||
Qt::TextInteractionFlags interactionFlags;
|
||||
|
||||
QBasicTimer cursorBlinkTimer;
|
||||
QBasicTimer trippleClickTimer;
|
||||
QPointF trippleClickPoint;
|
||||
|
||||
bool dragEnabled;
|
||||
|
||||
bool mousePressed;
|
||||
|
||||
bool mightStartDrag;
|
||||
QPoint dragStartPos;
|
||||
QPointer<QObject> contextObject;
|
||||
|
||||
bool lastSelectionState;
|
||||
|
||||
bool ignoreAutomaticScrollbarAdjustement;
|
||||
|
||||
QTextCursor selectedWordOnDoubleClick;
|
||||
QTextCursor selectedBlockOnTrippleClick;
|
||||
|
||||
bool overwriteMode;
|
||||
bool acceptRichText;
|
||||
|
||||
int preeditCursor;
|
||||
bool hideCursor; // used to hide the cursor in the preedit area
|
||||
|
||||
QVector<QAbstractTextDocumentLayout::Selection> extraSelections;
|
||||
|
||||
QPalette palette;
|
||||
bool hasFocus;
|
||||
#ifdef QT_KEYPAD_NAVIGATION
|
||||
bool hasEditFocus;
|
||||
#endif
|
||||
bool isEnabled;
|
||||
|
||||
QString highlightedAnchor; // Anchor below cursor
|
||||
QString anchorOnMousePress;
|
||||
bool hadSelectionOnMousePress;
|
||||
|
||||
bool ignoreUnusedNavigationEvents;
|
||||
bool openExternalLinks;
|
||||
|
||||
bool wordSelectionEnabled;
|
||||
|
||||
QString linkToCopy;
|
||||
void _q_copyLink();
|
||||
void _q_updateBlock(const QTextBlock &);
|
||||
void _q_documentLayoutChanged();
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // QTextControl_P_H
|
@ -228,6 +228,7 @@ public:
|
||||
|
||||
private:
|
||||
QSharedDataPointer<QTextCursorPrivate> d;
|
||||
friend class QTextCursorPrivate;
|
||||
friend class QTextDocumentFragmentPrivate;
|
||||
friend class QTextCopyHelper;
|
||||
friend class QWidgetTextControlPrivate;
|
||||
|
@ -68,6 +68,8 @@ public:
|
||||
QTextCursorPrivate(const QTextCursorPrivate &rhs);
|
||||
~QTextCursorPrivate();
|
||||
|
||||
static inline QTextCursorPrivate *getPrivate(QTextCursor *c) { return c->d; }
|
||||
|
||||
enum AdjustResult { CursorMoved, CursorUnchanged };
|
||||
AdjustResult adjustPosition(int positionOfChange, int charsAddedOrRemoved, QTextUndoCommand::Operation op);
|
||||
|
||||
|
@ -22,7 +22,9 @@ HEADERS += \
|
||||
text/qtexthtmlparser_p.h \
|
||||
text/qabstracttextdocumentlayout.h \
|
||||
text/qtextdocumentlayout_p.h \
|
||||
text/qtextcursor.h \
|
||||
text/qtextcontrol_p.h \
|
||||
text/qtextcontrol_p_p.h \
|
||||
text/qtextcursor.h \
|
||||
text/qtextcursor_p.h \
|
||||
text/qtextdocumentfragment.h \
|
||||
text/qtextdocumentfragment_p.h \
|
||||
@ -50,6 +52,7 @@ SOURCES += \
|
||||
text/qfontsubset.cpp \
|
||||
text/qfontmetrics.cpp \
|
||||
text/qfontdatabase.cpp \
|
||||
text/qtextcontrol.cpp \
|
||||
text/qtextengine.cpp \
|
||||
text/qtextlayout.cpp \
|
||||
text/qtextformat.cpp \
|
||||
|
Loading…
x
Reference in New Issue
Block a user