scarpe 0.2.2 → 0.3.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.
Files changed (223) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/CHANGELOG.md +16 -2
  4. data/Gemfile.lock +7 -3
  5. data/README.md +24 -8
  6. data/Rakefile +1 -1
  7. data/examples/animate.rb +20 -0
  8. data/examples/arrow.rb +10 -0
  9. data/examples/btn_tooltip.rb +7 -0
  10. data/examples/button_style_changed.rb +7 -0
  11. data/examples/button_styles_default.rb +6 -0
  12. data/examples/gen.rb +8 -8
  13. data/examples/highlander.rb +3 -3
  14. data/examples/legacy/README.md +6 -0
  15. data/examples/legacy/not_checked/shoes-contrib/basic/shoes-notes.rb +1 -1
  16. data/examples/legacy/not_checked/simple/anim-shapes.rb +1 -1
  17. data/examples/legacy/not_checked/speedometer_app.rb +55 -0
  18. data/examples/legacy/working/simple/image-icon.rb +3 -0
  19. data/examples/legacy/{not_checked → working}/simple/image.rb +1 -1
  20. data/examples/list_box_choose.rb +17 -0
  21. data/examples/local_assets/local_file_server.rb +82 -0
  22. data/examples/local_assets/sample.gif +0 -0
  23. data/examples/local_assets/sample.mp4 +0 -0
  24. data/examples/local_fonts.rb +2 -2
  25. data/examples/local_images.rb +2 -3
  26. data/examples/para/para_text.rb +14 -0
  27. data/examples/progress.rb +31 -0
  28. data/examples/radio/radio_groups.rb +2 -2
  29. data/examples/rect.rb +4 -0
  30. data/examples/rotate_shapes.rb +17 -0
  31. data/examples/simpler-menu.rb +21 -0
  32. data/exe/scarpe +2 -1
  33. data/lacci/Gemfile +2 -0
  34. data/lacci/Gemfile.lock +8 -1
  35. data/lacci/lacci.gemspec +1 -1
  36. data/lacci/lib/lacci/scarpe_cli.rb +2 -1
  37. data/lacci/lib/lacci/scarpe_core.rb +2 -1
  38. data/lacci/lib/lacci/version.rb +1 -1
  39. data/lacci/lib/scarpe/niente/app.rb +23 -0
  40. data/lacci/lib/scarpe/niente/display_service.rb +62 -0
  41. data/lacci/lib/scarpe/niente/drawable.rb +57 -0
  42. data/lacci/lib/scarpe/niente/logger.rb +29 -0
  43. data/lacci/lib/scarpe/niente/shoes_spec.rb +87 -0
  44. data/lacci/lib/scarpe/niente.rb +20 -0
  45. data/lacci/lib/shoes/app.rb +88 -43
  46. data/lacci/lib/shoes/background.rb +2 -2
  47. data/lacci/lib/shoes/border.rb +2 -2
  48. data/lacci/lib/shoes/builtins.rb +63 -0
  49. data/lacci/lib/shoes/changelog.rb +52 -0
  50. data/lacci/lib/shoes/colors.rb +3 -1
  51. data/lacci/lib/shoes/constants.rb +19 -1
  52. data/lacci/lib/shoes/display_service.rb +39 -16
  53. data/lacci/lib/shoes/download.rb +2 -2
  54. data/lacci/lib/shoes/drawable.rb +380 -0
  55. data/lacci/lib/shoes/drawables/arc.rb +49 -0
  56. data/lacci/lib/shoes/drawables/arrow.rb +41 -0
  57. data/lacci/lib/shoes/drawables/button.rb +73 -0
  58. data/lacci/lib/shoes/{widgets → drawables}/check.rb +5 -4
  59. data/lacci/lib/shoes/{widgets → drawables}/document_root.rb +3 -3
  60. data/lacci/lib/shoes/{widgets → drawables}/edit_box.rb +6 -6
  61. data/lacci/lib/shoes/{widgets → drawables}/edit_line.rb +6 -6
  62. data/lacci/lib/shoes/{widgets → drawables}/flow.rb +6 -6
  63. data/lacci/lib/shoes/{widgets → drawables}/image.rb +6 -6
  64. data/lacci/lib/shoes/{widgets → drawables}/line.rb +7 -5
  65. data/lacci/lib/shoes/drawables/link.rb +34 -0
  66. data/lacci/lib/shoes/drawables/list_box.rb +56 -0
  67. data/lacci/lib/shoes/drawables/para.rb +118 -0
  68. data/lacci/lib/shoes/drawables/progress.rb +14 -0
  69. data/lacci/lib/shoes/drawables/radio.rb +33 -0
  70. data/lacci/lib/shoes/drawables/rect.rb +17 -0
  71. data/lacci/lib/shoes/{widgets → drawables}/shape.rb +6 -7
  72. data/lacci/lib/shoes/{widgets → drawables}/slot.rb +32 -20
  73. data/lacci/lib/shoes/{widgets → drawables}/span.rb +8 -7
  74. data/lacci/lib/shoes/{widgets → drawables}/stack.rb +6 -4
  75. data/lacci/lib/shoes/drawables/star.rb +50 -0
  76. data/lacci/lib/shoes/drawables/subscription_item.rb +93 -0
  77. data/lacci/lib/shoes/drawables/text_drawable.rb +63 -0
  78. data/lacci/lib/shoes/drawables/video.rb +16 -0
  79. data/lacci/lib/shoes/drawables/widget.rb +69 -0
  80. data/lacci/lib/shoes/drawables.rb +31 -0
  81. data/lacci/lib/shoes/errors.rb +28 -0
  82. data/lacci/lib/shoes/log.rb +2 -2
  83. data/lacci/lib/shoes/ruby_extensions.rb +15 -0
  84. data/lacci/lib/shoes/spacing.rb +2 -2
  85. data/lacci/lib/shoes-spec.rb +93 -0
  86. data/lacci/lib/shoes.rb +27 -7
  87. data/lacci/test/test_helper.rb +54 -0
  88. data/lacci/test/test_lacci.rb +12 -3
  89. data/lacci/test/test_shoes_errors.rb +49 -0
  90. data/lib/scarpe/cats_cradle.rb +81 -59
  91. data/lib/scarpe/errors.rb +77 -0
  92. data/lib/scarpe/evented_assertions.rb +50 -17
  93. data/lib/scarpe/shoes_spec.rb +181 -0
  94. data/lib/scarpe/version.rb +2 -2
  95. data/lib/scarpe/wv/app.rb +20 -20
  96. data/lib/scarpe/wv/arc.rb +4 -47
  97. data/lib/scarpe/wv/arrow.rb +9 -0
  98. data/lib/scarpe/wv/button.rb +7 -35
  99. data/lib/scarpe/wv/check.rb +3 -5
  100. data/lib/scarpe/wv/control_interface.rb +18 -20
  101. data/lib/scarpe/wv/document_root.rb +81 -4
  102. data/lib/scarpe/wv/{widget.rb → drawable.rb} +66 -43
  103. data/lib/scarpe/wv/edit_box.rb +4 -17
  104. data/lib/scarpe/wv/edit_line.rb +4 -18
  105. data/lib/scarpe/wv/flow.rb +2 -18
  106. data/lib/scarpe/wv/image.rb +8 -28
  107. data/lib/scarpe/wv/line.rb +3 -25
  108. data/lib/scarpe/wv/link.rb +3 -16
  109. data/lib/scarpe/wv/list_box.rb +6 -29
  110. data/lib/scarpe/wv/para.rb +11 -30
  111. data/lib/scarpe/wv/progress.rb +19 -0
  112. data/lib/scarpe/wv/radio.rb +9 -10
  113. data/lib/scarpe/wv/rect.rb +13 -0
  114. data/lib/scarpe/wv/shape.rb +3 -8
  115. data/lib/scarpe/wv/slot.rb +8 -25
  116. data/lib/scarpe/wv/span.rb +3 -27
  117. data/lib/scarpe/wv/stack.rb +2 -18
  118. data/lib/scarpe/wv/star.rb +3 -53
  119. data/lib/scarpe/wv/subscription_item.rb +38 -4
  120. data/lib/scarpe/wv/text_drawable.rb +32 -0
  121. data/lib/scarpe/wv/video.rb +15 -15
  122. data/lib/scarpe/wv/web_wrangler.rb +299 -329
  123. data/lib/scarpe/wv/webview_local_display.rb +48 -33
  124. data/lib/scarpe/wv/webview_relay_display.rb +12 -12
  125. data/lib/scarpe/wv/webview_relay_util.rb +7 -10
  126. data/lib/scarpe/wv/wv_display_worker.rb +2 -2
  127. data/lib/scarpe/wv.rb +45 -12
  128. data/lib/scarpe/wv_local.rb +1 -1
  129. data/lib/scarpe/wv_relay.rb +1 -1
  130. data/lib/scarpe.rb +1 -0
  131. data/logger/debug_web_wrangler.json +1 -1
  132. data/logger/scarpe_wv_test.json +1 -1
  133. data/scarpe-components/Gemfile.lock +86 -0
  134. data/scarpe-components/lib/scarpe/components/base64.rb +3 -7
  135. data/scarpe-components/lib/scarpe/components/calzini/alert.rb +49 -0
  136. data/scarpe-components/lib/scarpe/components/calzini/art_widgets.rb +203 -0
  137. data/scarpe-components/lib/scarpe/components/calzini/button.rb +39 -0
  138. data/scarpe-components/lib/scarpe/components/calzini/misc.rb +146 -0
  139. data/scarpe-components/lib/scarpe/components/calzini/para.rb +35 -0
  140. data/scarpe-components/lib/scarpe/components/calzini/slots.rb +155 -0
  141. data/scarpe-components/lib/scarpe/components/calzini/text_widgets.rb +65 -0
  142. data/scarpe-components/lib/scarpe/components/calzini.rb +149 -0
  143. data/scarpe-components/lib/scarpe/components/errors.rb +20 -0
  144. data/scarpe-components/lib/scarpe/components/file_helpers.rb +1 -0
  145. data/scarpe-components/lib/scarpe/components/html.rb +131 -0
  146. data/scarpe-components/lib/scarpe/components/minitest_export_reporter.rb +75 -0
  147. data/scarpe-components/lib/scarpe/components/minitest_import_runnable.rb +98 -0
  148. data/scarpe-components/lib/scarpe/components/minitest_result.rb +86 -0
  149. data/scarpe-components/lib/scarpe/components/modular_logger.rb +5 -5
  150. data/scarpe-components/lib/scarpe/components/print_logger.rb +9 -5
  151. data/scarpe-components/lib/scarpe/components/promises.rb +14 -14
  152. data/scarpe-components/lib/scarpe/components/segmented_file_loader.rb +36 -17
  153. data/scarpe-components/lib/scarpe/components/string_helpers.rb +10 -0
  154. data/scarpe-components/lib/scarpe/components/tiranti.rb +225 -0
  155. data/scarpe-components/lib/scarpe/components/unit_test_helpers.rb +45 -5
  156. data/scarpe-components/lib/scarpe/components/version.rb +2 -2
  157. data/scarpe-components/test/calzini/test_calzini_alert.rb +30 -0
  158. data/scarpe-components/test/calzini/test_calzini_art_drawables.rb +105 -0
  159. data/scarpe-components/test/calzini/test_calzini_button.rb +52 -0
  160. data/scarpe-components/test/calzini/test_calzini_misc.rb +115 -0
  161. data/scarpe-components/test/calzini/test_calzini_para.rb +37 -0
  162. data/scarpe-components/test/calzini/test_calzini_slots.rb +130 -0
  163. data/scarpe-components/test/calzini/test_calzini_text_drawables.rb +41 -0
  164. data/scarpe-components/test/mtr_data/exception.json +1 -0
  165. data/scarpe-components/test/mtr_data/fail_with_message.json +1 -0
  166. data/scarpe-components/test/mtr_data/skipped_no_message.json +1 -0
  167. data/scarpe-components/test/mtr_data/skipped_w_msg.json +1 -0
  168. data/scarpe-components/test/mtr_data/succeed_2_asserts.json +1 -0
  169. data/scarpe-components/test/test_dimensions.rb +26 -0
  170. data/scarpe-components/test/test_helper.rb +20 -0
  171. data/scarpe-components/test/test_html.rb +65 -0
  172. data/scarpe-components/test/test_minitest_result.rb +61 -0
  173. data/scarpe-components/test/test_promises.rb +5 -4
  174. data/scarpe-components/test/test_segmented_app_files.rb +8 -6
  175. data/scarpegen.rb +14 -14
  176. data/sig/scarpe.rbs +1 -1
  177. data/templates/basic_class_template.erb +13 -14
  178. data/templates/class_template_with_event_bind.erb +4 -4
  179. data/templates/class_template_with_shapes.erb +8 -17
  180. data/templates/example_template.erb +1 -1
  181. data/templates/module_template.erb +4 -4
  182. data/templates/webview_template.erb +3 -2
  183. metadata +113 -55
  184. data/examples/legacy/not_checked/shoes-contrib/elements/image-icon.rb +0 -3
  185. data/lacci/lib/shoes/widget.rb +0 -218
  186. data/lacci/lib/shoes/widgets/alert.rb +0 -19
  187. data/lacci/lib/shoes/widgets/arc.rb +0 -51
  188. data/lacci/lib/shoes/widgets/button.rb +0 -35
  189. data/lacci/lib/shoes/widgets/font.rb +0 -14
  190. data/lacci/lib/shoes/widgets/link.rb +0 -25
  191. data/lacci/lib/shoes/widgets/list_box.rb +0 -25
  192. data/lacci/lib/shoes/widgets/para.rb +0 -68
  193. data/lacci/lib/shoes/widgets/radio.rb +0 -35
  194. data/lacci/lib/shoes/widgets/star.rb +0 -44
  195. data/lacci/lib/shoes/widgets/subscription_item.rb +0 -60
  196. data/lacci/lib/shoes/widgets/text_widget.rb +0 -51
  197. data/lacci/lib/shoes/widgets/video.rb +0 -15
  198. data/lacci/lib/shoes/widgets.rb +0 -29
  199. data/lib/scarpe/wv/alert.rb +0 -66
  200. data/lib/scarpe/wv/background.rb +0 -27
  201. data/lib/scarpe/wv/border.rb +0 -24
  202. data/lib/scarpe/wv/control_interface_test.rb +0 -238
  203. data/lib/scarpe/wv/dimensions.rb +0 -22
  204. data/lib/scarpe/wv/font.rb +0 -36
  205. data/lib/scarpe/wv/html.rb +0 -108
  206. data/lib/scarpe/wv/spacing.rb +0 -41
  207. data/lib/scarpe/wv/text_widget.rb +0 -30
  208. /data/examples/legacy/not_checked/{expert → shoes-contrib/basic}/definr.rb +0 -0
  209. /data/examples/legacy/not_checked/{expert → shoes-contrib/basic}/funnies.rb +0 -0
  210. /data/examples/legacy/not_checked/shoes-contrib/{elements → basic}/list_box-select-class.rb +0 -0
  211. /data/examples/legacy/{not_checked/shoes-contrib/basic → working/simple}/basic-edit-box.rb +0 -0
  212. /data/examples/legacy/{not_checked/shoes-contrib/elements → working/simple}/basic-fps.rb +0 -0
  213. /data/examples/legacy/{not_checked/shoes-contrib/elements → working/simple}/border-cat.rb +0 -0
  214. /data/examples/legacy/{not_checked/shoes-contrib/elements → working/simple}/check-mate.rb +0 -0
  215. /data/examples/legacy/{not_checked/shoes-contrib/manipulation → working/simple}/clear-slot.rb +0 -0
  216. /data/examples/legacy/{not_checked/shoes-contrib/basic → working/simple}/clock.rb +0 -0
  217. /data/examples/legacy/{not_checked/shoes-contrib/basic → working/simple}/gradient-shoes.rb +0 -0
  218. /data/examples/legacy/{not_checked/shoes-contrib/basic → working/simple}/list_box-shape-report.rb +0 -0
  219. /data/examples/legacy/{not_checked/shoes-contrib/elements → working/simple}/list_box.rb +0 -0
  220. /data/examples/legacy/{not_checked/shoes-contrib/elements → working/simple}/phat-button.rb +0 -0
  221. /data/examples/legacy/{not_checked/shoes-contrib → working}/simple/simple-calc.rb +0 -0
  222. /data/examples/legacy/{not_checked/shoes-contrib/position → working/simple}/stack-width.rb +0 -0
  223. /data/examples/legacy/{not_checked/shoes-contrib/elements → working/simple}/width-introspec.rb +0 -0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scarpe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Concetto Rudilosso
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-08-29 00:00:00.000000000 Z
12
+ date: 2023-11-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: fastimage
@@ -212,6 +212,8 @@ files:
212
212
  - docs/yard/catscradle.md
