FIFE  2008.0
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
ec_keyevent.h
1 /***************************************************************************
2  * Copyright (C) 2005-2008 by the FIFE team *
3  * http://www.fifengine.de *
4  * This file is part of FIFE. *
5  * *
6  * FIFE is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU Lesser General Public *
8  * License as published by the Free Software Foundation; either *
9  * version 2.1 of the License, or (at your option) any later version. *
10  * *
11  * This library is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * Lesser General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU Lesser General Public *
17  * License along with this library; if not, write to the *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20  ***************************************************************************/
21 
22 #ifndef FIFE_EVENTCHANNEL_KEYEVENT_H
23 #define FIFE_EVENTCHANNEL_KEYEVENT_H
24 
25 // Standard C++ library includes
26 //
27 
28 // 3rd party library includes
29 //
30 
31 // FIFE includes
32 // These includes are split up in two parts, separated by one empty line
33 // First block: files included from the FIFE root src directory
34 // Second block: files included from the same folder
35 //
36 #include "eventchannel/base/ec_inputevent.h"
37 #include "eventchannel/source/ec_ieventsource.h"
38 
39 #include "ec_key.h"
40 
41 namespace FIFE {
42 
45  class KeyEvent: public InputEvent {
46  public:
47  enum KeyEventType {
48  UNKNOWN = -1,
49  PRESSED = 0,
50  RELEASED
51  };
52 
56  InputEvent(),
57  m_eventtype(UNKNOWN),
58  m_isnumericpad(false),
59  m_key(Key()) {}
60 
63  virtual ~KeyEvent() {}
64 
65  KeyEventType getType() const { return m_eventtype; }
66  void setType(KeyEventType type) { m_eventtype = type; }
67 
68  bool isNumericPad() const { return m_isnumericpad; }
69  void setNumericPad(bool ispad) { m_isnumericpad = ispad; }
70 
71  const Key& getKey() const { return m_key; }
72  void setKey(const Key& key) { m_key = key; }
73 
74  virtual bool isAltPressed() const { return InputEvent::isAltPressed(); }
75  virtual void setAltPressed(bool pressed) { InputEvent::setAltPressed(pressed); }
76  virtual bool isControlPressed() const { return InputEvent::isControlPressed(); }
77  virtual void setControlPressed(bool pressed) { InputEvent::setControlPressed(pressed); }
78  virtual bool isMetaPressed() const { return InputEvent::isMetaPressed(); }
79  virtual void setMetaPressed(bool pressed) { InputEvent::setMetaPressed(pressed); }
80  virtual bool isShiftPressed() const { return InputEvent::isShiftPressed(); }
81  virtual void setShiftPressed(bool pressed) { InputEvent::setShiftPressed(pressed); }
82 
83  virtual void consume() { InputEvent::consume(); }
84  virtual bool isConsumed() const { return InputEvent::isConsumed(); }
86  virtual bool isConsumedByWidgets() const { return InputEvent::isConsumedByWidgets(); }
87  virtual IEventSource* getSource() { return InputEvent::getSource(); }
88  virtual void setSource(IEventSource* source) { InputEvent::setSource(source); }
89  virtual int32_t getTimeStamp() const { return InputEvent::getTimeStamp(); }
90  virtual void setTimeStamp(int32_t timestamp ) { InputEvent::setTimeStamp(timestamp); }
91 
92  virtual const std::string& getName() const {
93  const static std::string eventName("KeyEvent");
94  return eventName;
95  }
96  virtual std::string getDebugString() const { return InputEvent::getDebugString(); }
97 
98  private:
99  KeyEventType m_eventtype;
100  bool m_isnumericpad;
101  Key m_key;
102  };
103 
104 } //FIFE
105 
106 #endif
virtual bool isMetaPressed() const
Definition: ec_keyevent.h:78
virtual bool isControlPressed() const
Definition: ec_keyevent.h:76
virtual bool isAltPressed() const
Definition: ec_inputevent.h:60
virtual int32_t getTimeStamp() const
Definition: ec_keyevent.h:89
virtual int32_t getTimeStamp() const
Definition: ec_inputevent.h:87
virtual std::string getDebugString() const
Definition: ec_inputevent.h:94
virtual void setTimeStamp(int32_t timestamp)
Definition: ec_inputevent.h:88
virtual bool isShiftPressed() const
Definition: ec_inputevent.h:75
virtual void setSource(IEventSource *source)
Definition: ec_keyevent.h:88
virtual void consumedByWidgets()
Definition: ec_inputevent.h:80
virtual ~KeyEvent()
Definition: ec_keyevent.h:63
virtual void setTimeStamp(int32_t timestamp)
Definition: ec_keyevent.h:90
virtual bool isConsumed() const
Definition: ec_inputevent.h:84
virtual bool isAltPressed() const
Definition: ec_keyevent.h:74
virtual bool isShiftPressed() const
Definition: ec_keyevent.h:80
virtual bool isConsumed() const
Definition: ec_keyevent.h:84
virtual void setSource(IEventSource *source)
Definition: ec_inputevent.h:86
virtual void consume()
Definition: ec_inputevent.h:83
virtual bool isMetaPressed() const
Definition: ec_inputevent.h:70
virtual void consume()
Definition: ec_keyevent.h:83
virtual std::string getDebugString() const
Definition: ec_keyevent.h:96
virtual bool isControlPressed() const
Definition: ec_inputevent.h:65
virtual const std::string & getName() const
Definition: ec_keyevent.h:92
virtual void consumedByWidgets()
Definition: ec_keyevent.h:85