00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __AWINOPTIONSCONTROLLERS_H__
00012 #define __AWINOPTIONSCONTROLLERS_H__
00013
00014 #include "Mod_Aeternis_Client/Mod_Aeternis_ClientDll.h"
00015 #include "Interface/Win.h"
00016 #include "Interface/Button.h"
00017 #include "Interface/WinTab.h"
00018 #include "Interface/Text.h"
00019 #include "Mod_Aeternis_Client/A_InputManager.h"
00020
00021 struct ButtonKey
00022 {
00023 KButton* pButtonText ;
00024 bool bPressed ;
00025 } ;
00026
00027 enum E_TABS
00028 {
00029 E_TAB_ACTION=0,
00030 E_TAB_VOICECMD,
00031 E_TAB_HUD,
00032 E_TAB_COUNT,
00033 };
00034
00035
00036 class MOD_AETERNIS_CLIENT_API KAWinOptionsControllers : public KWin
00037 {
00038 protected:
00039 KSHADER m_BackGround;
00040 KButton* m_pButtonApply;
00041 KButton* m_pButtonBack;
00042 KText* m_pTabActionsName[E_ACTIONS_COUNT] ;
00043 ButtonKey m_pTabActionsKey[E_ACTIONS_COUNT] ;
00044 bool m_bWaitingMode;
00045 bool m_bIgnoreNextMouseEvent;
00046 KWinTab* m_pWinTab ;
00047
00048 void EnableButtons(bool bEnable) ;
00049 void PressButton(u32 eAction) ;
00050 bool IsKeyAlreadyAffected(u32 uiAction,KKEY uKey) ;
00051
00052
00053 public:
00054 KAWinOptionsControllers( KWin* pFather, KFPt& Pos, KFPt& Size, KInterface* pInterface );
00055 ~KAWinOptionsControllers();
00056
00057 virtual void Display();
00058 virtual void Manage();
00059 virtual bool OnKeyDown( u32 Virtkey, u32 KeyData );
00060 virtual bool OnMouseEvent( KWMOUSEEVENT Event, u32 Param );
00061
00062
00063 virtual void Load();
00064 virtual void Unload();
00065 };
00066
00067 #endif __AWINOPTIONSCONTROLLERS_H__