213
213
  - docs/yard/template/default/fulldoc/html/setup.rb
214
214
  - docs/yard/template/default/layout/html/setup.rb
215
+ - examples/animate.rb
216
+ - examples/arrow.rb
215
217
  - examples/background_with_image.rb
216
218
  - examples/bloopsaphone/working/1901_by_Aanand_Prasad.rb
217
219
  - examples/bloopsaphone/working/b1.rb
@@ -223,9 +225,12 @@ files:
223
225
  - examples/bloopsaphone/working/morning_serenity.rb
224
226
  - examples/bloopsaphone/working/simpsons_theme_song_by_why.rb
225
227
  - examples/bloopsaphone/working/tune_cheeky_drat.rb
228
+ - examples/btn_tooltip.rb
226
229
  - examples/button.rb
227
230
  - examples/button_alert.rb
228
231
  - examples/button_go_away.rb
232
+ - examples/button_style_changed.rb
233
+ - examples/button_styles_default.rb
229
234
  - examples/button_with_position_and_size.rb
230
235
  - examples/check.rb
231
236
  - examples/clear_and_append.rb
@@ -245,12 +250,11 @@ files:
245
250
  - examples/image/image_size.rb
246
251
  - examples/image/image_with_position_and_size.rb
247
252
  - examples/info.rb
