MainWindow.hpp 661 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include "OSGWidget.hpp"
  3. #include "NoMeshWidget.hpp"
  4. #include "EditWidget.hpp"
  5. #include "ProjectStore.hpp"
  6. #include <QMainWindow>
  7. QT_BEGIN_NAMESPACE
  8. namespace Ui { class MainWindow; }
  9. QT_END_NAMESPACE
  10. enum GuiView {
  11. NoMesh,
  12. Edit,
  13. };
  14. class MainWindow: public QMainWindow {
  15. Q_OBJECT
  16. public:
  17. static MainWindow* getInstance();
  18. MainWindow(QWidget* parent = nullptr);
  19. ~MainWindow();
  20. void renderView(GuiView view);
  21. OSGWidget* getOsgWidget();
  22. ProjectStore* getStore();
  23. private:
  24. void openFile();
  25. Ui::MainWindow* ui;
  26. OSGWidget* osgWidget;
  27. NoMeshWidget* noMeshWidget;
  28. EditWidget* editWidget;
  29. ProjectStore projectStore;
  30. };