中航光电的中间件仓库

ViewResBase.h 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*************************************************************************
  2. 【文件名】 ViewResBase.h
  3. 【功能模块和目的】 资源视图基类头文件
  4. 【开发者及日期】 郑石诺 2015/06/29
  5. 【版本】 V1.0.0
  6. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  7. 【更改记录】
  8. *************************************************************************/
  9. #pragma once
  10. #include "IView.h"
  11. #define VIEW_CONTROL_TYPE CMFCPropertyGridCtrl
  12. #define VIEW_ITEM_TYPE CMFCPropertyGridProperty
  13. #define PVIEW_ITEM_TYPE CMFCPropertyGridProperty*
  14. class CViewGroup;
  15. /*************************************************************************
  16. 【类名】 CViewResBase
  17. 【功能】
  18. 【接口说明】 资源视图基类
  19. 【开发者及日期】 郑石诺 2015/06/29
  20. 【版本】 V1.0.0
  21. 【版权信息】 Copyright (C)2015 河南华谊网络科技有限公司
  22. 【更改记录】
  23. *************************************************************************/
  24. class CViewResBase : public VIEW_CONTROL_TYPE, public CViewBase
  25. {
  26. DECLARE_DYNAMIC(CViewResBase)
  27. public:
  28. CViewResBase(void);
  29. virtual ~CViewResBase(void);
  30. bool create(CDisplayWnd* pWnd, UINT PanId);
  31. void newSize(int cx, int cy);
  32. void showTogether(CViewResBase* pView);
  33. virtual void onResNew(DEV_RES_ID& ResId);
  34. virtual void onResDel(DEV_RES_ID& ResId);
  35. virtual void onResState(DEV_RES_ID& ResId) = 0;
  36. protected:
  37. DECLARE_MESSAGE_MAP()
  38. protected:
  39. virtual bool _createControl(void) = 0;
  40. virtual void _addRes(DEV_RES_ID& ResId);
  41. void _delEmptyNode(PVIEW_ITEM_TYPE pItem);
  42. PVIEW_ITEM_TYPE _getDev(UINT DevNo);
  43. PVIEW_ITEM_TYPE _getBoard(PVIEW_ITEM_TYPE pDev, UINT BoardNo);
  44. PVIEW_ITEM_TYPE _getSpan(PVIEW_ITEM_TYPE pBoard, UINT SpanNo);
  45. CViewGroup* _getResGroup(DEV_RES_ID& ResId);
  46. void _addResGroup(CViewGroup* pGroup);
  47. void _delResGroup(CViewGroup* pGroup);
  48. protected:
  49. CList<CViewGroup*, CViewGroup*> m_ResGroupList;
  50. };