253
+ - examples/legacy/README.md
248
254
  - examples/legacy/not_checked/expert/colours.rb
249
255
  - examples/legacy/not_checked/expert/curve-animation.rb
250
256
  - examples/legacy/not_checked/expert/curve-control-point.rb
251
257
  - examples/legacy/not_checked/expert/custom-list-box.rb
252
- - examples/legacy/not_checked/expert/definr.rb
253
- - examples/legacy/not_checked/expert/funnies.rb
254
258
  - examples/legacy/not_checked/expert/minesweeper.rb
255
259
  - examples/legacy/not_checked/expert/othello.rb
256
260
  - examples/legacy/not_checked/expert/pong.rb
@@ -293,16 +297,15 @@ files:
293
297
  - examples/legacy/not_checked/shoes-contrib/art/mask.rb
294
298
  - examples/legacy/not_checked/shoes-contrib/art/oval-gradient.rb
295
299
  - examples/legacy/not_checked/shoes-contrib/art/star-gradient.rb
296
- - examples/legacy/not_checked/shoes-contrib/basic/basic-edit-box.rb
297
300
  - examples/legacy/not_checked/shoes-contrib/basic/basic-new-window.rb
298
301
  - examples/legacy/not_checked/shoes-contrib/basic/basic-oval-image.rb
