00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef FIFE_EVENTCHANNEL_INPUTEVENT_H
00023 #define FIFE_EVENTCHANNEL_INPUTEVENT_H
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include "ec_event.h"
00037
00038 namespace FIFE {
00039
00042 class InputEvent: public Event {
00043 public:
00046 InputEvent():
00047 Event(),
00048 m_consumedbywidgets(false),
00049 m_isshiftpressed(false),
00050 m_iscontrolpressed(false),
00051 m_isaltpressed(false),
00052 m_ismetapressed(false) {}
00053
00056 ~InputEvent() {}
00057
00060 virtual bool isAltPressed() const { return m_isaltpressed; }
00061 virtual void setAltPressed(bool pressed) { m_isaltpressed = pressed; }
00062
00065 virtual bool isControlPressed() const { return m_iscontrolpressed; }
00066 virtual void setControlPressed(bool pressed) { m_iscontrolpressed = pressed; }
00067
00070 virtual bool isMetaPressed() const { return m_ismetapressed; }
00071 virtual void setMetaPressed(bool pressed) { m_ismetapressed = pressed; }
00072
00075 virtual bool isShiftPressed() const { return m_isshiftpressed; }
00076 virtual void setShiftPressed(bool pressed) { m_isshiftpressed = pressed; }
00077
00080 virtual void consumedByWidgets() { m_consumedbywidgets = true; }
00081 virtual bool isConsumedByWidgets() const { return m_consumedbywidgets; }
00082
00083 virtual void consume() { Event::consume(); }
00084 virtual bool isConsumed() const { return Event::isConsumed(); }
00085 virtual IEventSource* getSource() { return Event::getSource(); }
00086 virtual void setSource(IEventSource* source) { Event::setSource(source); }
00087 virtual gcn::Widget* getSourceWidget() { return Event::getSourceWidget(); }
00088 virtual void setSourceWidget(gcn::Widget* widget) { Event::setSourceWidget(widget); }
00089 virtual int getTimeStamp() const { return Event::getTimeStamp(); }
00090 virtual void setTimeStamp(int timestamp ) { Event::setTimeStamp(timestamp); }
00091
00092 virtual const std::string& getName() const {
00093 const static std::string eventName("InputEvent");
00094 return eventName;
00095 }
00096 virtual std::string getDebugString() const { return Event::getDebugString(); }
00097
00098 virtual std::string getAttrStr() const {
00099 std::stringstream ss;
00100 ss << Event::getAttrStr() << std::endl;
00101 ss << "shift = " << m_isshiftpressed << ", ";
00102 ss << "ctrl = " << m_iscontrolpressed << ", ";
00103 ss << "alt = " << m_isaltpressed << ", ";
00104 ss << "meta = " << m_ismetapressed;
00105 return ss.str();
00106 }
00107
00108
00109 private:
00110 bool m_consumedbywidgets;
00111 bool m_isshiftpressed;
00112 bool m_iscontrolpressed;
00113 bool m_isaltpressed;
00114 bool m_ismetapressed;
00115 };
00116 }
00117
00118 #endif