mainwindow.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #pragma once
  4. #include <QMainWindow>
  5. #include <QList>
  6. #include <core/Backend.h>
  7. QT_BEGIN_NAMESPACE
  8. class QAction;
  9. class QMenu;
  10. class QMdiArea;
  11. class QMdiSubWindow;
  12. class QWidget;
  13. class QSignalMapper;
  14. class QDomElement;
  15. QT_END_NAMESPACE
  16. namespace Ui {
  17. class MainWindow;
  18. }
  19. class ConfigurableWidget;
  20. class SetupDialog;
  21. class MainWindow : public QMainWindow
  22. {
  23. Q_OBJECT
  24. public:
  25. explicit MainWindow(QWidget *parent = 0);
  26. ~MainWindow();
  27. protected:
  28. // void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
  29. public slots:
  30. QMainWindow *createTraceWindow(QString title=QString());
  31. // QMainWindow *createGraphWindow(QString title=QString());
  32. // void addGraphWidget(QMainWindow *parent=0);
  33. void addRawTxWidget(QMainWindow *parent=0);
  34. void addLogWidget(QMainWindow *parent=0);
  35. void addStatusWidget(QMainWindow *parent=0);
  36. bool showSetupDialog();
  37. void showAboutDialog();
  38. void startMeasurement();
  39. void stopMeasurement();
  40. // void saveTraceToFile();
  41. void updateMeasurementActions();
  42. private slots:
  43. // void on_action_WorkspaceNew_triggered();
  44. // void on_action_WorkspaceOpen_triggered();
  45. // void on_action_WorkspaceSave_triggered();
  46. // void on_action_WorkspaceSaveAs_triggered();
  47. void on_action_TraceClear_triggered();
  48. // void on_actionCan_Status_View_triggered();
  49. private:
  50. Ui::MainWindow *ui;
  51. SetupDialog *_setupDlg;
  52. bool _workspaceModified;
  53. QString _workspaceFileName;
  54. QString _baseWindowTitle;
  55. QAction *actionStart_Measurement;
  56. QAction *actionStop_Measurement;
  57. QAction *actionTrace_clear;
  58. Backend &backend();
  59. QMainWindow *createTab(QString title);
  60. QMainWindow *currentTab();
  61. void stopAndClearMeasurement();
  62. void clearWorkspace();
  63. // void traceClear_triggered();
  64. // bool loadWorkspaceTab(QDomElement el);
  65. // bool loadWorkspaceSetup(QDomElement el);
  66. // void loadWorkspaceFromFile(QString filename);
  67. bool saveWorkspaceToFile(QString filename);
  68. void addChassisAnalysisWindow(QMainWindow *parent=0);
  69. void newWorkspace();
  70. // void loadWorkspace();
  71. bool saveWorkspace();
  72. bool saveWorkspaceAs();
  73. void setWorkspaceModified(bool modified);
  74. int askSaveBecauseWorkspaceModified();
  75. };
  76. #endif // MAINWINDOW_H