Module: RubyMVC::Toolkit::SignalHandler

Included in:
Widget, WxRuby::WebView
Defined in:
lib/ruby_mvc/toolkit/notification.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#signal_connect(signal, &block) ⇒ Object



180
181
182
183
184
# File 'lib/ruby_mvc/toolkit/notification.rb', line 180

def signal_connect(signal, &block)
  self.class.valid_signal? signal if self.class.respond_to? :signals
  signals = (@signals ||= {})
  signals[signal] = block
end

#signal_disconnect(signal) ⇒ Object



186
187
188
189
190
# File 'lib/ruby_mvc/toolkit/notification.rb', line 186

def signal_disconnect(signal)
  self.class.valid_signal? signal if self.class.respond_to? :signals
  signals = (@signals ||= {})
  signals.delete(signal)
end

#signal_emit(signal, *args) ⇒ Object



192
193
194
195
196
197
198
199
# File 'lib/ruby_mvc/toolkit/notification.rb', line 192

def signal_emit(signal, *args)
  self.class.valid_signal? signal if self.class.respond_to? :signals
  signals = (@signals ||= {})
  if signals.key? signal
    proc = signals[signal]
    proc.call(*args) if !proc.nil?
  end
end