QtNovelUI/libParse/storyconceptdocumentparser.h

82 lines
1.5 KiB
C++

#ifndef STORYCONCEPTDOCUMENTPARSER_H
#define STORYCONCEPTDOCUMENTPARSER_H
#include "ParseFrame.h"
#include "SyntaxBase.h"
#include "XSyntaxBase.h"
namespace Parse {
class NodeStoryConcept : public Result::NamedNode
{
public:
NodeStoryConcept(const QString &name, Result::DocCore *doc);
// DesNode interface
public:
virtual bool check(QList<ErrorMessage> &reasons) const override;
virtual QString toString() const override;
};
class NodeStoryConceptParser : public Syntax::XSyntaxBase
{
public:
NodeStoryConceptParser(Result::ParseCore *core);
private:
Result::ParseCore *const core;
};
class NodeStoryStrongPoint : public Result::NamedNode
{
public:
NodeStoryStrongPoint(NodeStoryConcept *parent, const QString &name);
// DesNode interface
public:
virtual bool check(QList<ErrorMessage> &reasons) const override;
virtual QString toString() const override;
// NamedNode interface
public:
virtual QList<QString> name() const override;
private:
NodeStoryConcept *const concept_point;
};
class NodeStoryStrongPointParser : public Syntax::XSyntaxBase
{
public:
NodeStoryStrongPointParser(NodeStoryConceptParser *pparser);
};
class StoryConceptDocumentParser : public Syntax::ParseFrame
{
public:
StoryConceptDocumentParser(Result::ParseCore *core);
};
}
#endif // STORYCONCEPTDOCUMENTPARSER_H