#pragma once #include class QTabWidget; class QMenuBar; class QToolBar; class QStatusBar; namespace spw { class DiskPartitionTab; class RecoveryTab; class ImagingTab; class DiagnosticsTab; class SecurityTab; class MaintenanceTab; class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget* parent = nullptr); ~MainWindow() override; private: void setupMenuBar(); void setupToolBar(); void setupTabs(); void setupStatusBar(); private slots: void onAbout(); void onRefreshDisks(); private: QTabWidget* m_tabWidget = nullptr; QToolBar* m_toolBar = nullptr; // Tabs DiskPartitionTab* m_diskPartitionTab = nullptr; RecoveryTab* m_recoveryTab = nullptr; ImagingTab* m_imagingTab = nullptr; DiagnosticsTab* m_diagnosticsTab = nullptr; SecurityTab* m_securityTab = nullptr; MaintenanceTab* m_maintenanceTab = nullptr; }; } // namespace spw