class Shirka::Controller

Attributes

app[R]
components[R]
data[R]
parent[RW]
view[W]

Public Class Methods

new(app, parent=nil, data=nil) click to toggle source
# File lib/shirka/controller.rb, line 11
def initialize(app, parent=nil, data=nil)    
  @app = app
  @parent = parent
  @components = Components.new
  @data = data
  watch @app
  init data
end

Public Instance Methods

add_component(component, slot=nil) click to toggle source
# File lib/shirka/controller.rb, line 43
def add_component(component, slot=nil)
  component.parent = self
  @components.add slot, component
  component.on_component_adding  
  view.on_view_adding component.view, slot     
end
add_item(text='', controller_class=nil) click to toggle source
# File lib/shirka/controller.rb, line 37
def add_item(text='', controller_class=nil)
  controller_class ||= item_controller_class
  comp = controller_class.new app, self, text
  add_component comp
end
init(data) click to toggle source
# File lib/shirka/controller.rb, line 20
def init(data)
end
item_controller_class() click to toggle source
# File lib/shirka/controller.rb, line 32
def item_controller_class
  name = self.class.to_s.sub(/Controller$/, 'ItemController')
  Object.const_get name rescue ::Shirka::Controller
end
on_component_added(data=nil) click to toggle source
# File lib/shirka/controller.rb, line 53
def on_component_added(data=nil)
end
on_component_adding(data=nil) click to toggle source
# File lib/shirka/controller.rb, line 50
def on_component_adding(data=nil)
end
view() click to toggle source
# File lib/shirka/controller.rb, line 28
def view
  @view ||= view_class.new self
end
view_class() click to toggle source
# File lib/shirka/controller.rb, line 23
def view_class
  name = self.class.to_s.sub(/Controller$/, 'View')
  Object.const_get name rescue ::Shirka::View
end