⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qtextobject.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.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 GNU** General Public Licensing requirements will be met:** http://trolltech.com/products/qt/licenses/licensing/opensource/**** If you are unsure which license is appropriate for your use, please** review the following information:** http://trolltech.com/products/qt/licenses/licensing/licensingoverview** or contact the sales department at sales@trolltech.com.**** In addition, as a special exception, Trolltech gives you certain** additional rights. These rights are described in the Trolltech GPL** Exception version 1.0, which can be found at** http://www.trolltech.com/products/qt/gplexception/ and in the file** GPL_EXCEPTION.txt in this package.**** In addition, as a special exception, Trolltech, as the sole copyright** holder for Qt Designer, grants users of the Qt/Eclipse Integration** plug-in the right for the Qt/Eclipse Integration to link to** functionality provided by Qt Designer and its related libraries.**** Trolltech reserves all rights not expressly granted herein.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QTEXTOBJECT_H#define QTEXTOBJECT_H#include <QtCore/qobject.h>#include <QtGui/qtextformat.h>QT_BEGIN_HEADERQT_MODULE(Gui)class QTextObjectPrivate;class QTextDocument;class QTextDocumentPrivate;class QTextCursor;class QTextBlock;class QTextFragment;class QTextLayout;class QTextList;class Q_GUI_EXPORT QTextObject : public QObject{    Q_OBJECTprotected:    explicit QTextObject(QTextDocument *doc);    ~QTextObject();    void setFormat(const QTextFormat &format);public:    QTextFormat format() const;    int formatIndex() const;    QTextDocument *document() const;    int objectIndex() const;    QTextDocumentPrivate *docHandle() const;protected:    QTextObject(QTextObjectPrivate &p, QTextDocument *doc);private:    Q_DECLARE_PRIVATE(QTextObject)    Q_DISABLE_COPY(QTextObject)    friend class QTextDocumentPrivate;};class QTextBlockGroupPrivate;class Q_GUI_EXPORT QTextBlockGroup : public QTextObject{    Q_OBJECTprotected:    explicit QTextBlockGroup(QTextDocument *doc);    ~QTextBlockGroup();    virtual void blockInserted(const QTextBlock &block);    virtual void blockRemoved(const QTextBlock &block);    virtual void blockFormatChanged(const QTextBlock &block);    QList<QTextBlock> blockList() const;protected:    QTextBlockGroup(QTextBlockGroupPrivate &p, QTextDocument *doc);private:    Q_DECLARE_PRIVATE(QTextBlockGroup)    Q_DISABLE_COPY(QTextBlockGroup)    friend class QTextDocumentPrivate;};class Q_GUI_EXPORT QTextFrameLayoutData {public:    virtual ~QTextFrameLayoutData();};class QTextFramePrivate;class Q_GUI_EXPORT QTextFrame : public QTextObject{    Q_OBJECTpublic:    explicit QTextFrame(QTextDocument *doc);    ~QTextFrame();    inline void setFrameFormat(const QTextFrameFormat &format);    QTextFrameFormat frameFormat() const { return QTextObject::format().toFrameFormat(); }    QTextCursor firstCursorPosition() const;    QTextCursor lastCursorPosition() const;    int firstPosition() const;    int lastPosition() const;    QTextFrameLayoutData *layoutData() const;    void setLayoutData(QTextFrameLayoutData *data);    QList<QTextFrame *> childFrames() const;    QTextFrame *parentFrame() const;    class Q_GUI_EXPORT iterator {        QTextFrame *f;        int b;        int e;        QTextFrame *cf;        int cb;        friend class QTextFrame;        friend class QTextTableCell;        friend class QTextDocumentLayoutPrivate;        iterator(QTextFrame *frame, int block, int begin, int end);    public:        iterator();        iterator(const iterator &o);        iterator &operator=(const iterator &o);        QTextFrame *parentFrame() const { return f; }        QTextFrame *currentFrame() const;        QTextBlock currentBlock() const;        bool atEnd() const { return !cf && cb == e; }        inline bool operator==(const iterator &o) const { return f == o.f && cf == o.cf && cb == o.cb; }        inline bool operator!=(const iterator &o) const { return f != o.f || cf != o.cf || cb != o.cb; }        iterator &operator++();        inline iterator operator++(int) { iterator tmp = *this; operator++(); return tmp; }        iterator &operator--();        inline iterator operator--(int) { iterator tmp = *this; operator--(); return tmp; }    };    // more Qt    typedef iterator Iterator;    iterator begin() const;    iterator end() const;protected:    QTextFrame(QTextFramePrivate &p, QTextDocument *doc);private:    friend class QTextDocumentPrivate;    Q_DECLARE_PRIVATE(QTextFrame)    Q_DISABLE_COPY(QTextFrame)};Q_DECLARE_TYPEINFO(QTextFrame::iterator, Q_MOVABLE_TYPE);inline void QTextFrame::setFrameFormat(const QTextFrameFormat &aformat){ QTextObject::setFormat(aformat); }class Q_GUI_EXPORT QTextBlockUserData {public:    virtual ~QTextBlockUserData();};class Q_GUI_EXPORT QTextBlock{    friend class QSyntaxHighlighter;public:    inline QTextBlock(QTextDocumentPrivate *priv, int b) : p(priv), n(b) {}    inline QTextBlock() : p(0), n(0) {}    inline QTextBlock(const QTextBlock &o) : p(o.p), n(o.n) {}    inline QTextBlock &operator=(const QTextBlock &o) { p = o.p; n = o.n; return *this; }    inline bool isValid() const { return p != 0 && n != 0; }    inline bool operator==(const QTextBlock &o) const { return p == o.p && n == o.n; }    inline bool operator!=(const QTextBlock &o) const { return p != o.p || n != o.n; }    inline bool operator<(const QTextBlock &o) const { return position() < o.position(); }    int position() const;    int length() const;    bool contains(int position) const;    QTextLayout *layout() const;    QTextBlockFormat blockFormat() const;    int blockFormatIndex() const;    QTextCharFormat charFormat() const;    int charFormatIndex() const;    QString text() const;    const QTextDocument *document() const;    QTextList *textList() const;    QTextBlockUserData *userData() const;    void setUserData(QTextBlockUserData *data);    int userState() const;    void setUserState(int state);    class Q_GUI_EXPORT iterator {        const QTextDocumentPrivate *p;        int b;        int e;        int n;        friend class QTextBlock;        iterator(const QTextDocumentPrivate *priv, int begin, int end, int f) : p(priv), b(begin), e(end), n(f) {}    public:        iterator() : p(0), b(0), e(0), n(0) {}        iterator(const iterator &o) : p(o.p), b(o.b), e(o.e), n(o.n) {}        QTextFragment fragment() const;        bool atEnd() const { return n == e; }        inline bool operator==(const iterator &o) const { return p == o.p && n == o.n; }        inline bool operator!=(const iterator &o) const { return p != o.p || n != o.n; }        iterator &operator++();        inline iterator operator++(int) { iterator tmp = *this; operator++(); return tmp; }        iterator &operator--();        inline iterator operator--(int) { iterator tmp = *this; operator--(); return tmp; }    };    // more Qt    typedef iterator Iterator;    iterator begin() const;    iterator end() const;    QTextBlock next() const;    QTextBlock previous() const;    inline QTextDocumentPrivate *docHandle() const { return p; }private:    QTextDocumentPrivate *p;    int n;    friend class QTextDocumentPrivate;    friend class QTextLayout;};Q_DECLARE_TYPEINFO(QTextBlock, Q_MOVABLE_TYPE);Q_DECLARE_TYPEINFO(QTextBlock::iterator, Q_MOVABLE_TYPE);class Q_GUI_EXPORT QTextFragment{public:    inline QTextFragment(const QTextDocumentPrivate *priv, int f, int fe) : p(priv), n(f), ne(fe) {}    inline QTextFragment() : p(0), n(0), ne(0) {}    inline QTextFragment(const QTextFragment &o) : p(o.p), n(o.n), ne(o.ne) {}    inline QTextFragment &operator=(const QTextFragment &o) { p = o.p; n = o.n; ne = o.ne; return *this; }    inline bool isValid() const { return p && n; }    inline bool operator==(const QTextFragment &o) const { return p == o.p && n == o.n; }    inline bool operator!=(const QTextFragment &o) const { return p != o.p || n != o.n; }    inline bool operator<(const QTextFragment &o) const { return position() < o.position(); }    int position() const;    int length() const;    bool contains(int position) const;    QTextCharFormat charFormat() const;    int charFormatIndex() const;    QString text() const;private:    const QTextDocumentPrivate *p;    int n;    int ne;};Q_DECLARE_TYPEINFO(QTextFragment, Q_MOVABLE_TYPE);QT_END_HEADER#endif // QTEXTOBJECT_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -