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

📄 qtextformat.h

📁 奇趣公司比较新的qt/emd版本
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************** 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 QTEXTFORMAT_H#define QTEXTFORMAT_H#include <QtGui/qcolor.h>#include <QtGui/qfont.h>#include <QtCore/qshareddata.h>#include <QtCore/qvector.h>#include <QtCore/qvariant.h>#include <QtGui/qpen.h>#include <QtGui/qbrush.h>QT_BEGIN_HEADERQT_MODULE(Gui)class QString;class QVariant;class QFont;class QTextFormatCollection;class QTextFormatPrivate;class QTextBlockFormat;class QTextCharFormat;class QTextListFormat;class QTextTableFormat;class QTextFrameFormat;class QTextImageFormat;class QTextFormat;class QTextObject;class QTextCursor;class QTextDocument;class QTextLength;Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QTextLength &);Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QTextLength &);class Q_GUI_EXPORT QTextLength{public:    enum Type { VariableLength = 0, FixedLength, PercentageLength };    inline QTextLength() : lengthType(VariableLength), fixedValueOrPercentage(0) {}    inline explicit QTextLength(Type type, qreal value);    inline Type type() const { return lengthType; }    inline qreal value(qreal maximumLength) const    {        switch (lengthType) {            case FixedLength: return fixedValueOrPercentage;            case VariableLength: return maximumLength;            case PercentageLength: return fixedValueOrPercentage * maximumLength / qreal(100);        }        return -1;    }    inline qreal rawValue() const { return fixedValueOrPercentage; }    inline bool operator==(const QTextLength &other) const    { return lengthType == other.lengthType             && qFuzzyCompare(fixedValueOrPercentage, other.fixedValueOrPercentage); }    inline bool operator!=(const QTextLength &other) const    { return lengthType != other.lengthType             || !qFuzzyCompare(fixedValueOrPercentage, other.fixedValueOrPercentage); }    operator QVariant() const;private:    Type lengthType;    qreal fixedValueOrPercentage;    friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QTextLength &);    friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QTextLength &);};inline QTextLength::QTextLength(Type atype, qreal avalue)    : lengthType(atype), fixedValueOrPercentage(avalue) {}Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QTextFormat &);Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QTextFormat &);class Q_GUI_EXPORT QTextFormat{    Q_GADGET    Q_ENUMS(FormatType Property ObjectTypes)public:    enum FormatType {        InvalidFormat = -1,        BlockFormat = 1,        CharFormat = 2,        ListFormat = 3,        TableFormat = 4,        FrameFormat = 5,        UserFormat = 100    };    enum Property {        ObjectIndex = 0x0,        // paragraph and char        CssFloat = 0x0800,        LayoutDirection = 0x0801,        OutlinePen = 0x810,        BackgroundBrush = 0x820,        ForegroundBrush = 0x821,        // Internal to qtextlayout.cpp: ObjectSelectionBrush = 0x822        // paragraph        BlockAlignment = 0x1010,        BlockTopMargin = 0x1030,        BlockBottomMargin = 0x1031,        BlockLeftMargin = 0x1032,        BlockRightMargin = 0x1033,        TextIndent = 0x1034,        BlockIndent = 0x1040,        BlockNonBreakableLines = 0x1050,        BlockTrailingHorizontalRulerWidth = 0x1060,        // character properties        FontFamily = 0x2000,        FontPointSize = 0x2001,        FontSizeAdjustment = 0x2002,        FontSizeIncrement = FontSizeAdjustment, // old name, compat        FontWeight = 0x2003,        FontItalic = 0x2004,        FontUnderline = 0x2005, // deprecated, use TextUnderlineStyle instead        FontOverline = 0x2006,        FontStrikeOut = 0x2007,        FontFixedPitch = 0x2008,        FontPixelSize = 0x2009,        TextUnderlineColor = 0x2010,        TextVerticalAlignment = 0x2021,        TextOutline = 0x2022,        TextUnderlineStyle = 0x2023,        TextToolTip = 0x2024,        IsAnchor = 0x2030,        AnchorHref = 0x2031,        AnchorName = 0x2032,        ObjectType = 0x2f00,        // list properties        ListStyle = 0x3000,        ListIndent = 0x3001,        // table and frame properties        FrameBorder = 0x4000,        FrameMargin = 0x4001,        FramePadding = 0x4002,        FrameWidth = 0x4003,        FrameHeight = 0x4004,        FrameTopMargin    = 0x4005,        FrameBottomMargin = 0x4006,        FrameLeftMargin   = 0x4007,        FrameRightMargin  = 0x4008,        FrameBorderBrush = 0x4009,        FrameBorderStyle = 0x4010,        TableColumns = 0x4100,        TableColumnWidthConstraints = 0x4101,        TableCellSpacing = 0x4102,        TableCellPadding = 0x4103,        TableHeaderRowCount = 0x4104,        // table cell properties        TableCellRowSpan = 0x4810,        TableCellColumnSpan = 0x4811,        // image properties        ImageName = 0x5000,        ImageWidth = 0x5010,        ImageHeight = 0x5011,        // selection properties        FullWidthSelection = 0x06000,        // page break properties        PageBreakPolicy = 0x7000,        // --        UserProperty = 0x100000    };    enum ObjectTypes {        NoObject,        ImageObject,        TableObject,        UserObject = 0x1000    };    enum PageBreakFlag {        PageBreak_Auto = 0,        PageBreak_AlwaysBefore = 0x001,        PageBreak_AlwaysAfter  = 0x010        // PageBreak_AlwaysInside = 0x100    };    Q_DECLARE_FLAGS(PageBreakFlags, PageBreakFlag)    QTextFormat();    explicit QTextFormat(int type);    QTextFormat(const QTextFormat &rhs);    QTextFormat &operator=(const QTextFormat &rhs);    ~QTextFormat();    void merge(const QTextFormat &other);    inline bool isValid() const { return type() != InvalidFormat; }    int type() const;    int objectIndex() const;    void setObjectIndex(int object);    QVariant property(int propertyId) const;    void setProperty(int propertyId, const QVariant &value);    void clearProperty(int propertyId);    bool hasProperty(int propertyId) const;    bool boolProperty(int propertyId) const;    int intProperty(int propertyId) const;    qreal doubleProperty(int propertyId) const;    QString stringProperty(int propertyId) const;    QColor colorProperty(int propertyId) const;    QPen penProperty(int propertyId) const;    QBrush brushProperty(int propertyId) const;    QTextLength lengthProperty(int propertyId) const;    QVector<QTextLength> lengthVectorProperty(int propertyId) const;    void setProperty(int propertyId, const QVector<QTextLength> &lengths);    QMap<int, QVariant> properties() const;    int propertyCount() const;    inline void setObjectType(int type);    inline int objectType() const    { return intProperty(ObjectType); }    inline bool isCharFormat() const { return type() == CharFormat; }    inline bool isBlockFormat() const { return type() == BlockFormat; }    inline bool isListFormat() const { return type() == ListFormat; }    inline bool isFrameFormat() const { return type() == FrameFormat; }    inline bool isImageFormat() const { return type() == CharFormat && objectType() == ImageObject; }    inline bool isTableFormat() const { return type() == FrameFormat && objectType() == TableObject; }    QTextBlockFormat toBlockFormat() const;    QTextCharFormat toCharFormat() const;    QTextListFormat toListFormat() const;    QTextTableFormat toTableFormat() const;    QTextFrameFormat toFrameFormat() const;    QTextImageFormat toImageFormat() const;    bool operator==(const QTextFormat &rhs) const;    inline bool operator!=(const QTextFormat &rhs) const { return !operator==(rhs); }    operator QVariant() const;    inline void setLayoutDirection(Qt::LayoutDirection direction)        { setProperty(QTextFormat::LayoutDirection, direction); }    inline Qt::LayoutDirection layoutDirection() const        { return Qt::LayoutDirection(intProperty(QTextFormat::LayoutDirection)); }    inline void setBackground(const QBrush &brush)    { setProperty(BackgroundBrush, brush); }    inline QBrush background() const    { return brushProperty(BackgroundBrush); }    inline void clearBackground()    { clearProperty(BackgroundBrush); }    inline void setForeground(const QBrush &brush)    { setProperty(ForegroundBrush, brush); }    inline QBrush foreground() const    { return brushProperty(ForegroundBrush); }    inline void clearForeground()    { clearProperty(ForegroundBrush); }private:    QSharedDataPointer<QTextFormatPrivate> d;    qint32 format_type;    friend class QTextFormatCollection;    friend class QTextCharFormat;    friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QTextFormat &);    friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QTextFormat &);};inline void QTextFormat::setObjectType(int atype){ setProperty(ObjectType, atype); }Q_DECLARE_OPERATORS_FOR_FLAGS(QTextFormat::PageBreakFlags)class Q_GUI_EXPORT QTextCharFormat : public QTextFormat{public:    enum VerticalAlignment {        AlignNormal = 0,        AlignSuperScript,        AlignSubScript,        AlignMiddle,        AlignTop,        AlignBottom    };    enum UnderlineStyle { // keep in sync with Qt::PenStyle!        NoUnderline,        SingleUnderline,        DashUnderline,        DotLine,        DashDotLine,        DashDotDotLine,        WaveUnderline,        SpellCheckUnderline    };    QTextCharFormat();    bool isValid() const { return isCharFormat(); }    void setFont(const QFont &font);    QFont font() const;    inline void setFontFamily(const QString &family)    { setProperty(FontFamily, family); }    inline QString fontFamily() const    { return stringProperty(FontFamily); }    inline void setFontPointSize(qreal size)    { setProperty(FontPointSize, size); }    inline qreal fontPointSize() const    { return doubleProperty(FontPointSize); }    inline void setFontWeight(int weight)    { if (weight == QFont::Normal) weight = 0; setProperty(FontWeight, weight); }    inline int fontWeight() const    { int weight = intProperty(FontWeight); if (weight == 0) weight = QFont::Normal; return weight; }    inline void setFontItalic(bool italic)

⌨️ 快捷键说明

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