/****************************************************************************+ −
**+ −
** Copyright (C) 2010 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$+ −
** No Commercial Usage+ −
** This file contains pre-release code and may not be distributed.+ −
** You may use this file in accordance with the terms and conditions+ −
** contained in the Technology Preview License Agreement accompanying+ −
** this package.+ −
**+ −
** GNU Lesser General Public License Usage+ −
** Alternatively, 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.+ −
**+ −
** If you have questions regarding the use of this file, please contact+ −
** Nokia at qt-info@nokia.com.+ −
**+ −
**+ −
**+ −
**+ −
**+ −
**+ −
**+ −
**+ −
** $QT_END_LICENSE$+ −
**+ −
****************************************************************************/+ −
+ −
#ifndef QTEXTOPTION_H+ −
#define QTEXTOPTION_H+ −
+ −
#include <QtCore/qnamespace.h>+ −
#include <QtCore/qchar.h>+ −
#include <QtCore/qmetatype.h>+ −
+ −
+ −
QT_BEGIN_HEADER+ −
+ −
QT_BEGIN_NAMESPACE+ −
+ −
QT_MODULE(Gui)+ −
+ −
template <typename T> class QList;+ −
struct QTextOptionPrivate;+ −
+ −
class Q_GUI_EXPORT QTextOption+ −
{+ −
public:+ −
enum TabType {+ −
LeftTab,+ −
RightTab,+ −
CenterTab,+ −
DelimiterTab+ −
};+ −
+ −
struct Q_GUI_EXPORT Tab {+ −
inline Tab() : position(80), type(QTextOption::LeftTab) { }+ −
+ −
inline bool operator==(const Tab &other) const {+ −
return type == other.type+ −
&& qFuzzyCompare(position, other.position)+ −
&& delimiter == other.delimiter;+ −
}+ −
+ −
inline bool operator!=(const Tab &other) const {+ −
return !operator==(other);+ −
}+ −
+ −
qreal position;+ −
TabType type;+ −
QChar delimiter;+ −
};+ −
+ −
QTextOption();+ −
QTextOption(Qt::Alignment alignment);+ −
~QTextOption();+ −
+ −
QTextOption(const QTextOption &o);+ −
QTextOption &operator=(const QTextOption &o);+ −
+ −
inline void setAlignment(Qt::Alignment alignment);+ −
inline Qt::Alignment alignment() const { return Qt::Alignment(align); }+ −
+ −
inline void setTextDirection(Qt::LayoutDirection aDirection) { this->direction = aDirection; }+ −
inline Qt::LayoutDirection textDirection() const { return Qt::LayoutDirection(direction); }+ −
+ −
enum WrapMode {+ −
NoWrap,+ −
WordWrap,+ −
ManualWrap,+ −
WrapAnywhere,+ −
WrapAtWordBoundaryOrAnywhere+ −
};+ −
inline void setWrapMode(WrapMode wrap) { wordWrap = wrap; }+ −
inline WrapMode wrapMode() const { return static_cast<WrapMode>(wordWrap); }+ −
+ −
enum Flag {+ −
ShowTabsAndSpaces = 0x1,+ −
ShowLineAndParagraphSeparators = 0x2,+ −
AddSpaceForLineAndParagraphSeparators = 0x4,+ −
SuppressColors = 0x8,+ −
IncludeTrailingSpaces = 0x80000000+ −
};+ −
Q_DECLARE_FLAGS(Flags, Flag)+ −
inline void setFlags(Flags flags);+ −
inline Flags flags() const { return Flags(f); }+ −
+ −
inline void setTabStop(qreal tabStop);+ −
inline qreal tabStop() const { return tab; }+ −
+ −
void setTabArray(QList<qreal> tabStops);+ −
QList<qreal> tabArray() const;+ −
+ −
void setTabs(QList<Tab> tabStops);+ −
QList<Tab> tabs() const;+ −
+ −
void setUseDesignMetrics(bool b) { design = b; }+ −
bool useDesignMetrics() const { return design; }+ −
+ −
private:+ −
uint align : 8;+ −
uint wordWrap : 4;+ −
uint design : 1;+ −
uint direction : 1;+ −
uint unused : 19;+ −
uint f;+ −
qreal tab;+ −
QTextOptionPrivate *d;+ −
};+ −
+ −
Q_DECLARE_OPERATORS_FOR_FLAGS(QTextOption::Flags)+ −
+ −
inline void QTextOption::setAlignment(Qt::Alignment aalignment)+ −
{ align = aalignment; }+ −
+ −
inline void QTextOption::setFlags(Flags aflags)+ −
{ f = aflags; }+ −
+ −
inline void QTextOption::setTabStop(qreal atabStop)+ −
{ tab = atabStop; }+ −
+ −
QT_END_NAMESPACE+ −
+ −
Q_DECLARE_METATYPE( QTextOption::Tab )+ −
+ −
QT_END_HEADER+ −
+ −
#endif // QTEXTOPTION_H+ −