299
302
  - examples/legacy/not_checked/shoes-contrib/basic/basic-oval-shape.rb
300
303
  - examples/legacy/not_checked/shoes-contrib/basic/basic-oval.rb
301
304
  - examples/legacy/not_checked/shoes-contrib/basic/class-book.rb
302
- - examples/legacy/not_checked/shoes-contrib/basic/clock.rb
305
+ - examples/legacy/not_checked/shoes-contrib/basic/definr.rb
303
306
  - examples/legacy/not_checked/shoes-contrib/basic/edit-stack
304
- - examples/legacy/not_checked/shoes-contrib/basic/gradient-shoes.rb
305
- - examples/legacy/not_checked/shoes-contrib/basic/list_box-shape-report.rb
307
+ - examples/legacy/not_checked/shoes-contrib/basic/funnies.rb
308
+ - examples/legacy/not_checked/shoes-contrib/basic/list_box-select-class.rb
306
309
  - examples/legacy/not_checked/shoes-contrib/basic/rect-arrow.rb
307
310
  - examples/legacy/not_checked/shoes-contrib/basic/scribble.rb
308
311
  - examples/legacy/not_checked/shoes-contrib/basic/search.rb
@@ -311,24 +314,16 @@ files:
311
314
  - examples/legacy/not_checked/shoes-contrib/browser.rb
312
315
  - examples/legacy/not_checked/shoes-contrib/elements/background-column.rb
313
316
  - examples/legacy/not_checked/shoes-contrib/elements/background.rb
314
- - examples/legacy/not_checked/shoes-contrib/elements/basic-fps.rb
315
- - examples/legacy/not_checked/shoes-contrib/elements/border-cat.rb
316
317
  - examples/legacy/not_checked/shoes-contrib/elements/button-block.rb
317
- - examples/legacy/not_checked/shoes-contrib/elements/check-mate.rb
318
318
  - examples/legacy/not_checked/shoes-contrib/elements/common-styles.rb
319
319
  - examples/legacy/not_checked/shoes-contrib/elements/displace-animation.rb
320
320
  - examples/legacy/not_checked/shoes-contrib/elements/edit_box-character-count.rb
321
321
  - examples/legacy/not_checked/shoes-contrib/elements/edit_line-character-count.rb
322
- - examples/legacy/not_checked/shoes-contrib/elements/image-icon.rb
323
- - examples/legacy/not_checked/shoes-contrib/elements/list_box-select-class.rb
324
- - examples/legacy/not_checked/shoes-contrib/elements/list_box.rb
325
322
  - examples/legacy/not_checked/shoes-contrib/elements/move-flow-animate.rb
326
- - examples/legacy/not_checked/shoes-contrib/elements/phat-button.rb
327
323
  - examples/legacy/not_checked/shoes-contrib/elements/popup.rb
328
324
  - examples/legacy/not_checked/shoes-contrib/elements/progress-bar.rb
329
325
  - examples/legacy/not_checked/shoes-contrib/elements/radio-dreamcast-favs.rb
330
326
  - examples/legacy/not_checked/shoes-contrib/elements/timer.rb
331
- - examples/legacy/not_checked/shoes-contrib/elements/width-introspec.rb
332
327
  - examples/legacy/not_checked/shoes-contrib/events/background-hover.rb
333
328
  - examples/legacy/not_checked/shoes-contrib/events/motion-detect.rb
334
329
  - examples/legacy/not_checked/shoes-contrib/events/pressed-key.rb
@@ -346,17 +341,14 @@ files:
346
341
  - examples/legacy/not_checked/shoes-contrib/kernel/font.rb
347
342
  - examples/legacy/not_checked/shoes-contrib/kernel/fonts.rb
348
343
  - examples/legacy/not_checked/shoes-contrib/manipulation/append-slot.rb
349
- - examples/legacy/not_checked/shoes-contrib/manipulation/clear-slot.rb
350
344
  - examples/legacy/not_checked/shoes-contrib/manipulation/prepend-slot.rb
351
345
  - examples/legacy/not_checked/shoes-contrib/manipulation/roll.rb
352
346
  - examples/legacy/not_checked/shoes-contrib/position/gutter-margin.rb
353
- - examples/legacy/not_checked/shoes-contrib/position/stack-width.rb
354
347
  - examples/legacy/not_checked/shoes-contrib/simple/simple-accordion.rb
355
348
  - examples/legacy/not_checked/shoes-contrib/simple/simple-anim-shapes.rb
356
349
  - examples/legacy/not_checked/shoes-contrib/simple/simple-anim-text.rb
357
350
  - examples/legacy/not_checked/shoes-contrib/simple/simple-arc.rb
358
351
  - examples/legacy/not_checked/shoes-contrib/simple/simple-bounce.rb
359
- - examples/legacy/not_checked/shoes-contrib/simple/simple-calc.rb
360
352
  - examples/legacy/not_checked/shoes-contrib/simple/simple-chipmunk.rb
361
353
  - examples/legacy/not_checked/shoes-contrib/simple/simple-control-sizes.rb
362
354
  - examples/legacy/not_checked/shoes-contrib/simple/simple-curve.rb
@@ -466,11 +458,11 @@ files:
466
458
  - examples/legacy/not_checked/simple/downloader1.rb
