Class: DYI::Event
- Inherits:
-
Object
- Object
- DYI::Event
- Defined in:
- lib/dyi/event.rb
Overview
Class representing a event. The event becomes effective only when it is output by SVG format.
Instance Attribute Summary collapse
-
#event_name ⇒ Symbol
readonly
Event name.
-
#target ⇒ GraphicalElement
readonly
An element to which the event applied.
Class Method Summary collapse
-
.click(target) ⇒ Event
Creates a new click event.
-
.focusin(target) ⇒ Event
Creates a new focus-in event.
-
.focusout(target) ⇒ Event
Creates a new focus-out event.
-
.load(target) ⇒ Event
Creates a new load event.
-
.mousedown(target) ⇒ Event
Creates a new mouse-down event.
-
.mousemove(target) ⇒ Event
Creates a new mouse-move event.
-
.mouseout(target) ⇒ Event
Creates a new mouse-out event.
-
.mouseover(target) ⇒ Event
Creates a new mouse-over event.
-
.mouseup(target) ⇒ Event
Creates a new mouse-up event.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #eql?(other) ⇒ Boolean
- #hash ⇒ Object
-
#initialize(event_name, target) ⇒ Event
constructor
A new instance of Event.
-
#remove_listener(event_listener) ⇒ Object
Removes a event listener.
-
#set_listener(event_listener) ⇒ Object
Sets a event listener.
Constructor Details
#initialize(event_name, target) ⇒ Event
Returns a new instance of Event.
54 55 56 57 58 |
# File 'lib/dyi/event.rb', line 54 def initialize(event_name, target) event_name = event_name.to_sym @event_name = event_name (@target = target).set_event(self) end |
Instance Attribute Details
#event_name ⇒ Symbol (readonly)
Returns event name.
44 45 46 |
# File 'lib/dyi/event.rb', line 44 def event_name @event_name end |
#target ⇒ GraphicalElement (readonly)
Returns an element to which the event applied.
47 48 49 |
# File 'lib/dyi/event.rb', line 47 def target @target end |
Class Method Details
.click(target) ⇒ Event
Creates a new click event.
110 111 112 |
# File 'lib/dyi/event.rb', line 110 def click(target) new(:click, target) end |
.focusin(target) ⇒ Event
Creates a new focus-in event.
96 97 98 |
# File 'lib/dyi/event.rb', line 96 def focusin(target) new(:focusin, target) end |
.focusout(target) ⇒ Event
Creates a new focus-out event.
103 104 105 |
# File 'lib/dyi/event.rb', line 103 def focusout(target) new(:focusout, target) end |
.load(target) ⇒ Event
Creates a new load event.
152 153 154 |
# File 'lib/dyi/event.rb', line 152 def load(target) new(:load, target) end |
.mousedown(target) ⇒ Event
Creates a new mouse-down event.
117 118 119 |
# File 'lib/dyi/event.rb', line 117 def mousedown(target) new(:mousedown, target) end |
.mousemove(target) ⇒ Event
Creates a new mouse-move event.
138 139 140 |
# File 'lib/dyi/event.rb', line 138 def mousemove(target) new(:mousemove, target) end |
.mouseout(target) ⇒ Event
Creates a new mouse-out event.
145 146 147 |
# File 'lib/dyi/event.rb', line 145 def mouseout(target) new(:mouseout, target) end |
.mouseover(target) ⇒ Event
Creates a new mouse-over event.
131 132 133 |
# File 'lib/dyi/event.rb', line 131 def mouseover(target) new(:mouseover, target) end |
.mouseup(target) ⇒ Event
Creates a new mouse-up event.
124 125 126 |
# File 'lib/dyi/event.rb', line 124 def mouseup(target) new(:mouseup, target) end |
Instance Method Details
#==(other) ⇒ Object
77 78 79 |
# File 'lib/dyi/event.rb', line 77 def ==(other) event_name == other.event_name && target == other.target end |
#eql?(other) ⇒ Boolean
82 83 84 |
# File 'lib/dyi/event.rb', line 82 def eql?(other) self == other end |
#hash ⇒ Object
87 88 89 |
# File 'lib/dyi/event.rb', line 87 def hash event_name.hash ^ target.hash end |
#remove_listener(event_listener) ⇒ Object
Removes a event listener.
71 72 73 74 |
# File 'lib/dyi/event.rb', line 71 def remove_listener(event_listener) target.remove_event_listener(event_name, event_listener) event_listener.(self) end |
#set_listener(event_listener) ⇒ Object
Sets a event listener.
63 64 65 66 |
# File 'lib/dyi/event.rb', line 63 def set_listener(event_listener) target.add_event_listener(event_name, event_listener) event_listener.(self) end |