DPS/DataPlatform/mainwindow.h

69 lines
1.7 KiB
C
Raw Normal View History

2025-06-23 10:41:33 +08:00
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "EventModule.h"
#include "WebEngineView.h"
#include "QFramelessHelper.h"
class WebEngineView;
class DataManager;
class SettingDialog;
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
*/
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget* parent = nullptr);
~MainWindow();
/**
* @brief <EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ΪΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param beOn trueΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void changeMaximize();
/**
*/
void openSettingDialog();
/**
* @brief ֪ͨWEB<EFBFBD>˵<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param beMax trueΪ<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false<EFBFBD><EFBFBD>ǰΪ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD>
*/
/**
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD>Ϣ
* @param message <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param type <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>0Ϊ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>1Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>2Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD>3Ϊһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
*/
void message(const QString& message, int type = 0);
/**
* @brief <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>á<EFBFBD>
*/
void initalApplication();
/**
* @brief <EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD>
* @param moduleName <EFBFBD>л<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ģ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
void changeModule(const std::string& moduleName);
bool DBConnect(json& parameter);
void Close();
// DataManager* getDataRoot() { return _pDataRoot; }
protected:
bool onMessage(const std::string& eventName, json& parameter);
void changeEvent(QEvent* event);
#if (QT_VERSION >= QT_VERSION_CHECK(6,0,0))
bool nativeEvent(const QByteArray& eventType, void* message, qintptr* result);
#else
bool nativeEvent(const QByteArray& eventType, void* message, long* result);
#endif
public slots:
private:
WebEngineView* _webView;
std::unique_ptr<SettingDialog> _settingDialog;
std::unique_ptr<QFramelessHelper> _frameless;
SignalEventModule* _eventModule;
// DataManager* _pDataRoot;
};
#endif // MAINWINDOW_H