77 lines
1.7 KiB
C++
77 lines
1.7 KiB
C++
#include "uiBase.h"
|
|
|
|
#pragma once
|
|
|
|
class InterfaceManager;
|
|
class uiChatMan;
|
|
|
|
class ChatPropertyDialog : public uiBase
|
|
{
|
|
enum eDIALOG_POS
|
|
{
|
|
DLGPOS_CHECK_SYSTEM,
|
|
DLGPOS_CHECK_SHOUT,
|
|
DLGPOS_CHECK_GENERAL,
|
|
DLGPOS_CHECK_WHISPER,
|
|
DLGPOS_CHECK_PARTY,
|
|
DLGPOS_CHECK_GUILD,
|
|
DLGPOS_CHECK_CHANNEL,
|
|
DLGPOS_BTN_EXIT,
|
|
DLGPOS_MAX,
|
|
};
|
|
|
|
enum
|
|
{
|
|
DLGPOS_CHECK_MAX = DLGPOS_BTN_EXIT,
|
|
};
|
|
|
|
public:
|
|
ChatPropertyDialog(InterfaceManager* pUIMan);
|
|
~ChatPropertyDialog();
|
|
virtual void Init(CDrawBase * pDrawBase);
|
|
virtual void Release();
|
|
virtual void Process(DWORD dwTick);
|
|
virtual void OnShowWindow(BOOL val);
|
|
virtual void MessageProc(SI_MESSAGE * pMessage);
|
|
virtual void NetworkProc(MSG_BASE * pMsg);
|
|
//virtual void UpdatePosition();
|
|
public:
|
|
void SetPropertyDlgFilter(int filterType , int filterValue);
|
|
void MoveDefaultPosition();
|
|
protected:
|
|
CControlWZ * getControl(POSTYPE AtPos);
|
|
POSTYPE getControlIDToPos(WzID wzID);
|
|
CCtrlButtonCheckWZ * m_pCheck[DLGPOS_CHECK_MAX];
|
|
|
|
// üũ ¹öư ¾÷µ¥ÀÌÆ®
|
|
void updateAllCheckButton();
|
|
void ComposeBitFilter();
|
|
void _setEachBitFilter(int id , int bit);
|
|
void _updatEachCheckButton(int id, int bit);
|
|
void ForceSettingCheckButton();
|
|
|
|
private:
|
|
static WzID m_wzID[DLGPOS_MAX];
|
|
uiChatMan * m_pChatMan;
|
|
int m_iFilterType;
|
|
int m_iFilterValue;
|
|
int m_iGapOfDialogYPosition;
|
|
|
|
};
|
|
|
|
inline CControlWZ * ChatPropertyDialog::getControl(POSTYPE AtPos)
|
|
{
|
|
ASSERT(AtPos < DLGPOS_MAX);
|
|
return GetControlWZ(m_wzID[AtPos]);
|
|
}
|
|
|
|
inline POSTYPE ChatPropertyDialog::getControlIDToPos(WzID wzID)
|
|
{
|
|
for ( int i = 0; i < DLGPOS_MAX ; ++i)
|
|
{
|
|
if ( m_wzID[i] == wzID)
|
|
return i;
|
|
}
|
|
return DLGPOS_MAX;
|
|
}
|