9#include <QtCore/qregularexpression.h>
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
213
214
215
216
219
220
221
222
223
226
227
228
229
230
233
234
235
236
237
240
241
242
243
244
247
248
249
250
251
254
255
256
259
260
261
262
263
264
265
266
267
282
283
284
285
289 while (a && (a
->type() != t || a->string() != s))
295
296
297
300
301
302
309
310
311
318
319
320
323
324
325
328
329
330
331
332
333
334
337 static bool deja =
false;
341 while (atms[i]
.english !=
nullptr) {
343 Location::internalError(QStringLiteral(
"QDoc::Atom: atom %1 missing").arg(i));
349 int i =
static_cast<
int>(
type());
350 if (i < 0 || i >
static_cast<
int>(
Last))
351 return QLatin1String(
"Invalid");
352 return QLatin1String(atms[i]
.english);
356
357
358
359
360
361
364
365
366
375 result += atom->string();
385
386
387
388
389
390
391
398 resolveSquareBracketParams(p2);
402
403
404
407 m_squareBracketParams = text.toLower().split(QLatin1Char(
' '));
408 for (
const auto ¶m : m_squareBracketParams) {
410 m_domain = QDocDatabase::qdocDB()->findTree(param);
416 if (param ==
"qml") {
417 m_genus = Genus::QML;
420 if (param ==
"cpp") {
421 m_genus = Genus::CPP;
424 if (param ==
"doc") {
425 m_genus = Genus::DOC;
428 if (param ==
"api") {
429 m_genus = Genus::API;
437
438
450
451
452
453
467 if (m_squareBracketParams.contains(
"attached"))
#define ATOM_FORMATTING_LINK
The Atom class is the fundamental unit for representing documents internally.
AtomType type() const
Return the type of this atom.
AtomType
\value AnnotatedList \value AutoLink \value BaseName \value BriefLeft \value BriefRight \value C \val...
const Atom * next(AtomType t, const QString &s) const
Return the next Atom in the list if it is of AtomType t and its string part is s.
QString linkText() const
For a link atom, returns the string representing the link text if one exist in the list of atoms.
const Atom * next() const
Return the next atom in the atom list.
const Atom * next(AtomType t) const
Return the next Atom in the list if it is of AtomType t.
const Atom * find(AtomType t, qsizetype *offset=nullptr) const
Starting from this Atom, searches the linked list for the atom of specified type t and returns it.
const Atom * find(AtomType t, const QString &s) const
Starting from this Atom, searches the linked list for the atom of specified type t and string s,...
QString typeString() const
Return the type of this atom as a string.
virtual int flags() const override
LinkAtom(const QString &p1, const QString &p2, Location location=Location())
The only constructor for LinkAtom.
LinkAtom(const LinkAtom &t)
Standard copy constructor of LinkAtom t.
LinkAtom(Atom *previous, const LinkAtom &t)
Special copy constructor of LinkAtom t, where where the new LinkAtom will not be the first one in the...
void resolveSquareBracketParams(const QString &text) override
Resolves the parameters that were enclosed in square brackets, supplied as text, setting the domain a...
The Location class provides a way to mark a location in a file.
Combined button and popup list for selecting options.