setinfomanager.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef SETINFOMANAGER_H
  2. #define SETINFOMANAGER_H
  3. #include <QObject>
  4. #include <qt5/QtCore/qchar.h>
  5. #include "entities.h"
  6. class FromWebAPI;
  7. class SetInfoWidget;
  8. /**
  9. * @brief 设置管理器,从这里初始化所需要的设置界面和数据。
  10. * 1、初始化完成WebAPI后会获取数据库信息,写入到SysConfig和CIData中
  11. * 2、这里的webapi指针只有一个,页面中所有的都是用的这个
  12. *
  13. */
  14. class SetInfoManager: public QObject
  15. {
  16. Q_OBJECT
  17. public:
  18. explicit SetInfoManager(QObject *parent = nullptr);
  19. virtual ~SetInfoManager();
  20. /* 初始化,初始化所有参数变量 */
  21. int Init(const stInitData* pData);
  22. int CreateWindow(int nSkinType, QWidget* parent);
  23. int ShowWindow(int nSkinType, int nServiceID, bool bShowWindow);
  24. /* 获取数据是否改变了 */
  25. QString GetChangedData();
  26. /* 保存 */
  27. int Save();
  28. /* 释放内存 */
  29. int Release();
  30. private:
  31. /* 生成默认的对比项参数 */
  32. void setDefaultCompareItem();
  33. /* 初始化WebAPI */
  34. bool initWebAPI();
  35. /* 获取数据库中系统设置参数 */
  36. bool getSystemConfig();
  37. private:
  38. stInitData m_initData; // 初始化数据
  39. SetInfoWidget* m_pWgtSet;
  40. FromWebAPI* m_fromWebAPI = nullptr; // 用于从Web API获取数据
  41. };
  42. #endif // SETINFOMANAGER_H