467
459
  - examples/legacy/not_checked/simple/editor.rb
468
460
  - examples/legacy/not_checked/simple/form.rb
469
- - examples/legacy/not_checked/simple/image.rb
470
461
  - examples/legacy/not_checked/simple/info.rb
471
462
  - examples/legacy/not_checked/simple/mask2.rb
472
463
  - examples/legacy/not_checked/simple/menu.rb
473
464
  - examples/legacy/not_checked/simple/menu1.rb
465
+ - examples/legacy/not_checked/speedometer_app.rb
474
466
  - examples/legacy/not_checked/superleg.rb
475
467
  - examples/legacy/working/shoes-contrib/basic/a-poem.rb
476
468
  - examples/legacy/working/shoes-contrib/basic/basic-blocks-instances.rb
@@ -480,18 +472,38 @@ files:
480
472
  - examples/legacy/working/shoes-contrib/basic/two-column.rb
481
473
  - examples/legacy/working/shoes-contrib/elements/edit_box.rb
482
474
  - examples/legacy/working/shoes-contrib/kernel/alert.rb
475
+ - examples/legacy/working/simple/basic-edit-box.rb
476
+ - examples/legacy/working/simple/basic-fps.rb
477
+ - examples/legacy/working/simple/border-cat.rb
483
478
  - examples/legacy/working/simple/calc.rb
479
+ - examples/legacy/working/simple/check-mate.rb
480
+ - examples/legacy/working/simple/clear-slot.rb
481
+ - examples/legacy/working/simple/clock.rb
482
+ - examples/legacy/working/simple/gradient-shoes.rb
483
+ - examples/legacy/working/simple/image-icon.rb
484
+ - examples/legacy/working/simple/image.rb
485
+ - examples/legacy/working/simple/list_box-shape-report.rb
486
+ - examples/legacy/working/simple/list_box.rb
487
+ - examples/legacy/working/simple/phat-button.rb
488
+ - examples/legacy/working/simple/simple-calc.rb
484
489
  - examples/legacy/working/simple/sqlite3.rb
490
+ - examples/legacy/working/simple/stack-width.rb
485
491
  - examples/legacy/working/simple/timer.rb
492
+ - examples/legacy/working/simple/width-introspec.rb
486
493
  - examples/line.rb
487
494
  - examples/link.rb
488
495
  - examples/list_box.rb
496
+ - examples/list_box_choose.rb
497
+ - examples/local_assets/local_file_server.rb
498
+ - examples/local_assets/sample.gif
499
+ - examples/local_assets/sample.mp4
489
500
  - examples/local_fonts.rb
490
501
  - examples/local_images.rb
491
502
  - examples/motion_events.rb
492
503
  - examples/para/collection_of_arguments.rb
493
504
  - examples/para/hello_world.rb
494
505
  - examples/para/hide_and_show.rb
506
+ - examples/para/para_text.rb
495
507
  - examples/para/rainbow.rb
496
508
  - examples/para/rainbow_2.rb
497
509
  - examples/para/sizes.rb
@@ -500,10 +512,13 @@ files:
500
512
  - examples/para_text_widgets.rb
501
513
  - examples/parse_xl_funnies.rb
502
514
  - examples/pirate.png
515
+ - examples/progress.rb
503
516
  - examples/radio/radio.rb
504
517
  - examples/radio/radio_groups.rb
505
518
  - examples/radio/radio_same_slot.rb
506
519
  - examples/raw_flow.rb
520
+ - examples/rect.rb
521
+ - examples/rotate_shapes.rb
507
522
  - examples/ruby_racer.rb
508
523
  - examples/selfitude.rb
509
524
  - examples/shapes/arc.rb
@@ -514,6 +529,7 @@ files:
514
529
  - examples/shoes_splorer.rb
515
530
  - examples/show_hide.rb
516
531
  - examples/simple_slides.rb
532
+ - examples/simpler-menu.rb
517
533
  - examples/skip_ci/change_my_audio_source.rb
518
534
  - examples/skip_ci/guitar_fretboard.rb
519
535
  - examples/skip_ci/parrot.rb
@@ -541,85 +557,96 @@ files:
541
557
  - lacci/lib/lacci/scarpe_cli.rb
542
558
  - lacci/lib/lacci/scarpe_core.rb
543
559
  - lacci/lib/lacci/version.rb
560
+ - lacci/lib/scarpe/niente.rb
561
+ - lacci/lib/scarpe/niente/app.rb
562
+ - lacci/lib/scarpe/niente/display_service.rb
563
+ - lacci/lib/scarpe/niente/drawable.rb
564
+ - lacci/lib/scarpe/niente/logger.rb
565
+ - lacci/lib/scarpe/niente/shoes_spec.rb
566
+ - lacci/lib/shoes-spec.rb
544
567
  - lacci/lib/shoes.rb
545
568
  - lacci/lib/shoes/app.rb
546
569
  - lacci/lib/shoes/background.rb
547
570
  - lacci/lib/shoes/border.rb
571
+ - lacci/lib/shoes/builtins.rb
572
+ - lacci/lib/shoes/changelog.rb
548
573
  - lacci/lib/shoes/colors.rb
549
574
  - lacci/lib/shoes/constants.rb
550
575
  - lacci/lib/shoes/display_service.rb
551
576
  - lacci/lib/shoes/download.rb
