module Gio::ActionMap

Public Instance Methods

add_action(action) click to toggle source
# File lib/gio2/action-map.rb, line 20
def add_action(action)
  action = convert_to_action(action) unless action.is_a?(Action)
  add_action_raw(action)
  actions[action.name] = action
end
Also aliased as: add_action_raw
add_action_raw(action)
Alias for: add_action
add_actions(actions) click to toggle source
# File lib/gio2/action-map.rb, line 32
def add_actions(actions)
  actions.each do |action|
    add_action(action)
  end
end
remove_action(name) click to toggle source
# File lib/gio2/action-map.rb, line 27
def remove_action(name)
  remove_action_raw(name)
  actions.delete(name)
end
Also aliased as: remove_action_raw
remove_action_raw(name)
Alias for: remove_action

Private Instance Methods

actions() click to toggle source
# File lib/gio2/action-map.rb, line 39
def actions
  @actions ||= {}
end
convert_to_action(definition) click to toggle source
# File lib/gio2/action-map.rb, line 43
def convert_to_action(definition)
  name = definition[:name]
  parameter_type = definition[:parameter_type]
  state = definition[:state]
  callback = definition[:callback]

  action = SimpleAction.new(name, parameter_type, state)
  if callback
    action.signal_connect("activate") do |*args|
      callback.call(*args)
    end
  end
  action
end