#pragma once #include "BaseView.h" #include "OXShortcutBar.h" #include "OXLayoutManager.h" #include "PropertyGrid.h" #include "OXGridList.h" #include "OXGridEdit.h" class CSubMonitorFrameView; #define DF_PROPERTYGRID_HITEM_DEFAULT (static_cast(-1)) // CBaseMonitorView Æû ºäÀÔ´Ï´Ù. class CBaseMonitorView : public CBaseView { DECLARE_DYNCREATE(CBaseMonitorView) public: enum EF_IMAGELISTTYPE // À̹ÌÁö ¸®½ºÆ® ŸÀÔ { EV_ILT_SMALL, // SMALL EV_ILT_LARGE, // LARGE EV_ILT_CNT, }; enum EF_UI_SIZE // UI Å©±â Á¤ÀÇ { EV_UIS_MONITORFRAME_PAD_Y = 50, EV_UIS_MONITORFRAME_PAD_A = 20, EV_UIS_SERVERSTATEGRID_WTH = 280, EV_UIS_SERVERSTATEGRID_HGT = 260, EV_UIS_CHANNELSTATELIST_PAD_Y = 10, EV_UIS_CHANNELSTATELIST_WTH = 280, }; enum EF_SERVERSTATEITEMTYPE // ¼­¹ö »óÅ ±×¸®µå ¾ÆÀÌÅÛ Å¸ÀÔ (ÁÖÀÇ !!!> ¼­¹ö »óÅ ¼Ó¼º ±×¸®µåÀÇ ¾ÆÀÌÅÛ Ãß°¡ ¼ø¼­¿Í ¹Ýµå½Ã ÀÏÄ¡ÇØ¾ß ÇÔ) { // Basic Information EV_SSI_SERVERTYPE, // ¼­¹ö ŸÀÔ EV_SSI_SERVERID, // ¼­¹ö ID EV_SSI_NETLUNCHERID, // ³Ý·±Ã³ ID EV_SSI_RSCSVRRVS, // ¸®¼Ò½º SVN ¸®ºñÀü EV_SSI_EXEVERSION, // ½ÇÇàÆÄÀÏ ¹öÀü EV_SSI_WORLDID, // ¿ùµå ID (¸ñ·Ï) EV_SSI_PUBLICIP, // Public EV_SSI_IPADDRESS, // IP ÁÖ¼Ò // Current State EV_SSI_SERVERSTATE, // ¼­¹ö »óÅ // Specific State EV_SSI_VISIBILITY, // °³¹æ ¿©ºÎ (GA) EV_SSI_USERCOUNT, // Àοø ¼ö (ÇöÀç/ÃÖ´ë) (GA) EV_SSI_ROOMCOUNT, // ¹æ °³¼ö (ÇöÀç) (GA) EV_SSI_MAXROOMCOUNT, // ¹æ °³¼ö (ÃÖ´ë) (GA) EV_SSI_MAXFARMCOUNT, // ³óÀå ¹æ °³¼ö (ÃÖ´ë) (GA) EV_SSI_TOTALFARMUSERCOUNT, // ³óÀå À¯Àú¼ö (ÃÖ´ë) (GA) EV_SSI_CNT, }; enum EF_CHANNELSTATEITEMTYPE // ä³Î »óÅ ¸®½ºÆ® ¾ÆÀÌÅÛ Å¸ÀÔ (ÁÖÀÇ !!!> ä³Î »óÅ ±×¸®µå ¸®½ºÆ®¿¡ Ä÷³ Ãß°¡ ¼ø¼­¿Í ¹Ýµå½Ã ÀÏÄ¡ÇØ¾ß ÇÔ) { EV_CSI_CHANNELID, // Channel ID EV_CSI_MAPINDEX, // Map Index EV_CSI_USERCOUNT, // User Count (Cur/Max) EV_CSI_ATTRIBUTE, // Attribute EV_CSI_MERITID, // Merit ID EV_CSI_VISIBILITY, // Visibility EV_CSI_LIMITLEVEL, // Limit Level EV_CSI_ISMIDSHOW, // Middleware Show EV_CSI_MIDSID, // Middleware SID EV_CSI_MIDTHREADID, // Middleware ThreadID EV_CSI_CNT, }; public: CBaseMonitorView(); protected: // CBaseMonitorView(); // µ¿Àû ¸¸µé±â¿¡ »ç¿ëµÇ´Â protected »ý¼ºÀÚÀÔ´Ï´Ù. virtual ~CBaseMonitorView(); public: enum { IDD = IDD_BASEMNTFRM }; #ifdef _DEBUG virtual void AssertValid() const; #ifndef _WIN32_WCE virtual void Dump(CDumpContext& dc) const; #endif #endif private: BOOL m_IsInitialized; // CView ¿¡´Â ´ÙÀ̾ó·Î±×ÀÇ WM_INITDIALOG ¸Þ½ÃÁö°¡ ¿ÀÁö ¾ÊÀ¸¹Ç·Î OnUpdate() ¿¡¼­ °ü¸® COXLayoutManager m_LayoutManager; CPropertyGrid m_ServerStateGrid; COXGridList m_ChannelStateList; CSubMonitorFrameView* m_SubMonitorFrameView; HITEM m_ServerStateItem[EV_SSI_CNT]; int m_LastDispServerID; CBasePartitionView* m_pPartitionView; public: virtual BOOL PreTranslateMessage(MSG* pMsg); CRect GetFrameViewRect(); void Clear(); void SetServerStateGrid(const struct SERVERINFO* pServerInfo); void ClearServerStateGrid(); void AddChannelStateList(const struct CHANNELINFO* pChannelInfo); void SetChannelStateList(const struct CHANNELINFO* pChannelInfo); void ClearChannelStateList(); int GetLastDispServerID() const { return m_LastDispServerID; } void SetLastDispServerID(int pServerID) { m_LastDispServerID = pServerID; } void SetPartitionView(CBasePartitionView* pView); CBasePartitionView* GetPartitionView(); void AddFarmStateList(UINT nFarmDBID, int nCurUserCount, bool Activate); void SetFarmStateList(UINT nFarmDBID, int nCurUserCount, bool Activate); void SetChannelStateColum(int nServerType); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV Áö¿øÀÔ´Ï´Ù. DECLARE_MESSAGE_MAP() public: afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnSize(UINT nType, int cx, int cy); protected: virtual void OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/); virtual BOOL PreCreateWindow(CREATESTRUCT& cs); };