Updated German translation
[dasher.git] / Src / DasherCore / ButtonMode.h
bloba6fb2ac994348865ad2644772dc5d45cfa620499
2 // ButtonMode.h
3 // Copyright 2009 by Alan Lawrence
5 #ifndef __BUTTON_MODE_H__
6 #define __BUTTON_MODE_H__
8 #include <string>
9 #include <vector>
10 #include <iostream>
11 #include <fstream>
12 #include <algorithm>
13 #include "Event.h"
14 #include "DasherButtons.h"
16 using namespace std;
17 namespace Dasher {
18 /// \ingroup Input
19 /// @{
20 /// Handles the "menu mode" and "direct mode" input filters, according to the bMenu constructor parameter.
21 class CButtonMode : public CDasherButtons, protected CSettingsObserver
23 public:
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);
34 protected:
35 void SetupBoxes();
36 void DirectKeyDown(unsigned long iTime, int iId, CDasherView *pView, CDasherModel *pModel);
37 private:
38 bool m_bHighlight;
39 unsigned long m_iLastTime;
42 /// @}
44 #endif