Module: Responder2
- Included in:
- Fox::FXDataTarget, Fox::FXRecentFiles, Fox::FXWindow
- Defined in:
- lib/fox16/responder2.rb
Overview
The Responder2 module provides the #connect method, which is mixed-in to all classes that have a message target (i.e. Fox::FXDataTarget, Fox::FXRecentFiles and Fox::FXWindow).
Instance Method Summary collapse
-
#connect(message_type, callable_object = nil, &block) ⇒ Object
Assign a “handler” for all FOX messages of type messageType sent from this widget.
Instance Method Details
#connect(message_type, callable_object = nil, &block) ⇒ Object
Assign a “handler” for all FOX messages of type messageType sent from this widget. When called with only one argument, a block is expected, e.g.
aButton.connect(SEL_COMMAND) { |sender, selector, data|
... code to handle this event ...
}
The arguments passed into the block are the sender of the message (i.e. the widget), the selector for the message, and any message-specific data.
When #connect is called with two arguments, the second argument should be some callable object such as a Method or Proc instance, e.g.
aButton.connect(SEL_COMMAND, method(:onCommand))
As with the one-argument form of #connect, the callable object will be “called” with three arguments (the sender, selector and message data).
106 107 108 109 110 111 112 |
# File 'lib/fox16/responder2.rb', line 106 def connect(, callable_object=nil, &block) unless instance_variables.include?('@pseudoTarget') || instance_variables.include?(:@pseudoTarget) @pseudoTarget = Fox::FXPseudoTarget.new self.target = @pseudoTarget end @pseudoTarget.pconnect(, callable_object ? callable_object : block) end |