examples/meta_example.rb in glimmer-dsl-libui-0.3.2 vs examples/meta_example.rb in glimmer-dsl-libui-0.3.3

- old
+ new

@@ -3,12 +3,14 @@ require 'fileutils' class MetaExample include Glimmer + ADDITIONAL_BASIC_EXAMPLES = ['Color Button', 'Font Button', 'Form', 'Date Time Picker', 'Simple Notepad'] + def initialize - @selected_example_index = 0 + @selected_example_index = examples_with_versions.index(basic_examples_with_versions.first) end def examples if @examples.nil? example_files = Dir.glob(File.join(File.expand_path('.', __dir__), '*.rb')) @@ -23,10 +25,18 @@ examples.map do |example| version_count_for(example) > 1 ? "#{example} (#{version_count_for(example)} versions)" : example end end + def basic_examples_with_versions + examples_with_versions.select {|example| example.start_with?('Basic') || ADDITIONAL_BASIC_EXAMPLES.include?(example) } + end + + def advanced_examples_with_versions + examples_with_versions - basic_examples_with_versions + end + def file_path_for(example) File.join(File.expand_path('.', __dir__), "#{example.underscore}.rb") end def version_count_for(example) @@ -64,20 +74,50 @@ horizontal_box { vertical_box { stretchy false - @example_radio_buttons = radio_buttons { + tab { stretchy false - items examples_with_versions - selected @selected_example_index - on_selected do - @selected_example_index = @example_radio_buttons.selected - example = selected_example - @code_entry.text = File.read(file_path_for(example)) - @version_spinbox.value = 1 - end + tab_item('Basic') { + vertical_box { + @basic_example_radio_buttons = radio_buttons { + stretchy false + items basic_examples_with_versions + selected basic_examples_with_versions.index(examples_with_versions[@selected_example_index]) + + on_selected do + @selected_example_index = examples_with_versions.index(basic_examples_with_versions[@basic_example_radio_buttons.selected]) + example = selected_example + @code_entry.text = File.read(file_path_for(example)) + @version_spinbox.value = 1 + end + } + + label # filler + label # filler + } + } + + tab_item('Advanced') { + vertical_box { + @advanced_example_radio_buttons = radio_buttons { + stretchy false + items advanced_examples_with_versions + + on_selected do + @selected_example_index = examples_with_versions.index(advanced_examples_with_versions[@advanced_example_radio_buttons.selected]) + example = selected_example + @code_entry.text = File.read(file_path_for(example)) + @version_spinbox.value = 1 + end + } + + label # filler + label # filler + } + } } horizontal_box { label('Version') { stretchy false