scarpe 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.cursor/rules/commit-style-preferences.mdc +72 -0
- data/.cursor/rules/component_context.mdc +82 -0
- data/.cursor/rules/debug-failed-tests.mdc +100 -0
- data/.cursor/rules/display_service_context.mdc +80 -0
- data/.cursor/rules/event_handling_context.mdc +100 -0
- data/.cursor/rules/git-pager-handling.mdc +64 -0
- data/.cursor/rules/lacci-context.mdc +52 -0
- data/.cursor/rules/scarpe_design_context.mdc +46 -0
- data/.cursor/rules/shoes_compatibility_context.mdc +75 -0
- data/.cursor/rules/timeout_context.mdc +78 -0
- data/.cursor/rules/update_lacci_and_wv.mdc +8 -0
- data/.cursor/rules/what_is_scarpe.mdc +22 -0
- data/.cursor/rules/writing-new-rules.mdc +73 -0
- data/CHANGELOG.md +46 -5
- data/CLAUDE.md +223 -0
- data/Gemfile +2 -2
- data/Gemfile.lock +85 -55
- data/LICENSE.txt +7 -1
- data/README.md +80 -20
- data/Rakefile +73 -14
- data/docs/SCARPE_FEATURES.md +38 -0
- data/docs/_config.yml +13 -0
- data/docs/calzini_components_and_updates.md +78 -0
- data/docs/display_service_separation.md +39 -0
- data/docs/documentation.md +43 -0
- data/docs/event_loops.md +66 -0
- data/docs/image.png +0 -0
- data/docs/index.md +118 -0
- data/docs/lacci.md +121 -0
- data/docs/scarpe_shoes_incompatibilities.md +71 -0
- data/docs/shoes_and_display_events.md +55 -0
- data/docs/shoes_implementations.md +79 -0
- data/docs/static/manual.md +5 -0
- data/docs/static/scarpe-logo.png +0 -0
- data/docs/timeouts_and_handlers.md +66 -0
- data/docs/web_archaeology.md +76 -0
- data/examples/Edit_box_Styles.rb +8 -0
- data/examples/Kerning.rb +7 -0
- data/examples/background_with_image.rb +14 -5
- data/examples/bloopsaphone/working/feepogram.rb +1 -1
- data/examples/bloopsaphone/working/le_dance_des_rubis.rb +135 -0
- data/examples/bloopsaphone/working/pixel_dreams_in_ruby.rb +131 -0
- data/examples/bloopsaphone/working/type_rebellion.rb +157 -0
- data/examples/border.rb +11 -0
- data/examples/check.rb +2 -0
- data/examples/download_and_show_image.rb +3 -0
- data/examples/flags/finland.rb +15 -0
- data/examples/flags/italy.rb +11 -0
- data/examples/flags/mauritius.rb +14 -0
- data/examples/font_family.rb +17 -0
- data/examples/font_shorthand.rb +9 -0
- data/examples/gen.rb +4 -0
- data/examples/internal_link_navigation.rb +19 -0
- data/examples/legacy/not_checked/shoes-manual/append.rb +10 -0
- data/examples/legacy/not_checked/shoes-manual/background_change.rb +12 -0
- data/examples/legacy/not_checked/shoes-manual/background_pattern.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/basic_app.rb +8 -0
- data/examples/legacy/not_checked/shoes-manual/border.rb +9 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/FONTS.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/ask.rb +2 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/ask_color.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/ask_open_file.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/ask_save_folder.rb +2 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/confirm.rb +4 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/debug.rb +2 -0
- data/examples/legacy/not_checked/shoes-manual/builtins/info.rb +3 -0
- data/examples/legacy/not_checked/shoes-manual/button.rb +9 -0
- data/examples/legacy/not_checked/shoes-manual/clear.rb +7 -0
- data/examples/legacy/not_checked/shoes-manual/custom_header.rb +13 -0
- data/examples/legacy/not_checked/shoes-manual/displace.rb +14 -0
- data/examples/legacy/not_checked/shoes-manual/edit_box.rb +8 -0
- data/examples/legacy/not_checked/shoes-manual/fill_pattern.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/fonts.rb +7 -0
- data/examples/legacy/not_checked/shoes-manual/gutter.rb +6 -0
- data/examples/legacy/not_checked/shoes-manual/image_web.rb +4 -0
- data/examples/legacy/not_checked/shoes-manual/keypress.rb +7 -0
- data/examples/legacy/not_checked/shoes-manual/list_box.rb +10 -0
- data/examples/legacy/not_checked/shoes-manual/motion.rb +10 -0
- data/examples/legacy/not_checked/shoes-manual/mouse.rb +8 -0
- data/examples/legacy/not_checked/shoes-manual/move.rb +14 -0
- data/examples/legacy/not_checked/shoes-manual/nested_ovals.rb +8 -0
- data/examples/legacy/not_checked/shoes-manual/oval.rb +7 -0
- data/examples/legacy/not_checked/shoes-manual/ovals.rb +6 -0
- data/examples/legacy/not_checked/shoes-manual/ovals_image.rb +8 -0
- data/examples/legacy/not_checked/shoes-manual/prepend.rb +7 -0
- data/examples/legacy/not_checked/shoes-manual/progress_bar.rb +10 -0
- data/examples/legacy/not_checked/shoes-manual/radio.rb +18 -0
- data/examples/legacy/not_checked/shoes-manual/radio_alternative_1.rb +7 -0
- data/examples/legacy/not_checked/shoes-manual/radio_alternative_2.rb +9 -0
- data/examples/legacy/not_checked/shoes-manual/rotate_rectangle.rb +6 -0
- data/examples/legacy/not_checked/shoes-manual/shape.rb +11 -0
- data/examples/legacy/not_checked/shoes-manual/static/avatar.png +0 -0
- data/examples/legacy/not_checked/shoes-manual/stroke.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/style.rb +3 -0
- data/examples/legacy/not_checked/shoes-manual/style_alternative_1.rb +4 -0
- data/examples/legacy/not_checked/shoes-manual/style_alternative_2.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/style_length.rb +5 -0
- data/examples/legacy/not_checked/shoes-manual/timer.rb +6 -0
- data/examples/legacy/not_checked/shoes-manual/trigger_window.rb +8 -0
- data/examples/legacy/not_checked/shoes-manual/window_owner.rb +8 -0
- data/examples/legacy/working/shoes_manual/alert_button.rb +2 -0
- data/examples/legacy/working/shoes_manual/animate.rb +7 -0
- data/examples/legacy/working/shoes_manual/background_para.rb +4 -0
- data/examples/legacy/working/shoes_manual/button_alternative.rb +7 -0
- data/examples/legacy/working/shoes_manual/checkbox.rb +17 -0
- data/examples/legacy/working/shoes_manual/download.rb +12 -0
- data/examples/legacy/working/shoes_manual/edit_box.rb +6 -0
- data/examples/legacy/working/shoes_manual/editline.rb +7 -0
- data/examples/legacy/working/shoes_manual/fixed_height.rb +8 -0
- data/examples/legacy/working/shoes_manual/fixed_width.rb +12 -0
- data/examples/legacy/working/shoes_manual/image.rb +5 -0
- data/examples/legacy/working/shoes_manual/instance_variable_check.rb +10 -0
- data/examples/legacy/working/shoes_manual/message.rb +18 -0
- data/examples/legacy/working/shoes_manual/rectangle.rb +6 -0
- data/examples/legacy/working/shoes_manual/save_download.rb +12 -0
- data/examples/legacy/working/shoes_manual/self_check.rb +10 -0
- data/examples/legacy/working/shoes_manual/stack.rb +7 -0
- data/examples/legacy/working/shoes_manual/style_info.rb +8 -0
- data/examples/legacy/working/shoes_manual/utf8_support.rb +8 -0
- data/examples/legacy/working/shoes_manual/width.rb +4 -0
- data/examples/local_assets/multi_image.rb +5 -0
- data/examples/local_assets/small.png +0 -0
- data/examples/local_fonts.rb +3 -0
- data/examples/margin.rb +13 -0
- data/examples/margin_check.rb +27 -0
- data/examples/oval-with-kwargs.rb +3 -0
- data/examples/oval.rb +26 -0
- data/examples/page_navigation_single_app.rb +42 -0
- data/examples/para_font_styles.rb +17 -0
- data/examples/para_font_variant.rb +6 -0
- data/examples/para_fontweight.rb +13 -0
- data/examples/parse_xl_funnies.rb +3 -0
- data/examples/rect.rb +1 -1
- data/examples/scarpe_ext.rb +3 -0
- data/examples/shapes/star.rb +1 -3
- data/examples/shoes_subclass_app.rb +25 -0
- data/examples/spacing.rb +1 -1
- data/examples/span.rb +4 -2
- data/examples/url_routing_example.rb +67 -0
- data/lacci/Gemfile +0 -2
- data/lacci/Gemfile.lock +4 -32
- data/lacci/lacci.gemspec +3 -3
- data/lacci/lib/lacci/scarpe_cli.rb +0 -1
- data/lacci/lib/lacci/version.rb +1 -1
- data/lacci/lib/scarpe/niente/app.rb +12 -1
- data/lacci/lib/scarpe/niente/display_service.rb +5 -1
- data/lacci/lib/scarpe/niente/drawable.rb +2 -0
- data/lacci/lib/scarpe/niente/shoes_spec.rb +10 -5
- data/lacci/lib/scarpe/niente.rb +15 -2
- data/lacci/lib/shoes/app.rb +204 -105
- data/lacci/lib/shoes/constants.rb +24 -2
- data/lacci/lib/shoes/display_service.rb +43 -4
- data/lacci/lib/shoes/drawable.rb +326 -36
- data/lacci/lib/shoes/drawables/arc.rb +4 -26
- data/lacci/lib/shoes/drawables/arrow.rb +3 -23
- data/lacci/lib/shoes/drawables/border.rb +28 -0
- data/lacci/lib/shoes/drawables/button.rb +5 -21
- data/lacci/lib/shoes/drawables/check.rb +7 -3
- data/lacci/lib/shoes/drawables/document_root.rb +4 -4
- data/lacci/lib/shoes/drawables/edit_box.rb +6 -5
- data/lacci/lib/shoes/drawables/edit_line.rb +5 -4
- data/lacci/lib/shoes/drawables/flow.rb +4 -6
- data/lacci/lib/shoes/drawables/font_helper.rb +62 -0
- data/lacci/lib/shoes/drawables/image.rb +2 -2
- data/lacci/lib/shoes/drawables/line.rb +3 -6
- data/lacci/lib/shoes/drawables/link.rb +16 -9
- data/lacci/lib/shoes/drawables/list_box.rb +8 -5
- data/lacci/lib/shoes/drawables/oval.rb +48 -0
- data/lacci/lib/shoes/drawables/para.rb +106 -18
- data/lacci/lib/shoes/drawables/progress.rb +2 -1
- data/lacci/lib/shoes/drawables/radio.rb +5 -3
- data/lacci/lib/shoes/drawables/rect.rb +7 -6
- data/lacci/lib/shoes/drawables/shape.rb +4 -3
- data/lacci/lib/shoes/drawables/slot.rb +102 -9
- data/lacci/lib/shoes/drawables/stack.rb +7 -12
- data/lacci/lib/shoes/drawables/star.rb +9 -31
- data/lacci/lib/shoes/drawables/text_drawable.rb +93 -34
- data/lacci/lib/shoes/drawables/video.rb +3 -2
- data/lacci/lib/shoes/drawables/widget.rb +9 -4
- data/lacci/lib/shoes/drawables.rb +2 -1
- data/lacci/lib/shoes/errors.rb +13 -3
- data/lacci/lib/shoes/margin_helper.rb +79 -0
- data/lacci/lib/shoes.rb +98 -20
- data/lacci/test/.gitignore +1 -0
- data/lacci/test/test_draw_context.rb +167 -0
- data/lacci/test/test_font_helper.rb +57 -0
- data/lacci/test/test_helper.rb +31 -4
- data/lacci/test/test_lacci.rb +93 -6
- data/lacci/test/test_margin_helper.rb +82 -0
- data/lacci/test/test_niente_test_infra.rb +40 -0
- data/lacci/test/test_oval.rb +82 -0
- data/lacci/test/test_parenting.rb +140 -0
- data/lacci/test/test_shoes_errors.rb +15 -13
- data/lacci/test/test_text_drawables.rb +23 -0
- data/lib/scarpe/assets.rb +19 -0
- data/lib/scarpe/cats_cradle.rb +57 -98
- data/lib/scarpe/shoes_spec.rb +24 -44
- data/lib/scarpe/version.rb +1 -1
- data/lib/scarpe/wv/app.rb +1 -0
- data/lib/scarpe/wv/arc.rb +0 -4
- data/lib/scarpe/wv/border.rb +15 -0
- data/lib/scarpe/wv/control_interface.rb +2 -10
- data/lib/scarpe/wv/document_root.rb +2 -2
- data/lib/scarpe/wv/drawable.rb +6 -40
- data/lib/scarpe/wv/edit_box.rb +4 -1
- data/lib/scarpe/wv/edit_line.rb +4 -1
- data/lib/scarpe/wv/image.rb +2 -5
- data/lib/scarpe/wv/link.rb +4 -2
- data/lib/scarpe/wv/oval.rb +13 -0
- data/lib/scarpe/wv/para.rb +1 -0
- data/lib/scarpe/wv/scarpe_extensions.rb +8 -0
- data/lib/scarpe/wv/shape.rb +10 -5
- data/lib/scarpe/wv/text_drawable.rb +72 -14
- data/lib/scarpe/wv/web_wrangler.rb +33 -11
- data/lib/scarpe/wv/webview_local_display.rb +6 -2
- data/lib/scarpe/wv.rb +16 -2
- data/scarpe-components/Gemfile +4 -3
- data/scarpe-components/Gemfile.lock +6 -37
- data/scarpe-components/README.md +2 -2
- data/scarpe-components/assets/bootstrap-themes/bootstrap-cerulean.css +12229 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-cosmo.css +11810 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-cyborg.css +12210 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-darkly.css +12153 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-flatly.css +12126 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-icons.min.css +5 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-journal.css +12099 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-litera.css +12211 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-lumen.css +12369 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-lux.css +11928 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-materia.css +13184 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-minty.css +12177 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-morph.css +12750 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-pulse.css +11890 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-quartz.css +12622 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-sandstone.css +12201 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-simplex.css +12186 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-sketchy.css +12451 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-slate.css +12492 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-solar.css +12149 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-spacelab.css +12266 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-superhero.css +12216 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-united.css +12077 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-vapor.css +12549 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-yeti.css +12325 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap-zephyr.css +12283 -0
- data/scarpe-components/assets/bootstrap-themes/bootstrap.bundle.min.js +7 -0
- data/scarpe-components/lib/scarpe/components/asset_server.rb +219 -0
- data/scarpe-components/lib/scarpe/components/base64.rb +22 -0
- data/scarpe-components/lib/scarpe/components/calzini/{art_widgets.rb → art_drawables.rb} +42 -18
- data/scarpe-components/lib/scarpe/components/calzini/border.rb +38 -0
- data/scarpe-components/lib/scarpe/components/calzini/button.rb +6 -8
- data/scarpe-components/lib/scarpe/components/calzini/misc.rb +14 -16
- data/scarpe-components/lib/scarpe/components/calzini/para.rb +218 -11
- data/scarpe-components/lib/scarpe/components/calzini/slots.rb +16 -60
- data/scarpe-components/lib/scarpe/components/calzini.rb +88 -1
- data/scarpe-components/lib/scarpe/components/errors.rb +4 -0
- data/scarpe-components/lib/scarpe/components/html.rb +4 -1
- data/scarpe-components/lib/scarpe/components/minitest_export_reporter.rb +11 -3
- data/scarpe-components/lib/scarpe/components/minitest_result.rb +41 -0
- data/scarpe-components/lib/scarpe/components/port_helpers.rb +30 -0
- data/scarpe-components/lib/scarpe/components/print_logger.rb +17 -2
- data/scarpe-components/lib/scarpe/components/process_helpers.rb +37 -0
- data/scarpe-components/lib/scarpe/components/segmented_file_loader.rb +1 -1
- data/scarpe-components/lib/scarpe/components/tiranti.rb +42 -100
- data/scarpe-components/lib/scarpe/components/unit_test_helpers.rb +3 -1
- data/scarpe-components/lib/scarpe/components/version.rb +1 -1
- data/scarpe-components/scarpe-components.gemspec +1 -1
- data/scarpe-components/test/assets/big-image.png +0 -0
- data/scarpe-components/test/assets/big-stylesheet.css +497 -0
- data/scarpe-components/test/assets/little-image.png +0 -0
- data/scarpe-components/test/assets/little-stylesheet.css +1 -0
- data/scarpe-components/test/calzini/test_calzini_art_drawables.rb +7 -7
- data/scarpe-components/test/calzini/test_calzini_button.rb +7 -5
- data/scarpe-components/test/calzini/test_calzini_misc.rb +9 -9
- data/scarpe-components/test/calzini/test_calzini_para.rb +6 -9
- data/scarpe-components/test/calzini/test_calzini_slots.rb +12 -57
- data/scarpe-components/test/calzini/test_calzini_text_drawables.rb +83 -18
- data/scarpe-components/test/calzini/test_various.rb +133 -0
- data/scarpe-components/test/test_asset_server.rb +72 -0
- data/scarpe-components/test/test_components.rb +31 -2
- data/scarpe-components/test/test_helper.rb +0 -1
- data/scarpe-components/test/test_minitest_result.rb +7 -0
- data/scarpe-components/test/test_port_helpers.rb +12 -0
- data/scarpe-components/test/test_segmented_app_files.rb +2 -0
- data/tasks/check_html_fixtures.rb +140 -0
- data/tasks/regenerate_html_fixtures.rb +104 -0
- data/templates/class_template_with_shapes.erb +0 -11
- metadata +225 -39
- data/.rubocop.yml +0 -88
- data/lacci/lib/scarpe/niente/logger.rb +0 -29
- data/lacci/lib/shoes/drawables/span.rb +0 -27
- data/lacci/lib/shoes/spacing.rb +0 -9
- data/lib/scarpe/evented_assertions.rb +0 -121
- data/lib/scarpe/wv/span.rb +0 -44
- data/scarpe-components/lib/scarpe/components/calzini/text_widgets.rb +0 -65
- /data/examples/legacy/{not_checked → working}/shoes3-tests/editline/editline.rb +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!ruby
|
|
2
|
+
Shoes.app do
|
|
3
|
+
stack do
|
|
4
|
+
para "Among these films, which do you prefer?"
|
|
5
|
+
flow do
|
|
6
|
+
radio :films
|
|
7
|
+
para "The Taste of Tea by Katsuhito Ishii"
|
|
8
|
+
end
|
|
9
|
+
flow do
|
|
10
|
+
radio :films
|
|
11
|
+
para "Kin-Dza-Dza by Georgi Danelia"
|
|
12
|
+
end
|
|
13
|
+
flow do
|
|
14
|
+
radio :films
|
|
15
|
+
para "Children of Heaven by Majid Majidi"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
#!ruby
|
|
2
|
+
Shoes.app do
|
|
3
|
+
para "Among these films, which do you prefer?\n"
|
|
4
|
+
radio; para strong("The Taste of Tea"), " by Katsuhito Ishii\n"
|
|
5
|
+
radio; para strong("Kin-Dza-Dza"), " by Georgi Danelia\n"
|
|
6
|
+
radio; para strong("Children of Heaven"), " by Majid Majidi\n"
|
|
7
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!ruby
|
|
2
|
+
Shoes.app do
|
|
3
|
+
stack do
|
|
4
|
+
para "Among these films, which do you prefer?"
|
|
5
|
+
flow { radio; para "The Taste of Tea by Katsuhito Ishii" }
|
|
6
|
+
flow { radio; para "Kin-Dza-Dza by Georgi Danelia" }
|
|
7
|
+
flow { radio; para "Children of Heaven by Majid Majidi" }
|
|
8
|
+
end
|
|
9
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!ruby
|
|
2
|
+
Shoes.app do
|
|
3
|
+
@list = ['Frances Johnson', 'Ignatius J. Reilly',
|
|
4
|
+
'Winston Niles Rumfoord']
|
|
5
|
+
|
|
6
|
+
stack do
|
|
7
|
+
@list.map! do |name|
|
|
8
|
+
flow { @c = check; para name }
|
|
9
|
+
[@c, name]
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
button "What's been checked?" do
|
|
13
|
+
selected = @list.map { |c, name| name if c.checked? }.compact
|
|
14
|
+
alert("You selected: " + selected.join(', '))
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!ruby
|
|
2
|
+
Shoes.app do
|
|
3
|
+
stack do
|
|
4
|
+
title "Searching Google", size: 16
|
|
5
|
+
@status = para "One moment..."
|
|
6
|
+
|
|
7
|
+
# Search Google for 'shoes' and print the HTTP headers
|
|
8
|
+
download "http://www.google.com/search?q=shoes" do |goog|
|
|
9
|
+
@status.text = "Headers: " + goog.response.headers.inspect
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
Binary file
|
data/examples/local_fonts.rb
CHANGED
data/examples/margin.rb
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Shoes.app do
|
|
2
|
+
|
|
3
|
+
para "All margins with array input", margin:[60,30,80,40]
|
|
4
|
+
|
|
5
|
+
para "All margins with string input", margin: "30 20 10 20"
|
|
6
|
+
|
|
7
|
+
para "One Number to set all margins", margin:20
|
|
8
|
+
|
|
9
|
+
para "Specific property can overwrite shorthand" , margin:[20,10,20,30], margin_top:100
|
|
10
|
+
|
|
11
|
+
para "margins using a hash input" , margin:{left:20,top:100,bottom:10,right:20}
|
|
12
|
+
|
|
13
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Shoes.app do
|
|
2
|
+
background blue
|
|
3
|
+
|
|
4
|
+
@stack1 = stack(width: 100, height: 100) do
|
|
5
|
+
background red
|
|
6
|
+
b = button("Push me", margin: [10, 25, 5, 10]) do
|
|
7
|
+
alert "Aha! Click!"
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
@stack1 = stack do
|
|
12
|
+
background aquamarine
|
|
13
|
+
b = button("Hash margin", margin: { left: 10, right: 5, top: 25, bottom: 10 }) do
|
|
14
|
+
alert "Aha! Click!"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
stack(width: 100, height: 100) do
|
|
19
|
+
background yellow
|
|
20
|
+
button "Middle Button", margin: 5, margin_top: 30
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
@stack2 = stack(width: 100, height: 100) do
|
|
24
|
+
background green
|
|
25
|
+
button "OK 2"
|
|
26
|
+
end
|
|
27
|
+
end
|
data/examples/oval.rb
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
#TODO: Support color methods as argument
|
|
4
|
+
#TODO: Allow strokewidth to go wider than container?
|
|
5
|
+
#TODO: Support strokewidth draw context
|
|
6
|
+
|
|
7
|
+
Shoes.app(
|
|
8
|
+
title: "Schwad's unbelievable desktop application that renders an oval",
|
|
9
|
+
height: 700,
|
|
10
|
+
) do
|
|
11
|
+
flow(height: 200) do
|
|
12
|
+
para "Positional arguments:"
|
|
13
|
+
oval 30, 30, 80, 200, center: true
|
|
14
|
+
end
|
|
15
|
+
flow(height: 200) do
|
|
16
|
+
para "As a circle"
|
|
17
|
+
stroke "blue"
|
|
18
|
+
fill "pink"
|
|
19
|
+
oval 30, 30, 80, center: true
|
|
20
|
+
end
|
|
21
|
+
flow(height: 200) do
|
|
22
|
+
para "Keyword arguments:"
|
|
23
|
+
fill "green"
|
|
24
|
+
oval top: 20, left: 20, height: 160, width: 90, center: true, stroke: "red", strokewidth: 4
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Shoes.app(title: "Page Navigation Example", width: 300, height: 200) do
|
|
2
|
+
style(Shoes::Para, size: 10)
|
|
3
|
+
style(Shoes::Button, width: 80)
|
|
4
|
+
|
|
5
|
+
page(:home) do
|
|
6
|
+
title "Home Page"
|
|
7
|
+
background "#f0f0f0"
|
|
8
|
+
para "Welcome to the page navigation example!"
|
|
9
|
+
button "Go to Razzmatazz" do
|
|
10
|
+
visit(:razzmatazz)
|
|
11
|
+
end
|
|
12
|
+
button "Go to FlooperLand" do
|
|
13
|
+
visit(:flooperland)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
page(:razzmatazz) do
|
|
18
|
+
title "Razzmatazz"
|
|
19
|
+
background "#DFA5A5"
|
|
20
|
+
para "This is Razzmatazz"
|
|
21
|
+
button "Go Home" do
|
|
22
|
+
visit(:home)
|
|
23
|
+
end
|
|
24
|
+
button "Go to FlooperLand" do
|
|
25
|
+
visit(:flooperland)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
page(:flooperland) do
|
|
30
|
+
title "FlooperLand"
|
|
31
|
+
background "#A5DFA5"
|
|
32
|
+
para "This is FlooperLand"
|
|
33
|
+
button "Go Home" do
|
|
34
|
+
visit(:home)
|
|
35
|
+
end
|
|
36
|
+
button "Go to Razzmatazz" do
|
|
37
|
+
visit(:razzmatazz)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
visit(:home) # Start at the home page
|
|
42
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Shoes.app do
|
|
2
|
+
|
|
3
|
+
para "this text is in normal styl" , emphasis:"italic"
|
|
4
|
+
|
|
5
|
+
para "this text is in italic style" , font: "italic normal bold 16px 'Times New Roman', serif;"
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
para "this text is in oblique style " , family: "'Pacifico', cursive;"
|
|
9
|
+
|
|
10
|
+
para "Text in Helvetica", font: "Helvetica;"
|
|
11
|
+
|
|
12
|
+
para "And in Lucida", font: "'Pacifico', cursive;"
|
|
13
|
+
|
|
14
|
+
para "From an example", font: "Trebuchet bold"
|
|
15
|
+
|
|
16
|
+
end
|
|
17
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Shoes.app do
|
|
2
|
+
para "This is normal"
|
|
3
|
+
|
|
4
|
+
para "This is bolder" , font_weight: "bold"
|
|
5
|
+
|
|
6
|
+
para "This is a little less bold" , font_weight: 800
|
|
7
|
+
|
|
8
|
+
para "This is bolder than the last one " , font_weight: 700
|
|
9
|
+
|
|
10
|
+
para "Close to normal " , font_weight: 300
|
|
11
|
+
|
|
12
|
+
end
|
|
13
|
+
|
data/examples/rect.rb
CHANGED
data/examples/shapes/star.rb
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Test for class MyApp < Shoes inheritance pattern
|
|
2
|
+
# This is the classic Shoes pattern that _why designed
|
|
3
|
+
|
|
4
|
+
class MyBook < Shoes
|
|
5
|
+
url '/', :index
|
|
6
|
+
url '/about', :about
|
|
7
|
+
|
|
8
|
+
def index
|
|
9
|
+
stack margin: 20 do
|
|
10
|
+
title "Welcome to My Book"
|
|
11
|
+
para "This is the index page using the classic Shoes inheritance pattern!"
|
|
12
|
+
para link("Go to About", click: "/about")
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def about
|
|
17
|
+
stack margin: 20 do
|
|
18
|
+
title "About"
|
|
19
|
+
para "This page shows that URL routing works with class inheritance!"
|
|
20
|
+
para link("Back to Index", click: "/")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
Shoes.app width: 400, height: 300, title: "Shoes Subclass Test"
|
data/examples/spacing.rb
CHANGED
|
@@ -7,7 +7,7 @@ Shoes.app(title: "Spacing") do
|
|
|
7
7
|
background "red"
|
|
8
8
|
para "with 10px margin-left and margin-right, and 20px margin-bottom", stroke: "white"
|
|
9
9
|
end
|
|
10
|
-
stack margin: [15,
|
|
10
|
+
stack margin: [15, nil, 15, 40] do
|
|
11
11
|
background "blue"
|
|
12
12
|
para "with 15px margin-left and margin-right, and 40px margin-bottom", stroke: "white"
|
|
13
13
|
end
|
data/examples/span.rb
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
Shoes.app :height => 500, :width => 500 do
|
|
2
2
|
stack :margin => 10 do
|
|
3
|
-
para span("TEXT EDITOR", :stroke =>
|
|
3
|
+
para span("TEXT EDITOR", :stroke => blue, :fill => green), " * USE ALT-Q TO QUIT", :stroke => red
|
|
4
4
|
end
|
|
5
|
-
|
|
5
|
+
para "Various ", del("text"), " in ", sub("various"), " ", sup("styles"), " can be ", ins("hard to read"), "...\n"
|
|
6
|
+
|
|
7
|
+
para "A ", span("wide", underline: "single", undercolor: blue), " ", span("variety", underline: "error", undercolor: green), " ", span("of", underline: "double"), " ", span("underlines", underline: "low", undercolor: darkgreen)
|
|
6
8
|
end
|