#ifndef MAIN_WINDOW_H #define MAIN_WINDOW_H #include #include #include #include #include #include #include #include QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); display::Library *libraryDisplay; display::Schema *schemaDisplay; static std::optional library; static domain::Schema* schema; std::vector validators; void setupUi(); void clear(); static domain::Schema* getSchema() { return schema; } static std::optional getLibrary() { return library; } private slots: void onLoadLibrary(); void onLoadSchema(); void onValidateSchema(bool toggled); void onStoreScheme(); void onGenerateComdel(); private: std::string librarySource; Ui::MainWindow *ui; QPlainTextEdit *log; std::vector validationErrors; }; #endif // MAIN_WINDOW_H