MainWindow.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Include own headers
  2. #include "MainWindow.hpp"
  3. #include "../gui/ui_MainWindow.h"
  4. // Include dependencies
  5. #include <QFileDialog>
  6. MainWindow* globalPointer;
  7. MainWindow* MainWindow::getInstance() {
  8. return globalPointer;
  9. }
  10. MainWindow::MainWindow(QWidget* parent): QMainWindow(parent), ui(new Ui::MainWindow) {
  11. globalPointer = this;
  12. ui->setupUi(this);
  13. osgWidget = new OSGWidget(this);
  14. ui->sceneWidget->layout()->addWidget(osgWidget);
  15. // TODO: Add option for opening a project via double click
  16. projectStore = new ProjectStore();
  17. renderView(NoMesh);
  18. }
  19. MainWindow::~MainWindow() {
  20. delete ui;
  21. delete osgWidget;
  22. }
  23. OSGWidget* MainWindow::getOsgWidget() {
  24. return osgWidget;
  25. }
  26. ProjectStore* MainWindow::getStore() {
  27. return projectStore;
  28. }
  29. void MainWindow::renderView(GuiView view) {
  30. switch(view) {
  31. case NoMesh: {
  32. noMeshWidget = new NoMeshWidget(this);
  33. ui->controlWidget->layout()->addWidget(noMeshWidget);
  34. break;
  35. }
  36. case Edit: {
  37. editWidget = new EditWidget(this);
  38. ui->controlWidget->layout()->addWidget(editWidget);
  39. break;
  40. }
  41. }
  42. }
  43. void MainWindow::openFile() {
  44. QString fileName = QFileDialog::getOpenFileName(this, tr("Open a TrackpointApp project or a 3D-Object"), "", tr("TrackpointApp Project (*.trackproj);;3MF File (*.3mf);;STL File (*.stl)"));
  45. }