#ifndef MAINWINDOW_H #define MAINWINDOW_H #pragma once #include #include #include QT_BEGIN_NAMESPACE class QAction; class QMenu; class QMdiArea; class QMdiSubWindow; class QWidget; class QSignalMapper; class QDomElement; QT_END_NAMESPACE namespace Ui { class MainWindow; } class ConfigurableWidget; class SetupDialog; class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); protected: // void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE; public slots: QMainWindow *createTraceWindow(QString title=QString()); // QMainWindow *createGraphWindow(QString title=QString()); // void addGraphWidget(QMainWindow *parent=0); void addRawTxWidget(QMainWindow *parent=0); void addLogWidget(QMainWindow *parent=0); void addStatusWidget(QMainWindow *parent=0); bool showSetupDialog(); void showAboutDialog(); void startMeasurement(); void stopMeasurement(); // void saveTraceToFile(); void updateMeasurementActions(); private slots: // void on_action_WorkspaceNew_triggered(); // void on_action_WorkspaceOpen_triggered(); // void on_action_WorkspaceSave_triggered(); // void on_action_WorkspaceSaveAs_triggered(); void on_action_TraceClear_triggered(); // void on_actionCan_Status_View_triggered(); private: Ui::MainWindow *ui; SetupDialog *_setupDlg; bool _workspaceModified; QString _workspaceFileName; QString _baseWindowTitle; QAction *actionStart_Measurement; QAction *actionStop_Measurement; QAction *actionTrace_clear; Backend &backend(); QMainWindow *createTab(QString title); QMainWindow *currentTab(); void stopAndClearMeasurement(); void clearWorkspace(); // void traceClear_triggered(); // bool loadWorkspaceTab(QDomElement el); // bool loadWorkspaceSetup(QDomElement el); // void loadWorkspaceFromFile(QString filename); bool saveWorkspaceToFile(QString filename); void addChassisAnalysisWindow(QMainWindow *parent=0); void newWorkspace(); // void loadWorkspace(); bool saveWorkspace(); bool saveWorkspaceAs(); void setWorkspaceModified(bool modified); int askSaveBecauseWorkspaceModified(); }; #endif // MAINWINDOW_H