/* ========================================================================== * ÆÄ ÀÏ : ShortcutWindow.h * ¸ñ Àû : * ÀÛ ¼º ÀÚ : Á¶¿µÀÎ * ÀÛ ¼º ÀÏ : 2009-09-01 * ÁÖÀÇ»çÇ× : *===========================================================================*/ #pragma once #include "UIWindow.h" #include "ShortcutManager.h" class cBaseIcon; class cUIImage; /// ¡ØÁÖÀÇ:path_shortcut.txt ÆÄÀÏÀÇ Å°º¸µå À妽º¿Í µ¿ÀÏÇØ¾ßÇÔ enum eKEYBOARD_KEY { eKEYBOARD_TAB = 1025, eKEYBOARD_CTRLLEFT = 1026, eKEYBOARD_CTRLRIGHT= 1071, eKEYBOARD_ALTRIGHT = 1070, eKEYBOARD_SPACEBAR = 1028, eKEYBOARD_NUMPAD0 = 1074, }; const unsigned int SHORTCUT_ICON_BASE_INDEX = 1000000; class cShortcutWindow : public cUIWindow { public: cShortcutWindow(); virtual ~cShortcutWindow(); virtual void Open(); virtual void Close(); void SetShortcutIcon( int shortcutIndex ); /// ÇØ´ç shortcutIndex ¿¡ ±âº» ÇÒ´çµÈ ¾ÆÀÌÄÜÀ» ±×¸². void UpdateKeyboardIcon( int keyboardIndex, int shortcutIndex ); /// ÇØ´ç keyboradIndex ¿¡ shortcutIndex ¾ÆÀÌÄÜÀÌ ÇÒ´çµÊ. void UpdateAllIcon(){}; void ClearKeyboardIcon( int iconIndex ); void ClearShortcutIcon( int iconIndex ); void ClearAllKeyboardIcon(); void ClearAllShortcutIcon(); bool UpdateSpecialKeyRect(); cUINode* GetSpecialKeyNode( const cUIPos& pos ); void HideSelectImage(); ///¼±Åà À̹ÌÁö Áö¿ì±â void UpdateSelect( int iconID ); void SetDefaultShortcutIcon(); protected: virtual void OnIconClicked( cUINode* , unsigned int ); virtual void OnIconDragged( cUINode* , unsigned int , const cUIPos& , bool ); virtual void HideESC( bool onsound = true ); private: bool OnCreate(cUINodeProperty* pproperty ); void OnCommand(cUINode* , unsigned int ); void OnShow(); void OnHide(); void UpdateSkin(); void UpdateRect(); void OnRender( cUIFontItemKeeper* pKeeper ); private: typedef tPointerHashMap< int, void* > sIconMap; sIconMap mShortcutIcon; sIconMap mKeyboardIcon; /// ¼±ÅÃµÈ ¾ÆÀÌÄÜ Ç¥½Ã cBaseIcon* mSelectIcon; cUIImage* mpSelectImage; bool mShowSelect; /// Ư¼ö ¾ÆÀÌÄÜµé ¿µ¿ª(´Ù¸¥ ¾ÆÀÌÄܰú Å©±â°¡ ´Ù¸¥ Tab, Ctrl, Alt, Space Bar, ¼ýÀÚŰÆÐµå 0 ) cUIRect mTabAbsoluteRect; cUIRect mRCtrlAbsoluteRect; cUIRect mLCtrlAbsoluteRect; cUIRect mRAltAbsoluteRect; cUIRect mSpaceBarAbsoluteRect; cUIRect mNumPad0AbsoluteRect; };