WsParser_VS/StoryPresent/main.cpp

75 lines
2.1 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-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;
(*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>");
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:
{
auto arrows = QList<graph_data::Arrow>() <<
graph_data::Arrow(u8"a<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", u8"b<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>") <<
graph_data::Arrow(u8"c<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", u8"b<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>") <<
graph_data::Arrow(u8"c<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", u8"d<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>") <<
graph_data::Arrow(u8"b<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", u8"e<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>") <<
graph_data::Arrow(u8"d<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", u8"e<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>") <<
2024-10-04 12:02:18 +00:00
graph_data::Arrow(u8"c<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>", u8"e<EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>");
2024-10-04 10:58:34 +00:00
auto view = new dags::DAGActiveView;
view->updateWithEdges(arrows);
view->show();
//dags::DAGGraph tools;
//tools.rebuildFromEdges(arrows);
//tools.graphLayout();
//for (auto n : tools.nodeWithLayout()) {
// msg.setWindowTitle("layout-message");
// msg.append(QString("node:%3,layer:%1,sort:%2").arg(n->layerNumber()).arg(n->sortNumber()).arg(n->layerNode()->bindPoint().name()));
// msg.show();
//}
}break;
2024-10-04 05:12:16 +00:00
default:
break;
}
}
2024-09-24 10:43:10 +00:00
return a.exec();
}