#ifndef __USER_INTERFACE_GUILDMAIN_H__ #define __USER_INTERFACE_GUILDMAIN_H__ //------------------------------------------------------------------------------ /** @class uiGuildMain guild menu user interface (C) 2005 ckbang */ #ifdef _NA_003923_20120217_GUILD_RENEWAL_UI_GUILD_MANAGER #else #include "uiGuildMain_def.h" #include "uiBase.h" #include "uiGuildMan/uiGuildMan.h" #ifdef _INTERNATIONAL_UI const WzID c_wiGuildFont = StrToWzID("st10"); #else const WzID c_wiGuildFont = StrToWzID("m212"); #endif//_INTERNATIONAL_UI class uiGuildMan; class uiGuildMain: public uiBase { enum eDIALOG_POS { DLGPOS_LST_MEMBERS, DLGPOS_TXT_CURRENT_SELECT, DLGPOS_TXT_NUMBER_OF_GUILDMEMBER, DLGPOS_LST_CORP, DLGPOS_BTN_SORT_NAME, DLGPOS_BTN_SORT_LEVEL, DLGPOS_BTN_SORT_CLASS, DLGPOS_BTN_SORT_DUTY, DLGPOS_BTN_SORT_CONNECT, DLGPOS_CHKBTN_MEMBER_INFOS, DLGPOS_CHKBTN_GUILD_INFO, DLGPOS_CHKBTN_GUILD_STYLE, DLGPOS_CHKBTN_GUILD_MAN, DLGPOS_BTN_EXIT, DLGPOS_BTN_GUILD_INVITE, DLGPOS_BTN_GUILD_DELETE, DLGPOS_BTN_GUILD_EXIT, DLGPOS_BTN_GUILD_NOTICE, DLGPOS_BTN_DUTY_VEST, DLGPOS_BTN_GUILD_RELATIONSHIP, DLGPOS_BTN_GUILD_MASTER_DELEGATION, DLGPOS_BTN_GUILD_MEMBER_RIGHT_INFO, DLGPOS_BTN_GUILD_CORP_CHANGE, DLGPOS_BTN_CORP_LIST, DLGPOS_BTN_RIGHT_DELEGATION, DLGPOS_SCR_VERTICAL, DIALOG_MAX, }; enum { POS_CHKBTN_BEGIN = DLGPOS_CHKBTN_MEMBER_INFOS, POS_CHKBTN_END = DLGPOS_CHKBTN_GUILD_MAN + 1, POS_CHKBTN_SIZE = POS_CHKBTN_END - POS_CHKBTN_BEGIN, POS_BTN_BEGIN = DLGPOS_BTN_EXIT, POS_BTN_END = DLGPOS_BTN_RIGHT_DELEGATION + 1, POS_BTN_SIZE = POS_BTN_END - POS_BTN_BEGIN, }; enum eBTN { BTN_EXIT, BTN_GUILD_INVITE, BTN_GUILD_DELETE, BTN_GUILD_EXIT, BTN_GUILD_NOTICE, BTN_GUILD_DUTY_VEST, BTN_GUILD_RELATIONSHIP, BTN_GUILD_RIGHT_DELEGATION, }; public: uiGuildMain(InterfaceManager *pUIMan); virtual ~uiGuildMain(); //-------------------------------- ------------------------------------------ // init/release // public: virtual void Init(CDrawBase* pDrawBase); virtual void Release(); virtual void Reset(); protected: void InitControls(); //-------------------------------------------------------------------------- // helper/comms. // public: uiGuildMan* GetManager(); //-------------------------------------------------------------------------- // functions // public: void updateMemberInfos(); void renderMemberInfos(); const TCHAR * GetAttemptChageMasterName() { return m_strAttemptChageMasterName.c_str(); } void SetMemberInfoButtonState(bool bState) {m_bClickMemberRightInfoButton = bState;} bool GetMemberInfoButtonState(){return m_bClickMemberRightInfoButton;} stGUILD_MEMBER_INFO * GetSelectedPacketForGuildMember(); //-------------------------------------------------------------------------- // dialog functions // public: void InsertAllCorps(); void SetListCaption(); void SetCurSelCorps(int iCorps) {m_iCurSelCorps = iCorps;} void updateMouseWheel(); int last_scrollbar_position() const { return last_scrollbar_position_; } void set_last_scrollbar_position(const int scrollbar_position) { last_scrollbar_position_ = scrollbar_position; } //! ÇÔ¼ö »ç¿ë½Ã µðÆÄÀÎ : _YMS_GUILD_DETAL_SPEC stGUILD_MEMBER_INFO* GetMemberInfo_byListboxCurSel(); protected: virtual void OnShowWindow( BOOL val ); virtual void OnUpdateSolarDialog(); virtual void OnRenderSolarDialog(); protected: CControlWZ * getControl( POSTYPE AtPos ); POSTYPE getCtrlIDToPos( WzID wzId ); static WzID m_wzId[DIALOG_MAX]; //-------------------------------------------------------------------------- // procedure // public: virtual void NetworkProc( MSG_BASE * pMsg ); // Pure virtual void MessageProc( SI_MESSAGE * pMessage ); // Pure //-------------------------------------------------------------------------- // member vars // private: void OpenGuildNotice(); void OnClickDutyVest(); void OnClickRightDelegation(); void OnClickGuildMasterDelegation(); void OnClickGuildMemberRightInfo(); void OnClickGuildCropChange(); bool OnLDoubleButtonClick(SI_MESSAGE* message); util::_tstring m_strAttemptChageMasterName; bool m_bClickMemberRightInfoButton; uiGuildMan* m_pGuildMan; CCtrlButtonCheckWZ* m_pChkBtnControls[POS_CHKBTN_SIZE]; CCtrlListWZ* m_pLstControl; CCtrlListWZ * m_pListCorps; int m_iCurSelCorps; CCtrlStaticWZ * m_pCaptinCurSel; CCtrlStaticWZ * m_pStaticNumGuildMember; CCtrlButtonWZ* m_pBtnControls[POS_BTN_SIZE]; CCtrlVScrollWZ* m_pScrollControl; bool m_bControlsInitialized; //bool m_bShow; int m_MaxPage; CControlWZ * m_pSortName; CControlWZ * m_pSortLevel; CControlWZ * m_pSortClass; CControlWZ * m_pSortDuty; CControlWZ * m_pSortConnect; int last_scrollbar_position_; }; //------------------------------------------------------------------------------ /** */ inline POSTYPE uiGuildMain::getCtrlIDToPos( WzID wzId ) { for( POSTYPE i = 0 ; i < DIALOG_MAX ; ++i ) { if( m_wzId[i] == wzId ) { return i; } } return DIALOG_MAX; } //------------------------------------------------------------------------------ /** */ inline CControlWZ * uiGuildMain::getControl( POSTYPE AtPos ) { assert( AtPos < DIALOG_MAX ); return GetControlWZ( m_wzId[AtPos] ); } //------------------------------------------------------------------------------ /** */ inline uiGuildMan* uiGuildMain::GetManager() { return this->m_pGuildMan; } #endif //_NA_003923_20120217_GUILD_RENEWAL_UI_GUILD_MANAGER //------------------------------------------------------------------------------ #endif // __USER_INTERFACE_GUILDMAIN_H__