class UnderOs::UI::Collection

Public Class Methods

new(options={}) click to toggle source
Calls superclass method UnderOs::UI::View::new
# File lib/under_os/ui/collection.rb, line 4
def initialize(options={})
  super

  self.layout = Layout.new                          if ! options[:layout]
  self.layout = options.delete(:layout)             if options[:layout].is_a?(Class)
  self.layout = options.delete(:layout).constantize if options[:layout].is_a?(String)

  @_.delegate = @_.dataSource = Delegate.new(self)
  @_.registerClass(Cell, forCellWithReuseIdentifier:'UOSCollectionCell')
end

Public Instance Methods

item_class() click to toggle source
# File lib/under_os/ui/collection.rb, line 33
def item_class
  Cell.classes[self]
end
item_class=(klass) click to toggle source
# File lib/under_os/ui/collection.rb, line 37
def item_class=(klass)
  Cell.classes[self] = klass
end
layout() click to toggle source
# File lib/under_os/ui/collection.rb, line 24
def layout
  @layout
end
layout=(layout) click to toggle source
# File lib/under_os/ui/collection.rb, line 28
def layout=(layout)
  layout = Layout.new(layout) if layout.is_a?(UICollectionViewLayout)
  @_.collectionViewLayout = (@layout = layout)._
end
number_of_items(section=0) click to toggle source
# File lib/under_os/ui/collection.rb, line 46
def number_of_items(section=0)
  (@number_of_items || [0])[section]
end
number_of_items=(value) click to toggle source
# File lib/under_os/ui/collection.rb, line 50
def number_of_items=(value)
  @number_of_items = value.is_a?(Numeric) ? [value] : value
  reload
end
number_of_sections() click to toggle source
# File lib/under_os/ui/collection.rb, line 55
def number_of_sections
  (@number_of_items || [0]).size
end
on(*args, &block) click to toggle source
Calls superclass method UnderOs::UI::Events#on
# File lib/under_os/ui/collection.rb, line 15
def on(*args, &block)
  super *args do |event|
    params = [event.item, event.index, event.section]
    params = params.slice(0, block.arity) if block.arity > -1

    block.call *params
  end
end
reload() click to toggle source
# File lib/under_os/ui/collection.rb, line 41
def reload
  @_.reloadData
  self
end
repaint(stylesheet=nil) click to toggle source
# File lib/under_os/ui/collection.rb, line 59
def repaint(stylesheet=nil)
  stylesheet ||= page && page.stylesheet

  self.style = stylesheet.styles_for(self) if stylesheet
  Styles.build(self, stylesheet)           if stylesheet
end