module GtkApp::SignalSupport::InstanceMethods

Public Instance Methods

establish_signal_connections() click to toggle source
# File lib/gtk_app/signal_support.rb, line 33
def establish_signal_connections
  return unless self.class.signal_connections

  self.class.signal_connections.each do |signal_connection|
    signal_connection.with do |conn|
      widget = @view.send conn.widget_name
      if conn.receiver_block
        widget.signal_connect conn.signal_name do |*args|
          self.instance_exec(*args, &conn.receiver_block)
        end
      else
        widget.signal_connect conn.signal_name do |*args|
          self.send conn.receiver_method_name, *args
        end
      end
    end
  end
end