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();
|
|
|
|
|
}
|