| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QMainWindow>
- #include <QStackedWidget>
- #include <QVector>
- class DatabaseModule;
- class SerialModule;
- class Toolbar;
- class DaemonClient;
- class SettingsDialog;
- class QLabel;
- class DaemonMessageFlowWidget;
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- MainWindow(QWidget *parent = nullptr);
- protected:
- void closeEvent(QCloseEvent *event) override;
- private:
- void createUI();
- // menubar-菜单栏
- void createMenuBar();
- // toolbar-工具栏
- void createHomeToolbar();
- void createSerialToolbar();
- void createDatabaseToolbar();
- void createSettingsToolbar();
- void createHelpToolbar();
- // motion-切换页面
- void switchToPage(int index);
- void setupShortcuts();
- void connectSignals();
- void showAbout();
- // daemon-守护进程
- void setupDaemonStatus();
- void updateDaemonStatus(bool running, const QString& statusJson);
- void updateLoadInfo(const QString& loadInfoJson);
- void createMessageFlowDock();
- // settings-设置
- void loadSettings();
- void showSettingsDialog();
- private slots:
- void onDaemonStatusChanged(bool running, const QString& statusJson);
- void onLoadInfoUpdated(const QString& loadInfoJson);
- private:
- QStackedWidget *m_pageStack;
- QVector<Toolbar*> m_toolbars;
- // 子界面
- SerialModule *m_serialModule = nullptr;
- DatabaseModule *m_databaseModule = nullptr;
- int m_serialPageIndex = -1;
- int m_databasePageIndex = -1;
-
- // 守护进程客户端和状态显示
- DaemonClient *m_daemonClient = nullptr;
- QLabel *m_statusLabel = nullptr;
- QLabel *m_loadLabel = nullptr;
- DaemonMessageFlowWidget *m_messageFlowWidget = nullptr;
-
- // 设置对话框
- SettingsDialog *m_settingsDialog = nullptr;
- };
- #endif // MAINWINDOW_H
|