Qt 4.8
qtextoption.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the QtGui module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 
42 #ifndef QTEXTOPTION_H
43 #define QTEXTOPTION_H
44 
45 #include <QtCore/qnamespace.h>
46 #include <QtCore/qchar.h>
47 #include <QtCore/qmetatype.h>
48 
49 
51 
53 
54 QT_MODULE(Gui)
55 
56 template <typename T> class QList;
57 struct QTextOptionPrivate;
58 
60 {
61 public:
62  enum TabType {
66  DelimiterTab
67  };
68 
69  struct Q_GUI_EXPORT Tab {
70  inline Tab() : position(80), type(QTextOption::LeftTab) { }
71  inline Tab(qreal pos, TabType tabType, QChar delim = QChar())
72  : position(pos), type(tabType), delimiter(delim) {}
73 
74  inline bool operator==(const Tab &other) const {
75  return type == other.type
77  && delimiter == other.delimiter;
78  }
79 
80  inline bool operator!=(const Tab &other) const {
81  return !operator==(other);
82  }
83 
87  };
88 
89  QTextOption();
90  QTextOption(Qt::Alignment alignment);
91  ~QTextOption();
92 
93  QTextOption(const QTextOption &o);
94  QTextOption &operator=(const QTextOption &o);
95 
96  inline void setAlignment(Qt::Alignment alignment);
97  inline Qt::Alignment alignment() const { return Qt::Alignment(align); }
98 
99  inline void setTextDirection(Qt::LayoutDirection aDirection) { this->direction = aDirection; }
101 
102  enum WrapMode {
107  WrapAtWordBoundaryOrAnywhere
108  };
109  inline void setWrapMode(WrapMode wrap) { wordWrap = wrap; }
110  inline WrapMode wrapMode() const { return static_cast<WrapMode>(wordWrap); }
111 
112  enum Flag {
113  ShowTabsAndSpaces = 0x1,
114  ShowLineAndParagraphSeparators = 0x2,
115  AddSpaceForLineAndParagraphSeparators = 0x4,
116  SuppressColors = 0x8,
117  IncludeTrailingSpaces = 0x80000000
118  };
120  inline void setFlags(Flags flags);
121  inline Flags flags() const { return Flags(f); }
122 
123  inline void setTabStop(qreal tabStop);
124  inline qreal tabStop() const { return tab; }
125 
126  void setTabArray(QList<qreal> tabStops);
127  QList<qreal> tabArray() const;
128 
129  void setTabs(QList<Tab> tabStops);
130  QList<Tab> tabs() const;
131 
132  void setUseDesignMetrics(bool b) { design = b; }
133  bool useDesignMetrics() const { return design; }
134 
135 private:
136  uint align : 8;
140  uint unused : 18;
144 };
145 
147 
148 inline void QTextOption::setAlignment(Qt::Alignment aalignment)
149 { align = aalignment; }
150 
151 inline void QTextOption::setFlags(Flags aflags)
152 { f = aflags; }
153 
154 inline void QTextOption::setTabStop(qreal atabStop)
155 { tab = atabStop; }
156 
158 
160 
162 
163 #endif // QTEXTOPTION_H
int type
Definition: qmetatype.cpp:239
double qreal
Definition: qglobal.h:1193
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
#define QT_MODULE(x)
Definition: qglobal.h:2783
#define QT_BEGIN_HEADER
Definition: qglobal.h:136
#define Q_DECLARE_FLAGS(Flags, Enum)
The Q_DECLARE_FLAGS() macro expands to.
Definition: qglobal.h:2348
#define Q_GUI_EXPORT
Definition: qglobal.h:1450
QTextOptionPrivate * d
Definition: qtextoption.h:143
static qreal position(QGraphicsObject *item, QDeclarativeAnchorLine::AnchorLine anchorLine)
WrapMode
This enum describes how text is wrapped in a document.
Definition: qtextoption.h:102
Flags flags() const
Returns the flags associated with the option.
Definition: qtextoption.h:121
static Q_DECL_CONSTEXPR bool qFuzzyCompare(double p1, double p2)
Definition: qglobal.h:2030
void setFlags(Flags flags)
Sets the flags associated with the option to the given flags.
Definition: qtextoption.h:151
The QChar class provides a 16-bit Unicode character.
Definition: qchar.h:72
qreal tabStop() const
Returns the distance in device units between tab stops.
Definition: qtextoption.h:124
TabType type
Determine which type is used.
Definition: qtextoption.h:85
qreal position
Distance from the start of the paragraph.
Definition: qtextoption.h:84
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
QChar delimiter
If type is DelimitorTab; tab until this char is found in the text.
Definition: qtextoption.h:86
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
The Q_DECLARE_OPERATORS_FOR_FLAGS() macro declares global operator|() functions for Flags...
Definition: qglobal.h:2355
bool operator==(const Tab &other) const
Definition: qtextoption.h:74
LayoutDirection
Definition: qnamespace.h:1580
unsigned int uint
Definition: qglobal.h:996
void setTextDirection(Qt::LayoutDirection aDirection)
Sets the direction of the text layout defined by the option to the given direction.
Definition: qtextoption.h:99
Tab(qreal pos, TabType tabType, QChar delim=QChar())
Definition: qtextoption.h:71
#define Q_DECLARE_METATYPE(TYPE)
This macro makes the type Type known to QMetaType as long as it provides a public default constructor...
Definition: qmetatype.h:265
uint direction
Definition: qtextoption.h:139
Qt::LayoutDirection textDirection() const
Returns the direction of the text layout defined by the option.
Definition: qtextoption.h:100
Definition: qnamespace.h:54
WrapMode wrapMode() const
Returns the text wrap mode defined by the option.
Definition: qtextoption.h:110
The QTextOption class provides a description of general rich text properties.
Definition: qtextoption.h:59
bool useDesignMetrics() const
Returns true if the layout uses design rather than device metrics; otherwise returns false...
Definition: qtextoption.h:133
Qt::Alignment alignment() const
Returns the text alignment defined by the option.
Definition: qtextoption.h:97
void setWrapMode(WrapMode wrap)
Sets the option&#39;s text wrap mode to the given mode.
Definition: qtextoption.h:109
Tab()
Creates a default left tab with position 80.
Definition: qtextoption.h:70
Flags
void setUseDesignMetrics(bool b)
If enable is true then the layout will use design metrics; otherwise it will use the metrics of the p...
Definition: qtextoption.h:132
#define QT_END_HEADER
Definition: qglobal.h:137
bool operator==(QBool b1, bool b2)
Definition: qglobal.h:2023
void setTabStop(qreal tabStop)
Sets the default distance in device units between tab stops to the value specified by tabStop...
Definition: qtextoption.h:154
bool operator!=(const Tab &other) const
Returns true if tab other is not equal to this tab; otherwise returns false.
Definition: qtextoption.h:80
The QList class is a template class that provides lists.
Definition: qdatastream.h:62
Each tab definition is represented by this struct.
Definition: qtextoption.h:69
Qt::LayoutDirection direction