MainWindow.hpp 825 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "OSGWidget.hpp"
  3. #include "NoMeshWidget.hpp"
  4. #include "EditWidget.hpp"
  5. #include "ProjectStore.hpp"
  6. #include "enums.hpp"
  7. #include <QMainWindow>
  8. QT_BEGIN_NAMESPACE
  9. namespace Ui { class MainWindow; }
  10. QT_END_NAMESPACE
  11. class MainWindow: public QMainWindow {
  12. Q_OBJECT
  13. public:
  14. static MainWindow* getInstance();
  15. MainWindow(QWidget* parent = nullptr);
  16. ~MainWindow();
  17. void renderView(GuiView view);
  18. OSGWidget* getOsgWidget();
  19. ProjectStore* getStore();
  20. EditWidget* getEditWiget();
  21. private:
  22. void load();
  23. void save();
  24. void saveAs();
  25. Ui::MainWindow* ui;
  26. OSGWidget* osgWidget;
  27. NoMeshWidget* noMeshWidget;
  28. EditWidget* editWidget;
  29. ProjectStore* projectStore;
  30. QMenu* fileMenu;
  31. QAction* newAct;
  32. QAction* loadAct;
  33. QAction* saveAct;
  34. QAction* saveAsAct;
  35. QAction* closeAct;
  36. };