Archived
1
0
Fork 0
This repository has been archived on 2023-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
cli-old/lib/widgets/container.rb

31 lines
481 B
Ruby
Raw Normal View History

2017-07-22 11:07:15 -04:00
# frozen_string_literal: true
module Widgets
class Container < Base
2017-07-22 11:37:22 -04:00
attr_reader :focus
2017-07-22 11:45:56 -04:00
def trigger(event)
focus.trigger event
end
2017-07-22 11:37:22 -04:00
def draw
children.each(&:render)
end
def children
raise NotImplementedError, "#{self.class}#children"
end
def focus=(value)
focus&.focused = false
@focus = value
focus.focused = true
end
2017-07-22 11:45:56 -04:00
def focused=(value)
super
focus.focused = focused
end
2017-07-22 11:07:15 -04:00
end
end