QtNovelUI/DesParser/main.cpp

59 lines
2.0 KiB
C++
Raw Normal View History

2022-11-06 00:37:50 +00:00
#include <QCoreApplication>
#include <QLocale>
#include <QTranslator>
#include <QDebug>
2022-11-15 12:58:12 +00:00
#include <StoryTool.h>
2022-11-06 00:37:50 +00:00
using namespace Parse;
2022-11-06 11:40:11 +00:00
using namespace Parse::Result;
2022-11-06 00:37:50 +00:00
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QTranslator translator;
const QStringList uiLanguages = QLocale::system().uiLanguages();
for (const QString &locale : uiLanguages) {
const QString baseName = "DesParser_" + QLocale(locale).name();
if (translator.load(":/i18n/" + baseName)) {
a.installTranslator(&translator);
break;
}
}
2022-11-06 10:15:55 +00:00
// StoryChainDocumentParser frame(nullptr);
// DocCore doc(nullptr, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storychain");
// auto retlist = frame.analysis(&doc, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storychain");
// StoryUnitDocumentParser frame(nullptr);
2022-11-15 08:07:02 +00:00
// DocCore doc(nullptr, DocType::STORYUNIT, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyunit");
// auto retlist = frame.analysis(&doc, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyunit");
2022-11-15 08:07:02 +00:00
// StoryBoardDocumentParser frame(nullptr);
// DocCore doc(nullptr, DocType::STORYBOARD, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyboard");
// auto retlist = frame.analysis(&doc, "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyboard");
2022-11-06 10:15:55 +00:00
2022-11-06 00:37:50 +00:00
2022-11-15 12:58:12 +00:00
ParseCore core;
MakeTools::StoryTool tool(&core);
2022-11-15 08:07:02 +00:00
// auto path = "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyvolume";
2022-12-08 19:43:42 +00:00
auto path = "D:\\Projects\\Cpp\\QtNovelDesc\\DesParser\\example.storyunit";
tool.compile(QFileInfo(path), "后台编译");
2022-11-15 08:07:02 +00:00
auto doc = core.queryDocument(QFileInfo(path));
auto retlist = core.queryRootNodes(doc);
2022-11-06 00:37:50 +00:00
for (auto x : qAsConst(retlist)) {
qDebug().noquote() << x->toString();
}
QList<ErrorMessage> errors;
2022-11-15 08:07:02 +00:00
if(!tool.checkPass(errors))
for(auto x : errors)
qDebug() << QString("%1, %2, %3, %4, %5").arg(x.Reason).arg(x.Text).arg(x.FilePath).arg(x.CodeRow).arg(x.CodeCol);
2022-11-15 08:07:02 +00:00
2022-11-06 00:37:50 +00:00
return a.exec();
}