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/chat.rb
2017-07-22 08:40:12 +00:00

41 lines
973 B
Ruby

# frozen_string_literal: true
module Widgets
class Chat < VPanel
def initialize(x, y, width, height)
super
info_height = 4
message_height = 1
history_height = height - info_height - message_height
info_top = 0
history_top = info_height
message_top = info_height + history_height
@info = Info.new x, y + info_top, width, info_height
@history = History.new x, y + history_top, width, history_height
@message = NewMessage.new x, y + message_top, width, message_height
end
def children
[@info, @history, @message]
end
def trigger(event)
case event
when Events::Panel::Base
@history.trigger event
when Events::Text::Base
@message.trigger event
end
end
def focused=(value)
@focused = !!value
@info.focused = focused
@history.focused = focused
@message.focused = focused
end
end
end