DragonNest/Server/ServiceMonitorEx/Source/BaseMonitorView.h

147 lines
3.9 KiB
C
Raw Permalink Normal View History

#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<HITEM>(-1))
// CBaseMonitorView <20><> <20><><EFBFBD>Դϴ<D4B4>.
class CBaseMonitorView : public CBaseView
{
DECLARE_DYNCREATE(CBaseMonitorView)
public:
enum EF_IMAGELISTTYPE // <20>̹<EFBFBD><CCB9><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ Ÿ<><C5B8>
{
EV_ILT_SMALL, // SMALL
EV_ILT_LARGE, // LARGE
EV_ILT_CNT,
};
enum EF_UI_SIZE // UI ũ<><C5A9> <20><><EFBFBD><EFBFBD>
{
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 // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>׸<EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> (<28><><EFBFBD><EFBFBD> !!!> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD> <20>׸<EFBFBD><D7B8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> <20><>ġ<EFBFBD>ؾ<EFBFBD> <20><>)
{
// Basic Information
EV_SSI_SERVERTYPE, // <20><><EFBFBD><EFBFBD> Ÿ<><C5B8>
EV_SSI_SERVERID, // <20><><EFBFBD><EFBFBD> ID
EV_SSI_NETLUNCHERID, // <20>ݷ<EFBFBD>ó ID
EV_SSI_RSCSVRRVS, // <20><><EFBFBD>ҽ<EFBFBD> SVN <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
EV_SSI_EXEVERSION, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
EV_SSI_WORLDID, // <20><><EFBFBD><EFBFBD> ID (<28><><EFBFBD><EFBFBD>)
EV_SSI_PUBLICIP, // Public
EV_SSI_IPADDRESS, // IP <20>ּ<EFBFBD>
// Current State
EV_SSI_SERVERSTATE, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
// Specific State
EV_SSI_VISIBILITY, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (GA)
EV_SSI_USERCOUNT, // <20>ο<EFBFBD> <20><> (<28><><EFBFBD><EFBFBD>/<2F>ִ<EFBFBD>) (GA)
EV_SSI_ROOMCOUNT, // <20><> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD>) (GA)
EV_SSI_MAXROOMCOUNT, // <20><> <20><><EFBFBD><EFBFBD> (<28>ִ<EFBFBD>) (GA)
EV_SSI_MAXFARMCOUNT, // <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> (<28>ִ<EFBFBD>) (GA)
EV_SSI_TOTALFARMUSERCOUNT, // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28>ִ<EFBFBD>) (GA)
EV_SSI_CNT,
};
enum EF_CHANNELSTATEITEMTYPE // ä<><C3A4> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8> (<28><><EFBFBD><EFBFBD> !!!> ä<><C3A4> <20><><EFBFBD><EFBFBD> <20>׸<EFBFBD><D7B8><EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE> <20>÷<EFBFBD> <20>߰<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ݵ<EFBFBD><DDB5><EFBFBD> <20><>ġ<EFBFBD>ؾ<EFBFBD> <20><>)
{
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(); // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> protected <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
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 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̾<EFBFBD><CCBE>α<EFBFBD><CEB1><EFBFBD> WM_INITDIALOG <20>޽<EFBFBD><DEBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> OnUpdate() <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
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 <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<D4B4>.
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);
};