class UIBarButtonItem

Factory methods for UIBarButtonItem

Public Class Methods

action(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 52
def action(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemAction, action)
end
add(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 22
def add(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemAdd, action)
end
bookmarks(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 60
def bookmarks(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemBookmarks, action)
end
camera(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 76
def camera(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemCamera, action)
end
cancel(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 10
def cancel(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemCancel, action)
end
compose(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 44
def compose(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemCompose, action)
end
done(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 6
def done(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemDone, action)
end
edit(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 14
def edit(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemEdit, action)
end
fast_forward(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 101
def fast_forward(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemFastForward, action)
end
fastforward(&action) click to toggle source

deprecated

# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 97
def fastforward(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemFastForward, action)
end
fixed_space(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 40
def fixed_space(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemFixedSpace, action)
end
fixedspace(&action) click to toggle source

deprecated

# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 36
def fixedspace(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemFixedSpace, action)
end
flexible_space(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 31
def flexible_space(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemFlexibleSpace, action)
end
flexiblespace(&action) click to toggle source

deprecated

# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 27
def flexiblespace(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemFlexibleSpace, action)
end
imaged(image, style = UIBarButtonItemStyleBordered, &action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 126
def imaged(image, style = UIBarButtonItemStyleBordered, &action)
  sugarcube_barbuttonitem_with_image(image, style, action)
end
organize(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 56
def organize(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemOrganize, action)
end
page_curl(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 118
def page_curl(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemPageCurl, action)
end
pagecurl(&action) click to toggle source

deprecated

# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 114
def pagecurl(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemPageCurl, action)
end
pause(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 88
def pause(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemPause, action)
end
play(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 84
def play(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemPlay, action)
end
redo(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 109
def redo(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemRedo, action)
end
refresh(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 68
def refresh(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemRefresh, action)
end
reply(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 48
def reply(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemReply, action)
end
rewind(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 92
def rewind(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemRewind, action)
end
save(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 18
def save(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemSave, action)
end
stop(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 72
def stop(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemStop, action)
end
titled(title, style = UIBarButtonItemStyleBordered, &action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 122
def titled(title, style = UIBarButtonItemStyleBordered, &action)
  sugarcube_barbuttonitem_with_title(title, style, action)
end
trash(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 80
def trash(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemTrash, action)
end
undo(&action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 105
def undo(&action)
  sugarcube_barbuttonitem(UIBarButtonSystemItemUndo, action)
end

Private Class Methods

sugarcube_barbuttonitem(systemitem, action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 142
def self.sugarcube_barbuttonitem(systemitem, action)
  systemitem = systemitem.uibarbuttonitem if systemitem.respond_to?(:uibarbuttonitem)
  b = UIBarButtonItem.alloc.initWithBarButtonSystemItem(systemitem, target:nil, action:nil)
  b.set_target_and_action b, action
  b
end
sugarcube_barbuttonitem_with_image(image, style, action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 156
def self.sugarcube_barbuttonitem_with_image(image, style, action)
  style = style.uibarbuttonstyle if style.respond_to?(:uibarbuttonstyle)
  case image
  when Array
    first = image.first
    first = first.uiimage if first.respond_to?(:uiimage)
    last = image.last
    last = last.uiimage if last.respond_to?(:uiimage)
    b = UIBarButtonItem.alloc.initWithImage(first, landscapeImagePhone: last, style: style, target: nil, action: nil)
  else
    image = image.uiimage if image.respond_to?(:uiimage)
    b = UIBarButtonItem.alloc.initWithImage(image, style: style, target: nil, action: nil)
  end
  b.set_target_and_action b, action
  b
end
sugarcube_barbuttonitem_with_title(title, style, action) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 149
def self.sugarcube_barbuttonitem_with_title(title, style, action)
  style = style.uibarbuttonstyle if style.respond_to?(:uibarbuttonstyle)
  b = UIBarButtonItem.alloc.initWithTitle(title, style:style, target:nil, action:nil)
  b.set_target_and_action b, action
  b
end

Public Instance Methods

set_target_and_action(target, action) click to toggle source

Adds the action and keeps a strong reference to the Proc object.

# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 133
def set_target_and_action target, action
  self.target = target
  self.action = 'sugarcube_handle_action:'
  @sugarcube_action = action.respond_to?('weak!') ? action.weak! : action
end

Private Instance Methods

sugarcube_handle_action(sender) click to toggle source
# File lib/ios/sugarcube-factories/uibarbuttonitem.rb, line 173
def sugarcube_handle_action(sender)
  handler = @sugarcube_action
  if handler.arity == 0
    handler.call
  else
    handler.call(sender)
  end
end