diff --git a/lib/cyberarm_engine/ui/elements/container.rb b/lib/cyberarm_engine/ui/elements/container.rb index ba7a461..5dcb392 100644 --- a/lib/cyberarm_engine/ui/elements/container.rb +++ b/lib/cyberarm_engine/ui/elements/container.rb @@ -45,6 +45,17 @@ module CyberarmEngine root.gui_state.request_recalculate 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 Gosu.clip_to(@x, @y, width, height) do @children.each(&:draw) diff --git a/lib/cyberarm_engine/ui/elements/edit_line.rb b/lib/cyberarm_engine/ui/elements/edit_line.rb index 31a17aa..2a4b65e 100644 --- a/lib/cyberarm_engine/ui/elements/edit_line.rb +++ b/lib/cyberarm_engine/ui/elements/edit_line.rb @@ -67,6 +67,8 @@ module CyberarmEngine if @last_text_value != value @last_text_value = value + @show_caret = true + @caret_last_interval = Gosu.milliseconds publish(:changed, value) end @@ -251,6 +253,10 @@ module CyberarmEngine def value @text_input.text end + + def value=(string) + @text_input.text = string + end end end end