Module: Apotomo::EventMethods::ClassMethods
- Defined in:
- lib/apotomo/widget/event_methods.rb
Instance Method Summary collapse
-
#responds_to_event(*options) ⇒ Object
Instructs the widget to look out for
type
events.
Instance Method Details
#responds_to_event(*options) ⇒ Object
Instructs the widget to look out for type
events. If an appropriate event starts from or passes the widget, the defined trigger state is executed.
class MouseWidget < Apotomo::Widget
responds_to_event :squeak
def squeak(evt)
update
end
Calls #squeak when a :squeak
event is encountered.
Options
Any option except the event type
is optional.
:with => state
-
executes
state
, defaults totype
.responds_to_event :squeak, :with => :chirp
will invoke the
#chirp
state method. :on => id
-
execute the trigger state on another widget.
responds_to_event :squeak, :on => :cat
will invoke the
#squeak
state on the:cat
widget. :from => id
-
executes the state only if the event origins from
id
.responds_to_event :squeak, :from => :kid
will invoke the
#squeak
state if:kid
triggered and if:kid
is a decendent of the current widget. :passing => id
-
attaches the observer to another widget. Useful if you want to catch bubbling events in
root
.responds_to_event :squeak, :passing => :root
will invoke the state on the current widget if the event passes
:root
(which is highly probable).
Inheritance
Note that the observers are inherited. This allows deriving a widget class without having to redefine the responds_to_event blocks.
71 72 73 |
# File 'lib/apotomo/widget/event_methods.rb', line 71 def responds_to_event(*) << end |