lib/cyberarm_engine/ui/dsl.rb in cyberarm_engine-0.5.1 vs lib/cyberarm_engine/ui/dsl.rb in cyberarm_engine-0.6.0

- old
+ new

@@ -1,9 +1,10 @@ module CyberarmEngine module DSL def flow(options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _container = Flow.new(options, block) @containers << _container _container.build options[:parent].add(_container) @containers.pop @@ -11,10 +12,11 @@ return _container end def stack(options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _container = Stack.new(options, block) @containers << _container _container.build options[:parent].add(_container) @containers.pop @@ -22,50 +24,56 @@ return _container end def label(text, options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _element = Label.new(text, options, block) @containers.last.add(_element) return _element end def button(text, options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _element = Button.new(text, options, block) { if block.is_a?(Proc); block.call; end } @containers.last.add(_element) return _element end def edit_line(text, options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _element = EditLine.new(text, options, block) @containers.last.add(_element) return _element end def toggle_button(options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _element = ToggleButton.new(options, block) @containers.last.add(_element) return _element end def check_box(text, options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _element = CheckBox.new(text, options, block) @containers.last.add(_element) return _element end def image(path, options = {}, &block) options[:parent] = @containers.last + options[:theme] = @current_theme _element = Image.new(path, options, block) @containers.last.add(_element) return _element end @@ -75,8 +83,12 @@ end # Foreground color, e.g. Text def color(color) @containers.last.color(color) + end + + def set_theme(theme) + @current_theme = theme end end end \ No newline at end of file