WsParser_VS/StoryPresent/main.cpp

72 lines
1.9 KiB
C++
Raw Normal View History

2024-09-24 10:43:10 +00:00
#include "storypresent.h"
#include "dag_layout.h"
#include "xast_parse.h"
#include "dag_present.h"
2024-10-04 12:12:19 +00:00
#include "cmp_present.h"
2024-10-04 05:12:16 +00:00
#include <argsparser.h>
2024-10-05 02:11:42 +00:00
#include "storypresent.h"
2024-09-24 10:43:10 +00:00
#include <QDebug>
2024-10-04 05:12:16 +00:00
#include <QMessageBox>
#include <QTextEdit>
2024-09-24 10:43:10 +00:00
#include <QtWidgets/QApplication>
2024-10-03 12:37:24 +00:00
2024-10-04 05:12:16 +00:00
using namespace args_parse;
using namespace std;
2024-09-24 10:43:10 +00:00
int main(int argc, char* argv[]) {
QApplication a(argc, argv);
2024-10-04 05:12:16 +00:00
ArgsParser cmdrec;
auto help_mode = std::make_shared<MatchMode>(0x000au, u8"<EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>");
cmdrec << help_mode;
(*help_mode) << std::make_shared<IndexParam>(u8"StoryPresent", u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") << make_shared<FloatOption>(u8"help", u8"<EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>");
2024-10-04 10:58:34 +00:00
auto test_mode = std::make_shared<MatchMode>(0x000bu, u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
cmdrec << test_mode;
2024-10-05 02:11:42 +00:00
(*test_mode) << std::make_shared<IndexParam>(u8"StoryPresent", u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") << make_shared<FloatOption>(u8"test", u8"<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>");
auto graph_mode = std::make_shared<MatchMode>(0x000cu, u8"ͼ<EFBFBD>λ<EFBFBD>չʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
cmdrec << graph_mode;
(*graph_mode) << std::make_shared<IndexParam>(u8"StoryPresent", u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")
<< make_shared<FloatKeyValue>(u8"graph", u8"<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>дdag<EFBFBD><EFBFBD>udg")
<< make_shared<FloatKeyValue>(u8"path", u8"ָ<EFBFBD><EFBFBD>xast<EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>");
2024-10-04 10:58:34 +00:00
2024-10-04 05:12:16 +00:00
auto rst = cmdrec.parse(argc, argv);
QTextEdit msg;
msg.setReadOnly(true);
if (!rst) {
msg.setWindowTitle(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
msg.setPlainText(cmdrec.helperDoc());
msg.show();
}
else {
switch (rst->modeCode()) {
case 0x000au:
msg.setWindowTitle(u8"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ");
msg.setPlainText(cmdrec.helperDoc());
msg.show();
break;
2024-10-04 10:58:34 +00:00
case 0x000bu:
{
2024-10-05 02:11:42 +00:00
}break;
case 0x000cu:
{
auto type = rst->getUnitViaKey(u8"graph");
auto path = rst->getUnitViaKey(u8"path");
if (type->value().toString() == "dag") {
auto view = new StoryPresent();
view->loadXAST(path->value().toString());
view->show();
}
2024-10-04 10:58:34 +00:00
}break;
2024-10-04 05:12:16 +00:00
default:
break;
}
}
2024-09-24 10:43:10 +00:00
return a.exec();
}