#ifndef MAINWINDOW_H #define MAINWINDOW_H #include class ViewportWidget; class Document; class Feature; class QTabWidget; class QWidget; class ApplicationController; class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(ApplicationController* appController, QWidget *parent = nullptr); private slots: void newFile(); void open(); bool save(); bool saveAs(); void createSketch(); void saveSketch(); void enterSketchMode(); void exitSketchMode(); void updateWindowTitle(const QString& filePath); private: ApplicationController* m_appController; ViewportWidget *m_viewport; QTabWidget *m_tabWidget; QWidget *m_solidTab; QWidget *m_surfaceTab; QWidget *m_toolsTab; QWidget *m_sketchTab; }; #endif // MAINWINDOW_H