Added Progress bar, refactored Elements to be under CyberarmEngine::Element namespace.

This commit is contained in:
2019-06-27 15:41:38 -05:00
parent b3bfa0d654
commit bdce85613b
24 changed files with 633 additions and 548 deletions

View File

@@ -0,0 +1,59 @@
module CyberarmEngine
class Element
class CheckBox < Flow
def initialize(text, options, block = nil)
super({}, block = nil)
options[:toggled] = options[:checked]
@toggle_button = ToggleButton.new(options)
@label = Label.new(text, options)
define_label_singletons
add(@toggle_button)
add(@label)
end
def text=(text)
@label.text = text
recalculate
end
def value
@toggle_button.value
end
def value=(bool)
@toggle_button.vlaue = bool
end
def define_label_singletons
@label.define_singleton_method(:_toggle_button) do |button|
@_toggle_button = button
end
@label._toggle_button(@toggle_button)
@label.define_singleton_method(:holding_left_mouse_button) do |sender, x, y|
@_toggle_button.left_mouse_button(sender, x, y)
end
@label.define_singleton_method(:released_left_mouse_button) do |sender, x, y|
@_toggle_button.released_left_mouse_button(sender, x, y)
end
@label.define_singleton_method(:clicked_left_mouse_button) do |sender, x, y|
@_toggle_button.clicked_left_mouse_button(sender, x, y)
end
@label.define_singleton_method(:enter) do |sender|
@_toggle_button.enter(sender)
end
@label.define_singleton_method(:leave) do |sender|
@_toggle_button.leave(sender)
end
end
end
end
end