Added Container#apend method, EditLine caret will now stay visible while typing, EditLine#value= now sets the value of @text_input

This commit is contained in:
2021-02-09 17:41:29 -06:00
parent d050f63c2b
commit 29fbac7140
2 changed files with 17 additions and 0 deletions

View File

@@ -45,6 +45,17 @@ module CyberarmEngine
root.gui_state.request_recalculate root.gui_state.request_recalculate
end end
def apend(&block)
old_container = $__current_container__
$__current_container__ = self
block.call(self) if block
$__current_container__ = old_container
root.gui_state.request_recalculate
end
def render def render
Gosu.clip_to(@x, @y, width, height) do Gosu.clip_to(@x, @y, width, height) do
@children.each(&:draw) @children.each(&:draw)

View File

@@ -67,6 +67,8 @@ module CyberarmEngine
if @last_text_value != value if @last_text_value != value
@last_text_value = value @last_text_value = value
@show_caret = true
@caret_last_interval = Gosu.milliseconds
publish(:changed, value) publish(:changed, value)
end end
@@ -251,6 +253,10 @@ module CyberarmEngine
def value def value
@text_input.text @text_input.text
end end
def value=(string)
@text_input.text = string
end
end end
end end
end end