51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#include <QApplication>
|
|
#include <QMainWindow>
|
|
#include <QTextEdit>
|
|
#include <QPushButton>
|
|
#include <QLayout>
|
|
#include <QVBoxLayout>
|
|
#include <QString>
|
|
|
|
#include "javascript/engine/AtlasJsEngine.hpp"
|
|
|
|
|
|
int main(int argc, char* argv[]) {
|
|
// application informations
|
|
QApplication application(argc, argv);
|
|
QApplication::setOrganizationDomain("faraphel.fr");
|
|
QApplication::setApplicationName("Atlas-Launcher");
|
|
QApplication::setApplicationVersion("1.0.0");
|
|
|
|
// create a small window
|
|
auto mainWindow = std::make_shared<QMainWindow>();
|
|
|
|
auto widget = std::make_shared<QWidget>();
|
|
mainWindow->setCentralWidget(widget.get());
|
|
|
|
auto layout = std::make_shared<QVBoxLayout>();
|
|
widget->setLayout(layout.get());
|
|
|
|
auto input = std::make_shared<QTextEdit>();
|
|
layout->addWidget(input.get());
|
|
|
|
auto submit = std::make_shared<QPushButton>();
|
|
layout->addWidget(submit.get());
|
|
submit->setText("Run");
|
|
|
|
auto output = std::make_shared<QTextEdit>();
|
|
layout->addWidget(output.get());
|
|
output->setEnabled(false);
|
|
|
|
// create the javascript engine
|
|
auto engine = std::make_shared<AtlasJsEngine>(widget.get());
|
|
|
|
// when submit clicked, run the code and show the output
|
|
QObject::connect(submit.get(), &QPushButton::clicked, [&] {
|
|
QJSValue value = engine->evaluate(input->toPlainText());
|
|
output->setText(value.toString());
|
|
});
|
|
|
|
mainWindow->show();
|
|
|
|
return QApplication::exec();
|
|
}
|