MainWindow.hpp 852 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. void loadStaticMeshes();
  26. Ui::MainWindow* ui;
  27. OSGWidget* osgWidget;
  28. NoMeshWidget* noMeshWidget;
  29. EditWidget* editWidget;
  30. ProjectStore* projectStore;
  31. QMenu* fileMenu;
  32. QAction* newAct;
  33. QAction* loadAct;
  34. QAction* saveAct;
  35. QAction* saveAsAct;
  36. QAction* closeAct;
  37. };