diff options
Diffstat (limited to 'src/qdoc/atom.h')
-rw-r--r-- | src/qdoc/atom.h | 259 |
1 files changed, 0 insertions, 259 deletions
diff --git a/src/qdoc/atom.h b/src/qdoc/atom.h deleted file mode 100644 index b6d1a8840..000000000 --- a/src/qdoc/atom.h +++ /dev/null @@ -1,259 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2019 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, - UnknownCommand, - Last = UnknownCommand - }; - - friend class LinkAtom; - - explicit Atom(AtomType type, const QString &string = "") : type_(type), strs(string) {} - - Atom(AtomType type, const QString &p1, const QString &p2) : type_(type), strs(p1) - { - if (!p2.isEmpty()) - strs << p2; - } - - Atom(Atom *previous, AtomType type, const QString &string) - : next_(previous->next_), type_(type), strs(string) - { - previous->next_ = this; - } - - Atom(Atom *previous, AtomType type, const QString &p1, const QString &p2) - : next_(previous->next_), type_(type), strs(p1) - { - if (!p2.isEmpty()) - strs << p2; - previous->next_ = this; - } - - virtual ~Atom() = default; - - void appendChar(QChar ch) { strs[0] += ch; } - void appendString(const QString &string) { strs[0] += string; } - void chopString() { strs[0].chop(1); } - void setString(const QString &string) { strs[0] = string; } - Atom *next() { return next_; } - void setNext(Atom *newNext) { next_ = newNext; } - - const Atom *next() const { return next_; } - const Atom *next(AtomType t) const; - const Atom *next(AtomType t, const QString &s) const; - AtomType type() const { return type_; } - QString typeString() const; - const QString &string() const { return strs[0]; } - const QString &string(int i) const { return strs[i]; } - int count() const { return strs.size(); } - void dump() const; - QString linkText() const; - const QStringList &strings() const { return strs; } - - virtual bool isLinkAtom() const { return false; } - virtual Node::Genus genus() { return Node::DontCare; } - virtual bool specifiesDomain() { return false; } - virtual Tree *domain() { return nullptr; } - virtual Node::NodeType goal() { return Node::NoType; } - virtual const QString &error() { return noError_; } - virtual void resolveSquareBracketParams() {} - -protected: - static QString noError_; - Atom *next_ = nullptr; - AtomType type_; - QStringList 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; - - bool isLinkAtom() const override { return true; } - Node::Genus genus() override - { - resolveSquareBracketParams(); - return genus_; - } - bool specifiesDomain() override - { - resolveSquareBracketParams(); - return (domain_ != nullptr); - } - Tree *domain() override - { - resolveSquareBracketParams(); - return domain_; - } - Node::NodeType goal() override - { - resolveSquareBracketParams(); - return goal_; - } - const QString &error() override { return error_; } - void resolveSquareBracketParams() override; - -protected: - bool resolved_; - Node::Genus genus_; - Node::NodeType goal_; - Tree *domain_; - QString error_; - QString 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 |