summaryrefslogtreecommitdiffstats
path: root/src/qdoc/atom.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/atom.h')
-rw-r--r--src/qdoc/atom.h249
1 files changed, 0 insertions, 249 deletions
diff --git a/src/qdoc/atom.h b/src/qdoc/atom.h
deleted file mode 100644
index 544e8369b..000000000
--- a/src/qdoc/atom.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2021 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the tools applications of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef ATOM_H
-#define ATOM_H
-
-#include "node.h"
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qstringlist.h>
-
-QT_BEGIN_NAMESPACE
-
-class Tree;
-class LinkAtom;
-
-class Atom
-{
-public:
- enum AtomType {
- AnnotatedList,
- AutoLink,
- BaseName,
- BR,
- BriefLeft,
- BriefRight,
- C,
- CaptionLeft,
- CaptionRight,
- Code,
- CodeBad,
- CodeNew,
- CodeOld,
- CodeQuoteArgument,
- CodeQuoteCommand,
- DivLeft,
- DivRight,
- EndQmlText,
- ExampleFileLink,
- ExampleImageLink,
- FootnoteLeft,
- FootnoteRight,
- FormatElse,
- FormatEndif,
- FormatIf,
- FormattingLeft,
- FormattingRight,
- GeneratedList,
- HR,
- Image,
- ImageText,
- ImportantLeft,
- ImportantRight,
- InlineImage,
- JavaScript,
- EndJavaScript,
- Keyword,
- LegaleseLeft,
- LegaleseRight,
- LineBreak,
- Link,
- LinkNode,
- ListLeft,
- ListItemNumber,
- ListTagLeft,
- ListTagRight,
- ListItemLeft,
- ListItemRight,
- ListRight,
- NavAutoLink,
- NavLink,
- Nop,
- NoteLeft,
- NoteRight,
- ParaLeft,
- ParaRight,
- Qml,
- QmlText,
- QuotationLeft,
- QuotationRight,
- RawString,
- SectionLeft,
- SectionRight,
- SectionHeadingLeft,
- SectionHeadingRight,
- SidebarLeft,
- SidebarRight,
- SinceList,
- SinceTagLeft,
- SinceTagRight,
- SnippetCommand,
- SnippetIdentifier,
- SnippetLocation,
- String,
- TableLeft,
- TableRight,
- TableHeaderLeft,
- TableHeaderRight,
- TableRowLeft,
- TableRowRight,
- TableItemLeft,
- TableItemRight,
- TableOfContents,
- Target,
- UnhandledFormat,
- WarningLeft,
- WarningRight,
- UnknownCommand,
- Last = UnknownCommand
- };
-
- friend class LinkAtom;
-
- explicit Atom(AtomType type, const QString &string = "") : m_type(type), m_strs(string) { }
-
- Atom(AtomType type, const QString &p1, const QString &p2) : m_type(type), m_strs(p1)
- {
- if (!p2.isEmpty())
- m_strs << p2;
- }
-
- Atom(Atom *previous, AtomType type, const QString &string)
- : m_next(previous->m_next), m_type(type), m_strs(string)
- {
- previous->m_next = this;
- }
-
- Atom(Atom *previous, AtomType type, const QString &p1, const QString &p2)
- : m_next(previous->m_next), m_type(type), m_strs(p1)
- {
- if (!p2.isEmpty())
- m_strs << p2;
- previous->m_next = this;
- }
-
- virtual ~Atom() = default;
-
- void appendChar(QChar ch) { m_strs[0] += ch; }
- void appendString(const QString &string) { m_strs[0] += string; }
- void chopString() { m_strs[0].chop(1); }
- void setString(const QString &string) { m_strs[0] = string; }
- Atom *next() { return m_next; }
- void setNext(Atom *newNext) { m_next = newNext; }
-
- [[nodiscard]] const Atom *next() const { return m_next; }
- [[nodiscard]] const Atom *next(AtomType t) const;
- [[nodiscard]] const Atom *next(AtomType t, const QString &s) const;
- [[nodiscard]] AtomType type() const { return m_type; }
- [[nodiscard]] QString typeString() const;
- [[nodiscard]] const QString &string() const { return m_strs[0]; }
- [[nodiscard]] const QString &string(int i) const { return m_strs[i]; }
- [[nodiscard]] qsizetype count() const { return m_strs.size(); }
- void dump() const;
- [[nodiscard]] QString linkText() const;
- [[nodiscard]] const QStringList &strings() const { return m_strs; }
-
- [[nodiscard]] virtual bool isLinkAtom() const { return false; }
- virtual Node::Genus genus() { return Node::DontCare; }
- virtual Tree *domain() { return nullptr; }
- virtual const QString &error() { return s_noError; }
- virtual void resolveSquareBracketParams() {}
-
-protected:
- static QString s_noError;
- Atom *m_next = nullptr;
- AtomType m_type {};
- QStringList m_strs {};
-};
-
-class LinkAtom : public Atom
-{
-public:
- LinkAtom(const QString &p1, const QString &p2);
- LinkAtom(const LinkAtom &t);
- LinkAtom(Atom *previous, const LinkAtom &t);
- ~LinkAtom() override = default;
-
- [[nodiscard]] bool isLinkAtom() const override { return true; }
- Node::Genus genus() override
- {
- resolveSquareBracketParams();
- return m_genus;
- }
- Tree *domain() override
- {
- resolveSquareBracketParams();
- return m_domain;
- }
- const QString &error() override { return m_error; }
- void resolveSquareBracketParams() override;
-
-protected:
- bool m_resolved {};
- Node::Genus m_genus {};
- Node::NodeType m_goal {};
- Tree *m_domain {};
- QString m_error {};
- QString m_squareBracketParams {};
-};
-
-#define ATOM_FORMATTING_BOLD "bold"
-#define ATOM_FORMATTING_INDEX "index"
-#define ATOM_FORMATTING_ITALIC "italic"
-#define ATOM_FORMATTING_LINK "link"
-#define ATOM_FORMATTING_PARAMETER "parameter"
-#define ATOM_FORMATTING_SPAN "span "
-#define ATOM_FORMATTING_SUBSCRIPT "subscript"
-#define ATOM_FORMATTING_SUPERSCRIPT "superscript"
-#define ATOM_FORMATTING_TELETYPE "teletype"
-#define ATOM_FORMATTING_UICONTROL "uicontrol"
-#define ATOM_FORMATTING_UNDERLINE "underline"
-
-#define ATOM_LIST_BULLET "bullet"
-#define ATOM_LIST_TAG "tag"
-#define ATOM_LIST_VALUE "value"
-#define ATOM_LIST_LOWERALPHA "loweralpha"
-#define ATOM_LIST_LOWERROMAN "lowerroman"
-#define ATOM_LIST_NUMERIC "numeric"
-#define ATOM_LIST_UPPERALPHA "upperalpha"
-#define ATOM_LIST_UPPERROMAN "upperroman"
-
-QT_END_NAMESPACE
-
-#endif