#include "mainwindow.h" #include "./ui_mainwindow.h" #include "check/check.h" #include "goods/goods.h" #include "outputdialog.h" #include "settings.h" #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); this->setupStoresList(); } MainWindow::~MainWindow() { delete ui; } void MainWindow::setupStoresList() { // Make file format that is a regeeex which parse check, load these files // here parser = *(new Parser()); std::vector modules_names = parser.search_modules(); for (std::string name : modules_names) { Module m(name); std::wstring module_name = m.get_name(); QString s = QString::fromStdWString(module_name); ui->storeType->addItem(s); } #ifdef DEBUG for (auto module : parser.search_modules()) { std::cout << "Module: " << module << std::endl; } #endif } void MainWindow::on_checkType_currentIndexChanged(int index) { switch (index) { case 0: ui->checkInfo->setVisible(true); break; case 1: ui->checkInfo->setVisible(false); break; } } void MainWindow::on_parseButton_clicked() { QString s(ui->checkContent->toPlainText()); std::wstring check_plaintext = s.toStdWString(); parser.set_module(parser.search_modules()[0]); std::vector c = parser.parse(check_plaintext); if (c.size() == 0) { std::cerr << "An error has occured. Check was matched incorrectly. Vector sizes are different" << std::endl; return; } Check check; for (auto g : c) { check.add_goods(g); } OutputDialog *d = new OutputDialog(this, check); d->exec(); } void MainWindow::on_storeType_currentIndexChanged(int index) { std::string module = parser.search_modules()[index]; parser.set_module(module); }