#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; std::optional library = std::nullopt; domain::Schema* schema = nullptr; std::vector signatures; void setupUi(); void clear(); 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