File: ButtonMode.h

package info (click to toggle)
dasher 4.11%2Bgit20130508.adc653-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 40,248 kB
  • ctags: 5,158
  • sloc: xml: 185,479; cpp: 32,301; sh: 11,207; makefile: 828; ansic: 483
file content (44 lines) | stat: -rw-r--r-- 1,290 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44

// ButtonMode.h 
// Copyright 2009 by Alan Lawrence

#ifndef __BUTTON_MODE_H__
#define __BUTTON_MODE_H__

#include <string>
#include <vector>
#include <iostream>
#include <fstream>
#include <algorithm>
#include "Event.h"
#include "DasherButtons.h"

using namespace std;
namespace Dasher {
/// \ingroup Input
/// @{
/// Handles the "menu mode" and "direct mode" input filters, according to the bMenu constructor parameter.
class CButtonMode : public CDasherButtons, protected CSettingsObserver
{
 public:
  CButtonMode(CSettingsUser *pCreator, CDasherInterfaceBase *pInterface, bool bMenu, int iID, const char *szName);

  virtual void HandleEvent(int iParameter);
  void Timer(unsigned long Time, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel, CExpansionPolicy **pol);
  bool DecorateView(CDasherView *pView, CDasherInput *pInput);

  //override to get mouse clicks/taps back again
  virtual void KeyDown(unsigned long Time, int iId, CDasherView *pView, CDasherInput *pInput, CDasherModel *pModel);
  
  bool GetSettings(SModuleSettings **pSettings, int *iCount);
 protected: 
  void SetupBoxes();
  void DirectKeyDown(unsigned long iTime, int iId, CDasherView *pView, CDasherModel *pModel);
 private:
  bool m_bHighlight;
  unsigned long m_iLastTime;
};
}
/// @}

#endif