DPS/DataPlatform/Session.h

86 lines
2.0 KiB
C
Raw Normal View History

2025-06-23 10:41:33 +08:00
#pragma once
#include <QObject>
class MainWindow;
class TitleBar;
class SideBar;
class ProjectManager;
class DataModel;
class CodeGenerateEventModule;
class MainWindowEventModule;
class HomePage;
class ProjectEventModule;
class DataModelEventModule;
class DataPackEventModule;
class SearchEditEventModule;
class XmlEditEventModule;
/**
2025-06-23 18:01:09 +08:00
* @brief
2025-06-23 10:41:33 +08:00
*/
class Session : public QObject
{
Q_OBJECT
public:
explicit Session(MainWindow* parent);
~Session();
/**
2025-06-23 18:01:09 +08:00
* @brief
* @return
2025-06-23 10:41:33 +08:00
*/
TitleBar* titleBar();
/**
2025-06-23 18:01:09 +08:00
* @brief
* @return
2025-06-23 10:41:33 +08:00
*/
SideBar* sideBar();
/**
2025-06-23 18:01:09 +08:00
* @brief
* @return
2025-06-23 10:41:33 +08:00
*/
ProjectManager* projectManager();
/**
2025-06-23 18:01:09 +08:00
* @brief
* @return
2025-06-23 10:41:33 +08:00
*/
DataModel* dataModel();
/**
2025-06-23 18:01:09 +08:00
* @brief
* @return
2025-06-23 10:41:33 +08:00
*/
CodeGenerateEventModule* codeGenerate();
MainWindow* parent();
ProjectEventModule* projectEventModule();
DataModelEventModule* dataModelEventModule();
DataPackEventModule* dataPackEventModule();
SearchEditEventModule* searchEditEventModule();
XmlEditEventModule* xmlEditEventModule();
HomePage* homePage();
/**
2025-06-23 18:01:09 +08:00
* @brief Session单例对象
* @return Session对象
2025-06-23 10:41:33 +08:00
*/
static Session* getSession();
private:
TitleBar* _titleBar = nullptr;
SideBar* _sideBar = nullptr;
ProjectManager* _projectManager = nullptr;
DataModel* _dataModel = nullptr;
CodeGenerateEventModule* _codeGenerate = nullptr;
HomePage* _homePage = nullptr;
ProjectEventModule* _projectEventModule = nullptr;
DataModelEventModule* _dataModelEventModule = nullptr;
DataPackEventModule* _dataPackEvenModule = nullptr;
SearchEditEventModule* _searchEditModule = nullptr;
XmlEditEventModule* _xmlEditModule = nullptr;
MainWindow* _parent = nullptr;
static Session* _session;
friend class MainWindow;
};