577
+ - lacci/lib/shoes/drawable.rb
578
+ - lacci/lib/shoes/drawables.rb
579
+ - lacci/lib/shoes/drawables/arc.rb
580
+ - lacci/lib/shoes/drawables/arrow.rb
581
+ - lacci/lib/shoes/drawables/button.rb
582
+ - lacci/lib/shoes/drawables/check.rb
583
+ - lacci/lib/shoes/drawables/document_root.rb
584
+ - lacci/lib/shoes/drawables/edit_box.rb
585
+ - lacci/lib/shoes/drawables/edit_line.rb
586
+ - lacci/lib/shoes/drawables/flow.rb
587
+ - lacci/lib/shoes/drawables/image.rb
588
+ - lacci/lib/shoes/drawables/line.rb
589
+ - lacci/lib/shoes/drawables/link.rb
590
+ - lacci/lib/shoes/drawables/list_box.rb
591
+ - lacci/lib/shoes/drawables/para.rb
592
+ - lacci/lib/shoes/drawables/progress.rb
593
+ - lacci/lib/shoes/drawables/radio.rb
594
+ - lacci/lib/shoes/drawables/rect.rb
595
+ - lacci/lib/shoes/drawables/shape.rb
596
+ - lacci/lib/shoes/drawables/slot.rb
597
+ - lacci/lib/shoes/drawables/span.rb
598
+ - lacci/lib/shoes/drawables/stack.rb
599
+ - lacci/lib/shoes/drawables/star.rb
600
+ - lacci/lib/shoes/drawables/subscription_item.rb
601
+ - lacci/lib/shoes/drawables/text_drawable.rb
602
+ - lacci/lib/shoes/drawables/video.rb
603
+ - lacci/lib/shoes/drawables/widget.rb
604
+ - lacci/lib/shoes/errors.rb
552
605
  - lacci/lib/shoes/log.rb
606
+ - lacci/lib/shoes/ruby_extensions.rb
553
607
  - lacci/lib/shoes/spacing.rb
554
- - lacci/lib/shoes/widget.rb
555
- - lacci/lib/shoes/widgets.rb
556
- - lacci/lib/shoes/widgets/alert.rb
557
- - lacci/lib/shoes/widgets/arc.rb
558
- - lacci/lib/shoes/widgets/button.rb
559
- - lacci/lib/shoes/widgets/check.rb
560
- - lacci/lib/shoes/widgets/document_root.rb
561
- - lacci/lib/shoes/widgets/edit_box.rb
562
- - lacci/lib/shoes/widgets/edit_line.rb
563
- - lacci/lib/shoes/widgets/flow.rb
564
- - lacci/lib/shoes/widgets/font.rb
565
- - lacci/lib/shoes/widgets/image.rb
566
- - lacci/lib/shoes/widgets/line.rb
567
- - lacci/lib/shoes/widgets/link.rb
568
- - lacci/lib/shoes/widgets/list_box.rb
569
- - lacci/lib/shoes/widgets/para.rb
570
- - lacci/lib/shoes/widgets/radio.rb
571
- - lacci/lib/shoes/widgets/shape.rb
572
- - lacci/lib/shoes/widgets/slot.rb
573
- - lacci/lib/shoes/widgets/span.rb
574
- - lacci/lib/shoes/widgets/stack.rb
575
- - lacci/lib/shoes/widgets/star.rb
576
- - lacci/lib/shoes/widgets/subscription_item.rb
577
- - lacci/lib/shoes/widgets/text_widget.rb
578
- - lacci/lib/shoes/widgets/video.rb
579
608
  - lacci/test/test_colors.rb
580
609
  - lacci/test/test_helper.rb
581
610
  - lacci/test/test_lacci.rb
611
+ - lacci/test/test_shoes_errors.rb
582
612
  - lib/scarpe.rb
583
613
  - lib/scarpe/cats_cradle.rb
614
+ - lib/scarpe/errors.rb
584
615
  - lib/scarpe/evented_assertions.rb
616
+ - lib/scarpe/shoes_spec.rb
585
617
  - lib/scarpe/version.rb
586
618
  - lib/scarpe/wv.rb
587
- - lib/scarpe/wv/alert.rb
588
619
  - lib/scarpe/wv/app.rb
589
620
  - lib/scarpe/wv/arc.rb
590
- - lib/scarpe/wv/background.rb
591
- - lib/scarpe/wv/border.rb
621
+ - lib/scarpe/wv/arrow.rb
592
622
  - lib/scarpe/wv/button.rb
593
623
  - lib/scarpe/wv/check.rb
594
624
  - lib/scarpe/wv/control_interface.rb
595
- - lib/scarpe/wv/control_interface_test.rb
596
- - lib/scarpe/wv/dimensions.rb
597
625
  - lib/scarpe/wv/document_root.rb
626
+ - lib/scarpe/wv/drawable.rb
598
627
  - lib/scarpe/wv/edit_box.rb
599
628
  - lib/scarpe/wv/edit_line.rb
600
629
  - lib/scarpe/wv/flow.rb
601
- - lib/scarpe/wv/font.rb
602
- - lib/scarpe/wv/html.rb
603
630
  - lib/scarpe/wv/image.rb
604
631
  - lib/scarpe/wv/line.rb
605
632
  - lib/scarpe/wv/link.rb
606
633
  - lib/scarpe/wv/list_box.rb
607
634
  - lib/scarpe/wv/para.rb
635
+ - lib/scarpe/wv/progress.rb
608
636
  - lib/scarpe/wv/radio.rb
637
+ - lib/scarpe/wv/rect.rb
609
638
  - lib/scarpe/wv/shape.rb
610
639
  - lib/scarpe/wv/slot.rb
611
- - lib/scarpe/wv/spacing.rb
612
640
  - lib/scarpe/wv/span.rb
613
641
  - lib/scarpe/wv/stack.rb
614
642
  - lib/scarpe/wv/star.rb
615
643
  - lib/scarpe/wv/subscription_item.rb
616
- - lib/scarpe/wv/text_widget.rb
644
+ - lib/scarpe/wv/text_drawable.rb
617
645
  - lib/scarpe/wv/video.rb
618
646
  - lib/scarpe/wv/web_wrangler.rb
619
647
  - lib/scarpe/wv/webview_local_display.rb
620
648
  - lib/scarpe/wv/webview_relay_display.rb
621
649
  - lib/scarpe/wv/webview_relay_util.rb
622
- - lib/scarpe/wv/widget.rb
623
650
  - lib/scarpe/wv/wv_display_worker.rb
624
651
  - lib/scarpe/wv_local.rb
625
652
  - lib/scarpe/wv_relay.rb
@@ -627,19 +654,50 @@ files:
627
654
  - logger/scarpe_wv_test.json
628
655
  - scarpe-components/.gitignore
629
656
  - scarpe-components/Gemfile
657
+ - scarpe-components/Gemfile.lock
630
658
  - scarpe-components/README.md
631
659
  - scarpe-components/Rakefile
632
660
  - scarpe-components/lib/scarpe/components/base64.rb
