Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qtextoption.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#include "qtextoption.h"
5#include "qguiapplication.h"
6#include "qlist.h"
7
9
11
13{
14 QList<QTextOption::Tab> tabStops;
15};
16
24 : QTextOption(Qt::AlignLeft)
25{
26 direction = Qt::LayoutDirectionAuto;
27}
28
35 : align(alignment),
36 wordWrap(QTextOption::WordWrap),
37 design(false),
38 unused(0),
39 f(0),
40 tab(-1),
41 d(nullptr)
42{
44}
45
50{
51 delete d;
52}
53
60 : align(o.align),
61 wordWrap(o.wordWrap),
62 design(o.design),
64 unused(o.unused),
65 f(o.f),
66 tab(o.tab),
67 d(nullptr)
68{
69 if (o.d)
70 d = new QTextOptionPrivate(*o.d);
71}
72
80{
81 if (this == &o)
82 return *this;
83
84 QTextOptionPrivate* dNew = nullptr;
85 if (o.d)
86 dNew = new QTextOptionPrivate(*o.d);
87 delete d;
88 d = dNew;
89
90 align = o.align;
91 wordWrap = o.wordWrap;
92 design = o.design;
93 direction = o.direction;
94 unused = o.unused;
95 f = o.f;
96 tab = o.tab;
97 return *this;
98}
99
106void QTextOption::setTabArray(const QList<qreal> &tabStops)
107{
108 if (!d)
109 d = new QTextOptionPrivate;
110 QList<QTextOption::Tab> tabs;
112 tabs.reserve(tabStops.size());
113 for (qreal pos : tabStops) {
114 tab.position = pos;
115 tabs.append(tab);
116 }
117 d->tabStops = tabs;
118}
119
127void QTextOption::setTabs(const QList<QTextOption::Tab> &tabStops)
128{
129 if (!d)
130 d = new QTextOptionPrivate;
131 d->tabStops = tabStops;
132}
133
139QList<qreal> QTextOption::tabArray() const
140{
141 QList<qreal> answer;
142 if (!d)
143 return answer;
144
145 answer.reserve(d->tabStops.size());
147 while(iter != d->tabStops.constEnd()) {
148 answer.append( (*iter).position);
149 ++iter;
150 }
151 return answer;
152}
153
154
155QList<QTextOption::Tab> QTextOption::tabs() const
156{
157 if (!d)
158 return QList<QTextOption::Tab>();
159 return d->tabStops;
160}
161
Qt::LayoutDirection layoutDirection
the default layout direction for this application
qsizetype size() const noexcept
Definition qlist.h:397
const_iterator constBegin() const noexcept
Definition qlist.h:632
void reserve(qsizetype size)
Definition qlist.h:753
const_iterator constEnd() const noexcept
Definition qlist.h:633
\reentrant
Definition qtextoption.h:18
~QTextOption()
Destroys the text option.
QTextOption & operator=(const QTextOption &o)
Returns true if the text option is the same as the other text option; otherwise returns false.
void setTabs(const QList< Tab > &tabStops)
void setTabArray(const QList< qreal > &tabStops)
Sets the tab positions for the text layout to those specified by tabStops.
QList< qreal > tabArray() const
Returns a list of tab positions defined for the text layout.
QTextOption()
Constructs a text option with default properties for text.
QList< Tab > tabs() const
uint alignment
direction
Combined button and popup list for selecting options.
Definition qcompare.h:63
@ LayoutDirectionAuto
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter * iter
#define QT_IMPL_METATYPE_EXTERN_TAGGED(TYPE, TAG)
Definition qmetatype.h:1384
GLfloat GLfloat f
double qreal
Definition qtypes.h:187
QObject::connect nullptr
QList< QTextOption::Tab > tabStops