scarpe 0.2.2 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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