661
+ - scarpe-components/lib/scarpe/components/calzini.rb
662
+ - scarpe-components/lib/scarpe/components/calzini/alert.rb
663
+ - scarpe-components/lib/scarpe/components/calzini/art_widgets.rb
664
+ - scarpe-components/lib/scarpe/components/calzini/button.rb
665
+ - scarpe-components/lib/scarpe/components/calzini/misc.rb
666
+ - scarpe-components/lib/scarpe/components/calzini/para.rb
667
+ - scarpe-components/lib/scarpe/components/calzini/slots.rb
668
+ - scarpe-components/lib/scarpe/components/calzini/text_widgets.rb
669
+ - scarpe-components/lib/scarpe/components/errors.rb
633
670
  - scarpe-components/lib/scarpe/components/file_helpers.rb
671
+ - scarpe-components/lib/scarpe/components/html.rb
672
+ - scarpe-components/lib/scarpe/components/minitest_export_reporter.rb
673
+ - scarpe-components/lib/scarpe/components/minitest_import_runnable.rb
674
+ - scarpe-components/lib/scarpe/components/minitest_result.rb
634
675
  - scarpe-components/lib/scarpe/components/modular_logger.rb
635
676
  - scarpe-components/lib/scarpe/components/print_logger.rb
636
677
  - scarpe-components/lib/scarpe/components/promises.rb
637
678
  - scarpe-components/lib/scarpe/components/segmented_file_loader.rb
679
+ - scarpe-components/lib/scarpe/components/string_helpers.rb
680
+ - scarpe-components/lib/scarpe/components/tiranti.rb
638
681
  - scarpe-components/lib/scarpe/components/unit_test_helpers.rb
639
682
  - scarpe-components/lib/scarpe/components/version.rb
640
683
  - scarpe-components/scarpe-components.gemspec
684
+ - scarpe-components/test/calzini/test_calzini_alert.rb
685
+ - scarpe-components/test/calzini/test_calzini_art_drawables.rb
686
+ - scarpe-components/test/calzini/test_calzini_button.rb
687
+ - scarpe-components/test/calzini/test_calzini_misc.rb
688
+ - scarpe-components/test/calzini/test_calzini_para.rb
689
+ - scarpe-components/test/calzini/test_calzini_slots.rb
690
+ - scarpe-components/test/calzini/test_calzini_text_drawables.rb
691
+ - scarpe-components/test/mtr_data/exception.json
692
+ - scarpe-components/test/mtr_data/fail_with_message.json
693
+ - scarpe-components/test/mtr_data/skipped_no_message.json
694
+ - scarpe-components/test/mtr_data/skipped_w_msg.json
695
+ - scarpe-components/test/mtr_data/succeed_2_asserts.json
641
696
  - scarpe-components/test/test_components.rb
697
+ - scarpe-components/test/test_dimensions.rb
642
698
  - scarpe-components/test/test_helper.rb
699
+ - scarpe-components/test/test_html.rb
700
+ - scarpe-components/test/test_minitest_result.rb
643
701
  - scarpe-components/test/test_promises.rb
644
702
  - scarpe-components/test/test_segmented_app_files.rb
645
703
  - scarpegen.rb
