From a98bb4ec82900ec87c414578bafd33aad863e078 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Tue, 5 May 2020 10:48:00 -0500 Subject: [PATCH] Fixed hidden elements were interactable, added comments --- lib/cyberarm_engine/ui/elements/check_box.rb | 4 +++- lib/cyberarm_engine/ui/elements/container.rb | 4 ++++ lib/cyberarm_engine/ui/elements/label.rb | 2 +- lib/cyberarm_engine/ui/elements/slider.rb | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/cyberarm_engine/ui/elements/check_box.rb b/lib/cyberarm_engine/ui/elements/check_box.rb index 2fd4870..fa4aacc 100644 --- a/lib/cyberarm_engine/ui/elements/check_box.rb +++ b/lib/cyberarm_engine/ui/elements/check_box.rb @@ -18,6 +18,7 @@ module CyberarmEngine @label.subscribe(:clicked_left_mouse_button) do |sender, x, y| @toggle_button.clicked_left_mouse_button(sender, x, y) + publish(:changed, @toggle_button.value) end @label.subscribe(:enter) do |sender| @@ -42,7 +43,8 @@ module CyberarmEngine end def value=(bool) - @toggle_button.vlaue = bool + @toggle_button.value = bool + publish(:changed, @toggle_button.value) end end end diff --git a/lib/cyberarm_engine/ui/elements/container.rb b/lib/cyberarm_engine/ui/elements/container.rb index c067270..87a6d13 100644 --- a/lib/cyberarm_engine/ui/elements/container.rb +++ b/lib/cyberarm_engine/ui/elements/container.rb @@ -57,6 +57,8 @@ module CyberarmEngine def hit_element?(x, y) @children.reverse_each do |child| + next unless child.visible? + case child when Container if element = child.hit_element?(x, y) @@ -108,10 +110,12 @@ module CyberarmEngine raise "Not overridden" end + # TODO: Fix @max_width no longer exists def max_width @max_width ? @max_width : window.width - (@parent ? @parent.style.margin_right + @style.margin_right : @style.margin_right) end + # TODO: Fix container automatic width (0.0..1.0) not considered def fits_on_line?(element) # Flow @current_position.x + element.outer_width <= max_width && @current_position.x + element.outer_width <= window.width diff --git a/lib/cyberarm_engine/ui/elements/label.rb b/lib/cyberarm_engine/ui/elements/label.rb index f8b5b50..2321dc3 100644 --- a/lib/cyberarm_engine/ui/elements/label.rb +++ b/lib/cyberarm_engine/ui/elements/label.rb @@ -14,7 +14,7 @@ module CyberarmEngine def clicked_left_mouse_button(sender, x, y) @block.call(self) if @block - return :handled + # return :handled end def recalculate diff --git a/lib/cyberarm_engine/ui/elements/slider.rb b/lib/cyberarm_engine/ui/elements/slider.rb index 1ba9c63..91cd67a 100644 --- a/lib/cyberarm_engine/ui/elements/slider.rb +++ b/lib/cyberarm_engine/ui/elements/slider.rb @@ -57,7 +57,7 @@ module CyberarmEngine @handle.recalculate @handle.update_background - pp @handle.height + # pp @handle.height update_background end