3 // Copyright 2009 by Alan Lawrence
5 #ifndef __BUTTON_MODE_H__
6 #define __BUTTON_MODE_H__
14 #include "DasherButtons.h"
20 /// Handles the "menu mode" and "direct mode" input filters, according to the bMenu constructor parameter.
21 class CButtonMode
: public CDasherButtons
, protected CSettingsObserver
24 CButtonMode(CSettingsUser
*pCreator
, CDasherInterfaceBase
*pInterface
, bool bMenu
, int iID
, const char *szName
);
26 virtual void HandleEvent(int iParameter
);
27 void Timer(unsigned long Time
, CDasherView
*pView
, CDasherInput
*pInput
, CDasherModel
*pModel
, CExpansionPolicy
**pol
);
28 bool DecorateView(CDasherView
*pView
, CDasherInput
*pInput
);
30 //override to get mouse clicks/taps back again
31 virtual void KeyDown(unsigned long Time
, int iId
, CDasherView
*pView
, CDasherInput
*pInput
, CDasherModel
*pModel
);
33 bool GetSettings(SModuleSettings
**pSettings
, int *iCount
);
36 void DirectKeyDown(unsigned long iTime
, int iId
, CDasherView
*pView
, CDasherModel
*pModel
);
39 unsigned long m_iLastTime
;