@@ -1,3 +0,0 @@
1
- Shoes.app do
2
- image "http://shoesrb.com/images/shoes-icon.png"
3
- end
@@ -1,218 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Shoes
4
- # Shoes::Widget
5
- #
6
- # This is the display-service portable Shoes Widget interface. Visible Shoes
7
- # widgets like buttons inherit from this. Compound widgets made of multiple
8
- # different smaller Widgets inherit from it in their various apps or libraries.
9
- # The Shoes Widget helps build a Shoes-side widget tree, with parents and
10
- # children. Any API that applies to all widgets (e.g. remove) should be
11
- # defined here.
12
- #
13
- class Widget < Shoes::Linkable
14
- include Shoes::Log
15
- include Shoes::Colors
16
-
17
- class << self
18
- attr_accessor :widget_classes
19
-
20
- def inherited(subclass)
21
- Shoes::Widget.widget_classes ||= []
22
- Shoes::Widget.widget_classes << subclass
23
- super
24
- end
25
-
26
- def dsl_name
27
- n = name.split("::").last.chomp("Widget")
28
- n.gsub(/(.)([A-Z])/, '\1_\2').downcase
29
- end
30
-
31
- def widget_class_by_name(name)
32
- widget_classes.detect { |k| k.dsl_name == name.to_s }
33
- end
34
-
35
- private
36
-
37
- def linkable_properties
38
- @linkable_properties ||= []
39
- end
40
-
41
- def linkable_properties_hash
42
- @linkable_properties_hash ||= {}
43
- end
44
-
45
- public
46
-
47
- # Display properties in Shoes Linkables are automatically sync'd with the display side objects.
48
- # TODO: do we want types or other modifiers on specific properties?
49
- def display_property(name)
50
- name = name.to_s
51
-
52
- return if linkable_properties_hash[name]
53
-
54
- linkable_properties << { name: name }
55
- linkable_properties_hash[name] = true
56
- end
57
-
58
- # Add these names as display properties
59
- def display_properties(*names)
60
- names.each { |n| display_property(n) }
61
- end
62
-
63
- def display_property_names
64
- parent_prop_names = self != Shoes::Widget ? self.superclass.display_property_names : []
65
-
66
- parent_prop_names | linkable_properties.map { |prop| prop[:name] }
67
- end
68
-
69
- def display_property_name?(name)
70
- linkable_properties_hash[name.to_s] ||
71
- (self != Shoes::Widget && superclass.display_property_name?(name))
72
- end
73
- end
74
-
75
- # Shoes uses a "hidden" style property for hide/show
76
- display_property :hidden
77
-
78
- def initialize(*args, **kwargs)
79
- log_init("Widget")
80
-
81
- self.class.display_property_names.each do |prop|
82
- if kwargs[prop.to_sym]
83
- instance_variable_set("@" + prop, kwargs[prop.to_sym])
84
- end
85
- end
86
-
87
- super() # linkable_id defaults to object_id
88
- end
89
-
90
- def inspect
91
- "#<#{self.class}:#{self.object_id} " +
92
- "@linkable_id=#{@linkable_id.inspect} @parent=#{@parent.inspect} " +
93
- "@children=#{@children.inspect} properties=#{display_property_values.inspect}>"
94
- end
95
-
96
- private
97
-
98
- def bind_self_event(event_name, &block)
99
- raise("Widget has no linkable_id! #{inspect}") unless linkable_id
100
-
101
- bind_shoes_event(event_name: event_name, target: linkable_id, &block)
102
- end
103
-
104
- def bind_no_target_event(event_name, &block)
105
- bind_shoes_event(event_name:, &block)
106
- end
107
-
108
- public
109
-
110
- def display_property_values
111
- all_property_names = self.class.display_property_names
112
-
113
- properties = {}
114
- all_property_names.each do |prop|
115
- properties[prop] = instance_variable_get("@" + prop)
116
- end
117
- properties["shoes_linkable_id"] = self.linkable_id
118
- properties
119
- end
120
-
121
- private
122
-
123
- def create_display_widget
124
- klass_name = self.class.name.delete_prefix("Scarpe::").delete_prefix("Shoes::")
125
-
126
- # Should we save a reference to widget for later reference?
127
- ::Shoes::DisplayService.display_service.create_display_widget_for(klass_name, self.linkable_id, display_property_values)
128
- end
129
-
130
- public
131
-
132
- attr_reader :parent
133
-
134
- def set_parent(new_parent)
135
- @parent&.remove_child(self)
136
- new_parent&.add_child(self)
137
- @parent = new_parent
138
- send_shoes_event(new_parent.linkable_id, event_name: "parent", target: linkable_id)
139
- end
140
-
141
- # Removes the element from the Shoes::Widget tree
142
- def destroy
143
- @parent&.remove_child(self)
144
- send_shoes_event(event_name: "destroy", target: linkable_id)
145
- end
146
- alias_method :remove, :destroy
147
-
148
- # Hide the widget.
149
- def hide
150
- self.hidden = true
151
- end
152
-
153
- # Show the widget.
154
- def show
155
- self.hidden = false
156
- end
157
-
158
- # Hide the widget if it is currently shown. Show it if it is currently hidden.
159
- def toggle
160
- self.hidden = !self.hidden
161
- end
162
-
163
- # We use method_missing for widget-creating methods like "button",
164
- # and also to auto-create display-property getters and setters.
165
- def method_missing(name, *args, **kwargs, &block)
166
- name_s = name.to_s
167
-
168
- if name_s[-1] == "="
169
- prop_name = name_s[0..-2]
170
- if self.class.display_property_name?(prop_name)
171
- self.class.define_method(name) do |new_value|
172
- raise "Trying to set display properties in an object with no linkable ID!" unless linkable_id
173
-
174
- instance_variable_set("@" + prop_name, new_value)
175
- send_shoes_event({ prop_name => new_value }, event_name: "prop_change", target: linkable_id)
176
- end
177
-
178
- return self.send(name, *args, **kwargs, &block)
179
- end
180
- end
181
-
182
- if self.class.display_property_name?(name_s)
183
- self.class.define_method(name) do
184
- raise "Trying to get display properties in an object with no linkable ID!" unless linkable_id
185
-
186
- instance_variable_get("@" + name_s)
187
- end
188
-
189
- return self.send(name, *args, **kwargs, &block)
190
- end
191
-
192
- klass = Widget.widget_class_by_name(name)
193
- return super unless klass
194
-
195
- ::Shoes::Widget.define_method(name) do |*args, **kwargs, &block|
196
- # Look up the Shoes widget and create it...
197
- widget_instance = klass.new(*args, **kwargs, &block)
198
-
199
- unless klass.ancestors.include?(Shoes::TextWidget)
200
- widget_instance.set_parent Shoes::App.instance.current_slot
201
- end
202
-
203
- widget_instance
204
- end
205
-
206
- send(name, *args, **kwargs, &block)
207
- end
208
-
209
- def respond_to_missing?(name, include_private = false)
210
- name_s = name.to_s
211
- return true if self.class.display_property_name?(name_s)
212
- return true if self.class.display_property_name?(name_s[0..-2]) && name_s[-1] == "="
213
- return true if Widget.widget_class_by_name(name_s)
214
-
215
- super
216
- end
217
- end
218
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Shoes
4
- class Alert < Shoes::Widget
5
- display_property :text
6
-
7
- def initialize(text)
8
- @text = text
9
-
10
- super
11
-
12
- bind_self_event("click") do
13
- remove
14
- end
15
-
16
- create_display_widget
17
- end
18
- end
19
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Shoes
4
- class InvalidAttributeValueError < Shoes::Error; end
5
-
6
- class Arc < Shoes::Widget
7
- display_properties :left, :top, :width, :height, :angle1, :angle2, :draw_context
8
-
9
- def initialize(*args)
10
- @left, @top, @width, @height, @angle1, @angle2 = args
11
-
12
- @left = convert_to_integer(@left, "left")
13
- @top = convert_to_integer(@top, "top")
14
- @width = convert_to_integer(@width, "width")
15
- @height = convert_to_integer(@height, "height")
16
- @angle1 = convert_to_float(@angle1, "angle1")
17
- @angle2 = convert_to_float(@angle2, "angle2")
18
-
19
- @draw_context = Shoes::App.instance.current_draw_context
20
-
21
- super
22
- create_display_widget
23
- end
24
-
25
- private
26
-
27
- def convert_to_integer(value, attribute_name)
28
- begin
29
- value = Integer(value)
30
- raise InvalidAttributeValueError, "Negative number '#{value}' not allowed for attribute '#{attribute_name}'" if value < 0
31
-
32
- value
33
- rescue ArgumentError
34
- error_message = "Invalid value '#{value}' provided for attribute '#{attribute_name}'. The value should be a number."
35
- raise InvalidAttributeValueError, error_message
36
- end
37
- end
38
-
39
- def convert_to_float(value, attribute_name)
40
- begin
41
- value = Float(value)
42
- raise InvalidAttributeValueError, "Negative number '#{value}' not allowed for attribute '#{attribute_name}'" if value < 0
43
-
44
- value
45
- rescue ArgumentError
46
- error_message = "Invalid value '#{value}' provided for attribute '#{attribute_name}'. The value should be a number."
47
- raise InvalidAttributeValueError, error_message
48
- end
49
- end
50
- end
51
- end