lacci 0.2.1 → 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 (597) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -2
  3. data/Gemfile.lock +79 -0
  4. data/Rakefile +1 -4
  5. data/lib/lacci/scarpe_cli.rb +71 -0
  6. data/lib/lacci/scarpe_core.rb +22 -0
  7. data/lib/lacci/version.rb +13 -0
  8. data/lib/scarpe/niente/app.rb +23 -0
  9. data/lib/scarpe/niente/display_service.rb +62 -0
  10. data/lib/scarpe/niente/drawable.rb +57 -0
  11. data/lib/scarpe/niente/logger.rb +29 -0
  12. data/lib/scarpe/niente/shoes_spec.rb +87 -0
  13. data/lib/scarpe/niente.rb +20 -0
  14. data/lib/shoes/app.rb +165 -43
  15. data/lib/{scarpe → shoes}/background.rb +2 -2
  16. data/lib/{scarpe → shoes}/border.rb +2 -2
  17. data/lib/shoes/builtins.rb +63 -0
  18. data/lib/shoes/changelog.rb +52 -0
  19. data/lib/{scarpe → shoes}/colors.rb +3 -1
  20. data/lib/shoes/constants.rb +24 -3
  21. data/lib/{scarpe → shoes}/display_service.rb +45 -23
  22. data/lib/{scarpe → shoes}/download.rb +7 -7
  23. data/lib/shoes/drawable.rb +380 -0
  24. data/lib/shoes/drawables/arc.rb +49 -0
  25. data/lib/shoes/drawables/arrow.rb +41 -0
  26. data/lib/shoes/drawables/button.rb +73 -0
  27. data/lib/shoes/drawables/check.rb +29 -0
  28. data/lib/{scarpe → shoes/drawables}/document_root.rb +5 -5
  29. data/lib/{scarpe → shoes/drawables}/edit_box.rb +6 -6
  30. data/lib/{scarpe → shoes/drawables}/edit_line.rb +6 -6
  31. data/lib/shoes/drawables/flow.rb +22 -0
  32. data/lib/{scarpe → shoes/drawables}/image.rb +7 -13
  33. data/lib/shoes/drawables/line.rb +20 -0
  34. data/lib/shoes/drawables/link.rb +34 -0
  35. data/lib/shoes/drawables/list_box.rb +56 -0
  36. data/lib/shoes/drawables/para.rb +118 -0
  37. data/lib/shoes/drawables/progress.rb +14 -0
  38. data/lib/shoes/drawables/radio.rb +33 -0
  39. data/lib/shoes/drawables/rect.rb +17 -0
  40. data/lib/shoes/drawables/shape.rb +36 -0
  41. data/lib/shoes/drawables/slot.rb +87 -0
  42. data/lib/{scarpe → shoes/drawables}/span.rb +8 -7
  43. data/lib/{scarpe → shoes/drawables}/stack.rb +10 -4
  44. data/lib/shoes/drawables/star.rb +50 -0
  45. data/lib/shoes/drawables/subscription_item.rb +93 -0
  46. data/lib/shoes/drawables/text_drawable.rb +63 -0
  47. data/lib/shoes/drawables/video.rb +16 -0
  48. data/lib/shoes/drawables/widget.rb +69 -0
  49. data/lib/shoes/drawables.rb +31 -0
  50. data/lib/shoes/errors.rb +28 -0
  51. data/lib/shoes/log.rb +71 -0
  52. data/lib/shoes/ruby_extensions.rb +15 -0
  53. data/lib/shoes/spacing.rb +9 -0
  54. data/lib/shoes-spec.rb +93 -0
  55. data/lib/shoes.rb +93 -11
  56. metadata +67 -557
  57. data/.rubocop.yml +0 -85
  58. data/.ruby-version +0 -1
  59. data/.vscode/extensions.json +0 -5
  60. data/.yardopts +0 -12
  61. data/CHANGELOG.md +0 -19
  62. data/CODE_OF_CONDUCT.md +0 -84
  63. data/CONTRIBUTING.md +0 -20
  64. data/LICENSE.txt +0 -21
  65. data/README.md +0 -178
  66. data/bin/console +0 -15
  67. data/bin/setup +0 -8
  68. data/dev.yml +0 -7
  69. data/docs/static/PKGBUILD +0 -47
  70. data/docs/static/Shoes.icns +0 -0
  71. data/docs/static/avatar.png +0 -0
  72. data/docs/static/code_highlighter.js +0 -188
  73. data/docs/static/code_highlighter_ruby.js +0 -26
  74. data/docs/static/icon-debug.png +0 -0
  75. data/docs/static/icon-error.png +0 -0
  76. data/docs/static/icon-info.png +0 -0
  77. data/docs/static/icon-warn.png +0 -0
  78. data/docs/static/listbox_button1.png +0 -0
  79. data/docs/static/listbox_button2.png +0 -0
  80. data/docs/static/man-app.png +0 -0
  81. data/docs/static/man-builds.png +0 -0
  82. data/docs/static/man-builds1.png +0 -0
  83. data/docs/static/man-editor-notepad.png +0 -0
  84. data/docs/static/man-editor-osx.png +0 -0
  85. data/docs/static/man-ele-background.png +0 -0
  86. data/docs/static/man-ele-border.png +0 -0
  87. data/docs/static/man-ele-button.png +0 -0
  88. data/docs/static/man-ele-check.png +0 -0
  89. data/docs/static/man-ele-editbox.png +0 -0
  90. data/docs/static/man-ele-editline.png +0 -0
  91. data/docs/static/man-ele-image.png +0 -0
  92. data/docs/static/man-ele-listbox.png +0 -0
  93. data/docs/static/man-ele-progress.png +0 -0
  94. data/docs/static/man-ele-radio.png +0 -0
  95. data/docs/static/man-ele-shape.png +0 -0
  96. data/docs/static/man-ele-textblock.png +0 -0
  97. data/docs/static/man-ele-video.png +0 -0
  98. data/docs/static/man-intro-dmg.png +0 -0
  99. data/docs/static/man-intro-exe.png +0 -0
  100. data/docs/static/man-look-tiger.png +0 -0
  101. data/docs/static/man-look-ubuntu.png +0 -0
  102. data/docs/static/man-look-vista.png +0 -0
  103. data/docs/static/man-run-osx.png +0 -0
  104. data/docs/static/man-run-vista.png +0 -0
  105. data/docs/static/man-run-xp.png +0 -0
  106. data/docs/static/man-shot1.png +0 -0
  107. data/docs/static/manual-en.txt +0 -3529
  108. data/docs/static/manual-ja.txt +0 -2829
  109. data/docs/static/manual.css +0 -171
  110. data/docs/static/manual.md +0 -3528
  111. data/docs/static/menu-corner1.png +0 -0
  112. data/docs/static/menu-corner2.png +0 -0
  113. data/docs/static/menu-gray.png +0 -0
  114. data/docs/static/menu-left.png +0 -0
  115. data/docs/static/menu-right.png +0 -0
  116. data/docs/static/menu-top.png +0 -0
  117. data/docs/static/shoes-dmg.jpg +0 -0
  118. data/docs/static/shoes-icon-blue.png +0 -0
  119. data/docs/static/shoes-icon.png +0 -0
  120. data/docs/static/shoes-manual-apps.gif +0 -0
  121. data/docs/static/shoes_main_window.png +0 -0
  122. data/docs/static/stripe.png +0 -0
  123. data/docs/static/stubs/blank.exe +0 -0
  124. data/docs/static/stubs/blank.hfz +0 -0
  125. data/docs/static/stubs/blank.run +0 -375
  126. data/docs/static/stubs/cocoa-install +0 -0
  127. data/docs/static/stubs/sh-install +0 -49
  128. data/docs/static/stubs/shoes-stub-inject.exe +0 -0
  129. data/docs/static/stubs/shoes-stub.exe +0 -0
  130. data/docs/static/tutor-back.png +0 -0
  131. data/docs/yard/catscradle.md +0 -44
  132. data/docs/yard/template/default/fulldoc/html/setup.rb +0 -13
  133. data/docs/yard/template/default/layout/html/setup.rb +0 -9
  134. data/examples/backdround_with_image.rb +0 -16
  135. data/examples/bloopsaphone/working/1901_by_Aanand_Prasad.rb +0 -478
  136. data/examples/bloopsaphone/working/b1.rb +0 -64
  137. data/examples/bloopsaphone/working/b2.rb +0 -36
  138. data/examples/bloopsaphone/working/bloops_test.rb +0 -41
  139. data/examples/bloopsaphone/working/bloopsaphone_theme_song_by_why.rb +0 -31
  140. data/examples/bloopsaphone/working/feepogram.rb +0 -67
  141. data/examples/bloopsaphone/working/simpsons_theme_song_by_why.rb +0 -14
  142. data/examples/bloopsaphone/working/tune_cheeky_drat.rb +0 -210
  143. data/examples/button.rb +0 -10
  144. data/examples/button_alert.rb +0 -6
  145. data/examples/button_go_away.rb +0 -6
  146. data/examples/button_with_position_and_size.rb +0 -7
  147. data/examples/coffee.rb +0 -14
  148. data/examples/download.rb +0 -5
  149. data/examples/download_and_show_image.rb +0 -28
  150. data/examples/edit_box.rb +0 -8
  151. data/examples/edit_line.rb +0 -8
  152. data/examples/fill.rb +0 -25
  153. data/examples/flow.rb +0 -11
  154. data/examples/fonts.rb +0 -6
  155. data/examples/gen.rb +0 -140
  156. data/examples/get_headers.rb +0 -10
  157. data/examples/hello_world.rb +0 -3
  158. data/examples/highlander.rb +0 -87
  159. data/examples/image/clickable_image.rb +0 -5
  160. data/examples/image/image.rb +0 -3
  161. data/examples/image/image_size.rb +0 -7
  162. data/examples/image/image_with_position_and_size.rb +0 -3
  163. data/examples/info.rb +0 -9
  164. data/examples/legacy/not_checked/expert/colours.rb +0 -105
  165. data/examples/legacy/not_checked/expert/curve-animation.rb +0 -31
  166. data/examples/legacy/not_checked/expert/curve-control-point.rb +0 -51
  167. data/examples/legacy/not_checked/expert/custom-list-box.rb +0 -53
  168. data/examples/legacy/not_checked/expert/definr.rb +0 -23
  169. data/examples/legacy/not_checked/expert/funnies.rb +0 -56
  170. data/examples/legacy/not_checked/expert/minesweeper.rb +0 -267
  171. data/examples/legacy/not_checked/expert/othello.rb +0 -318
  172. data/examples/legacy/not_checked/expert/pong.rb +0 -62
  173. data/examples/legacy/not_checked/expert/tankspank.rb +0 -385
  174. data/examples/legacy/not_checked/expert/tooltips.rb +0 -45
  175. data/examples/legacy/not_checked/expert/url.rb +0 -37
  176. data/examples/legacy/not_checked/expert/video-player.rb +0 -256
  177. data/examples/legacy/not_checked/good/_why-stories.rb +0 -44
  178. data/examples/legacy/not_checked/good/_why-stories.yaml +0 -387
  179. data/examples/legacy/not_checked/good/arc.rb +0 -37
  180. data/examples/legacy/not_checked/good/cardflip.rb +0 -141
  181. data/examples/legacy/not_checked/good/clock.rb +0 -51
  182. data/examples/legacy/not_checked/good/console.rb +0 -21
  183. data/examples/legacy/not_checked/good/follow.rb +0 -26
  184. data/examples/legacy/not_checked/good/image-rotate.rb +0 -14
  185. data/examples/legacy/not_checked/good/paris.svg +0 -7236
  186. data/examples/legacy/not_checked/good/path-animation.rb +0 -46
  187. data/examples/legacy/not_checked/good/plots.rb +0 -100
  188. data/examples/legacy/not_checked/good/reminder.rb +0 -174
  189. data/examples/legacy/not_checked/good/svgview.rb +0 -113
  190. data/examples/legacy/not_checked/good/vjot.rb +0 -56
  191. data/examples/legacy/not_checked/shoes-contrib/.gitignore +0 -2
  192. data/examples/legacy/not_checked/shoes-contrib/README.md +0 -34
  193. data/examples/legacy/not_checked/shoes-contrib/animation/animate-ovals.rb +0 -21
  194. data/examples/legacy/not_checked/shoes-contrib/animation/flowers.rb +0 -59
  195. data/examples/legacy/not_checked/shoes-contrib/animation/happy-trails.rb +0 -31
  196. data/examples/legacy/not_checked/shoes-contrib/animation/mice-satellites.rb +0 -27
  197. data/examples/legacy/not_checked/shoes-contrib/animation/oval-motion.rb +0 -12
  198. data/examples/legacy/not_checked/shoes-contrib/animation/pink-bubbles.rb +0 -34
  199. data/examples/legacy/not_checked/shoes-contrib/animation/pulsate.rb +0 -18
  200. data/examples/legacy/not_checked/shoes-contrib/animation/rotating-star.rb +0 -18
  201. data/examples/legacy/not_checked/shoes-contrib/app/download-and-save.rb +0 -11
  202. data/examples/legacy/not_checked/shoes-contrib/app/download.rb +0 -10
  203. data/examples/legacy/not_checked/shoes-contrib/app/get-google.rb +0 -11
  204. data/examples/legacy/not_checked/shoes-contrib/app/mouse-detection.rb +0 -7
  205. data/examples/legacy/not_checked/shoes-contrib/app/resizeable-false.rb +0 -6
  206. data/examples/legacy/not_checked/shoes-contrib/art/bubble-bullseye.rb +0 -23
  207. data/examples/legacy/not_checked/shoes-contrib/art/faded.rb +0 -17
  208. data/examples/legacy/not_checked/shoes-contrib/art/fill-oval.rb +0 -5
  209. data/examples/legacy/not_checked/shoes-contrib/art/mask.rb +0 -15
  210. data/examples/legacy/not_checked/shoes-contrib/art/oval-gradient.rb +0 -6
  211. data/examples/legacy/not_checked/shoes-contrib/art/star-gradient.rb +0 -4
  212. data/examples/legacy/not_checked/shoes-contrib/basic/basic-edit-box.rb +0 -8
  213. data/examples/legacy/not_checked/shoes-contrib/basic/basic-new-window.rb +0 -8
  214. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-image.rb +0 -8
  215. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval-shape.rb +0 -8
  216. data/examples/legacy/not_checked/shoes-contrib/basic/basic-oval.rb +0 -6
  217. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.rb +0 -43
  218. data/examples/legacy/not_checked/shoes-contrib/basic/class-book.yaml +0 -387
  219. data/examples/legacy/not_checked/shoes-contrib/basic/clock.rb +0 -6
  220. data/examples/legacy/not_checked/shoes-contrib/basic/edit-stack +0 -14
  221. data/examples/legacy/not_checked/shoes-contrib/basic/gradient-shoes.rb +0 -7
  222. data/examples/legacy/not_checked/shoes-contrib/basic/list_box-shape-report.rb +0 -19
  223. data/examples/legacy/not_checked/shoes-contrib/basic/rect-arrow.rb +0 -7
  224. data/examples/legacy/not_checked/shoes-contrib/basic/scribble.rb +0 -8
  225. data/examples/legacy/not_checked/shoes-contrib/basic/search.rb +0 -32
  226. data/examples/legacy/not_checked/shoes-contrib/basic/shoes-notes.rb +0 -16
  227. data/examples/legacy/not_checked/shoes-contrib/basic/url-shoes-subclassing.rb +0 -24
  228. data/examples/legacy/not_checked/shoes-contrib/browser.rb +0 -21
  229. data/examples/legacy/not_checked/shoes-contrib/elements/background-column.rb +0 -3
  230. data/examples/legacy/not_checked/shoes-contrib/elements/background.rb +0 -4
  231. data/examples/legacy/not_checked/shoes-contrib/elements/basic-fps.rb +0 -6
  232. data/examples/legacy/not_checked/shoes-contrib/elements/border-cat.rb +0 -6
  233. data/examples/legacy/not_checked/shoes-contrib/elements/button-block.rb +0 -8
  234. data/examples/legacy/not_checked/shoes-contrib/elements/check-mate.rb +0 -15
  235. data/examples/legacy/not_checked/shoes-contrib/elements/common-styles.rb +0 -13
  236. data/examples/legacy/not_checked/shoes-contrib/elements/displace-animation.rb +0 -13
  237. data/examples/legacy/not_checked/shoes-contrib/elements/edit_box-character-count.rb +0 -7
  238. data/examples/legacy/not_checked/shoes-contrib/elements/edit_line-character-count.rb +0 -7
  239. data/examples/legacy/not_checked/shoes-contrib/elements/image-icon.rb +0 -3
  240. data/examples/legacy/not_checked/shoes-contrib/elements/list_box-select-class.rb +0 -13
  241. data/examples/legacy/not_checked/shoes-contrib/elements/list_box.rb +0 -6
  242. data/examples/legacy/not_checked/shoes-contrib/elements/move-flow-animate.rb +0 -13
  243. data/examples/legacy/not_checked/shoes-contrib/elements/phat-button.rb +0 -7
  244. data/examples/legacy/not_checked/shoes-contrib/elements/popup.rb +0 -7
  245. data/examples/legacy/not_checked/shoes-contrib/elements/progress-bar.rb +0 -10
  246. data/examples/legacy/not_checked/shoes-contrib/elements/radio-dreamcast-favs.rb +0 -17
  247. data/examples/legacy/not_checked/shoes-contrib/elements/timer.rb +0 -6
  248. data/examples/legacy/not_checked/shoes-contrib/elements/width-introspec.rb +0 -8
  249. data/examples/legacy/not_checked/shoes-contrib/events/background-hover.rb +0 -11
  250. data/examples/legacy/not_checked/shoes-contrib/events/motion-detect.rb +0 -9
  251. data/examples/legacy/not_checked/shoes-contrib/events/pressed-key.rb +0 -6
  252. data/examples/legacy/not_checked/shoes-contrib/expert/expert-funnies.rb +0 -51
  253. data/examples/legacy/not_checked/shoes-contrib/expert/expert-irb.rb +0 -112
  254. data/examples/legacy/not_checked/shoes-contrib/expert/expert-othello.rb +0 -319
  255. data/examples/legacy/not_checked/shoes-contrib/good/good-arc.rb +0 -37
  256. data/examples/legacy/not_checked/shoes-contrib/good/good-clock.rb +0 -51
  257. data/examples/legacy/not_checked/shoes-contrib/good/good-follow.rb +0 -26
  258. data/examples/legacy/not_checked/shoes-contrib/good/good-reminder.rb +0 -174
  259. data/examples/legacy/not_checked/shoes-contrib/good/good-vjot.rb +0 -56
  260. data/examples/legacy/not_checked/shoes-contrib/kernel/ask.rb +0 -4
  261. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_color.rb +0 -4
  262. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_open_file.rb +0 -4
  263. data/examples/legacy/not_checked/shoes-contrib/kernel/ask_save_file.rb +0 -7
  264. data/examples/legacy/not_checked/shoes-contrib/kernel/confirm.rb +0 -3
  265. data/examples/legacy/not_checked/shoes-contrib/kernel/debug.rb +0 -4
  266. data/examples/legacy/not_checked/shoes-contrib/kernel/exit.rb +0 -5
  267. data/examples/legacy/not_checked/shoes-contrib/kernel/font.rb +0 -5
  268. data/examples/legacy/not_checked/shoes-contrib/kernel/fonts.rb +0 -3
  269. data/examples/legacy/not_checked/shoes-contrib/manipulation/append-slot.rb +0 -9
  270. data/examples/legacy/not_checked/shoes-contrib/manipulation/clear-slot.rb +0 -6
  271. data/examples/legacy/not_checked/shoes-contrib/manipulation/prepend-slot.rb +0 -6
  272. data/examples/legacy/not_checked/shoes-contrib/manipulation/roll.rb +0 -17
  273. data/examples/legacy/not_checked/shoes-contrib/position/gutter-margin.rb +0 -5
  274. data/examples/legacy/not_checked/shoes-contrib/position/stack-width.rb +0 -3
  275. data/examples/legacy/not_checked/shoes-contrib/simple/simple-accordion.rb +0 -75
  276. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-shapes.rb +0 -17
  277. data/examples/legacy/not_checked/shoes-contrib/simple/simple-anim-text.rb +0 -13
  278. data/examples/legacy/not_checked/shoes-contrib/simple/simple-arc.rb +0 -23
  279. data/examples/legacy/not_checked/shoes-contrib/simple/simple-bounce.rb +0 -24
  280. data/examples/legacy/not_checked/shoes-contrib/simple/simple-calc.rb +0 -70
  281. data/examples/legacy/not_checked/shoes-contrib/simple/simple-chipmunk.rb +0 -26
  282. data/examples/legacy/not_checked/shoes-contrib/simple/simple-control-sizes.rb +0 -24
  283. data/examples/legacy/not_checked/shoes-contrib/simple/simple-curve.rb +0 -26
  284. data/examples/legacy/not_checked/shoes-contrib/simple/simple-dialogs.rb +0 -29
  285. data/examples/legacy/not_checked/shoes-contrib/simple/simple-downloader.rb +0 -27
  286. data/examples/legacy/not_checked/shoes-contrib/simple/simple-draw.rb +0 -13
  287. data/examples/legacy/not_checked/shoes-contrib/simple/simple-editor.rb +0 -28
  288. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.rb +0 -28
  289. data/examples/legacy/not_checked/shoes-contrib/simple/simple-form.shy +0 -0
  290. data/examples/legacy/not_checked/shoes-contrib/simple/simple-mask.rb +0 -21
  291. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu.rb +0 -31
  292. data/examples/legacy/not_checked/shoes-contrib/simple/simple-menu1.rb +0 -35
  293. data/examples/legacy/not_checked/shoes-contrib/simple/simple-rubygems.rb +0 -29
  294. data/examples/legacy/not_checked/shoes-contrib/simple/simple-slide.rb +0 -45
  295. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sphere.rb +0 -28
  296. data/examples/legacy/not_checked/shoes-contrib/simple/simple-sqlite3.rb +0 -13
  297. data/examples/legacy/not_checked/shoes-contrib/simple/simple-timer.rb +0 -13
  298. data/examples/legacy/not_checked/shoes-contrib/simple/simple-video.rb +0 -13
  299. data/examples/legacy/not_checked/shoes-contrib/styles/alignment.rb +0 -4
  300. data/examples/legacy/not_checked/shoes-contrib/styles/attachment.rb +0 -5
  301. data/examples/legacy/not_checked/shoes-contrib/styles/emphasis.rb +0 -3
  302. data/examples/legacy/not_checked/shoes-contrib/styles/gradient-angle.rb +0 -3
  303. data/examples/legacy/not_checked/shoes-contrib/styles/para-methods.rb +0 -5
  304. data/examples/legacy/not_checked/shoes-contrib/styles/para-red-underlined.rb +0 -3
  305. data/examples/legacy/not_checked/shoes-contrib/styles/para-style-method.rb +0 -4
  306. data/examples/legacy/not_checked/shoes-dep-samples/expert-game-of-life.rb +0 -243
  307. data/examples/legacy/not_checked/shoes-dep-samples/expert-othello.rb +0 -319
  308. data/examples/legacy/not_checked/shoes-dep-samples/good-clock.rb +0 -51
  309. data/examples/legacy/not_checked/shoes-dep-samples/good-follow.rb +0 -26
  310. data/examples/legacy/not_checked/shoes-dep-samples/good-reminder.rb +0 -174
  311. data/examples/legacy/not_checked/shoes-dep-samples/good-vjot.rb +0 -56
  312. data/examples/legacy/not_checked/shoes-dep-samples/simple-accordion.rb +0 -75
  313. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-shapes.rb +0 -17
  314. data/examples/legacy/not_checked/shoes-dep-samples/simple-anim-text.rb +0 -13
  315. data/examples/legacy/not_checked/shoes-dep-samples/simple-arc.rb +0 -23
  316. data/examples/legacy/not_checked/shoes-dep-samples/simple-bounce.rb +0 -24
  317. data/examples/legacy/not_checked/shoes-dep-samples/simple-calc.rb +0 -70
  318. data/examples/legacy/not_checked/shoes-dep-samples/simple-chipmunk.rb +0 -26
  319. data/examples/legacy/not_checked/shoes-dep-samples/simple-control-sizes.rb +0 -24
  320. data/examples/legacy/not_checked/shoes-dep-samples/simple-curve.rb +0 -26
  321. data/examples/legacy/not_checked/shoes-dep-samples/simple-dialogs.rb +0 -29
  322. data/examples/legacy/not_checked/shoes-dep-samples/simple-draw.rb +0 -13
  323. data/examples/legacy/not_checked/shoes-dep-samples/simple-editor.rb +0 -28
  324. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.rb +0 -28
  325. data/examples/legacy/not_checked/shoes-dep-samples/simple-form.shy +0 -0
  326. data/examples/legacy/not_checked/shoes-dep-samples/simple-mask.rb +0 -21
  327. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu.rb +0 -31
  328. data/examples/legacy/not_checked/shoes-dep-samples/simple-menu1.rb +0 -35
  329. data/examples/legacy/not_checked/shoes-dep-samples/simple-rubygems.rb +0 -29
  330. data/examples/legacy/not_checked/shoes-dep-samples/simple-slide.rb +0 -45
  331. data/examples/legacy/not_checked/shoes-dep-samples/simple-sphere.rb +0 -28
  332. data/examples/legacy/not_checked/shoes-dep-samples/simple-sqlite3.rb +0 -13
  333. data/examples/legacy/not_checked/shoes-dep-samples/simple-timer.rb +0 -13
  334. data/examples/legacy/not_checked/shoes-dep-samples/simple-video.rb +0 -13
  335. data/examples/legacy/not_checked/shoes3-tests/AnemicCinema1926marcelDuchampCut.mp4 +0 -0
  336. data/examples/legacy/not_checked/shoes3-tests/button/button.rb +0 -53
  337. data/examples/legacy/not_checked/shoes3-tests/cache/cache.rb +0 -41
  338. data/examples/legacy/not_checked/shoes3-tests/combo/combo.rb +0 -24
  339. data/examples/legacy/not_checked/shoes3-tests/curl/bare.rb +0 -34
  340. data/examples/legacy/not_checked/shoes3-tests/curl/downloader.rb +0 -40
  341. data/examples/legacy/not_checked/shoes3-tests/curl/m1.rb +0 -11
  342. data/examples/legacy/not_checked/shoes3-tests/curl/m2.rb +0 -12
  343. data/examples/legacy/not_checked/shoes3-tests/curl/m3.rb +0 -11
  344. data/examples/legacy/not_checked/shoes3-tests/curl/m4.rb +0 -5
  345. data/examples/legacy/not_checked/shoes3-tests/curl/typ.rb +0 -30
  346. data/examples/legacy/not_checked/shoes3-tests/cursor/c1.rb +0 -21
  347. data/examples/legacy/not_checked/shoes3-tests/decoration.rb +0 -14
  348. data/examples/legacy/not_checked/shoes3-tests/dialogs/ask.rb +0 -6
  349. data/examples/legacy/not_checked/shoes3-tests/dialogs/confirm.rb +0 -6
  350. data/examples/legacy/not_checked/shoes3-tests/editbox/editbox.rb +0 -36
  351. data/examples/legacy/not_checked/shoes3-tests/editline/editline.rb +0 -27
  352. data/examples/legacy/not_checked/shoes3-tests/events/button.rb +0 -32
  353. data/examples/legacy/not_checked/shoes3-tests/events/button.yaml +0 -40
  354. data/examples/legacy/not_checked/shoes3-tests/events/capture.rb +0 -57
  355. data/examples/legacy/not_checked/shoes3-tests/events/chipmunk.yaml +0 -47
  356. data/examples/legacy/not_checked/shoes3-tests/events/event0.rb +0 -8
  357. data/examples/legacy/not_checked/shoes3-tests/events/event1.rb +0 -51
  358. data/examples/legacy/not_checked/shoes3-tests/events/event1.yaml +0 -26
  359. data/examples/legacy/not_checked/shoes3-tests/events/event2.rb +0 -46
  360. data/examples/legacy/not_checked/shoes3-tests/events/event3.rb +0 -44
  361. data/examples/legacy/not_checked/shoes3-tests/events/event4.rb +0 -65
  362. data/examples/legacy/not_checked/shoes3-tests/events/event5.rb +0 -17
  363. data/examples/legacy/not_checked/shoes3-tests/events/event6.rb +0 -51
  364. data/examples/legacy/not_checked/shoes3-tests/events/replay.rb +0 -60
  365. data/examples/legacy/not_checked/shoes3-tests/gapp/fullscreen.rb +0 -38
  366. data/examples/legacy/not_checked/shoes3-tests/gapp/icon.rb +0 -56
  367. data/examples/legacy/not_checked/shoes3-tests/gapp/mon1.rb +0 -46
  368. data/examples/legacy/not_checked/shoes3-tests/gapp/settings1.rb +0 -22
  369. data/examples/legacy/not_checked/shoes3-tests/gapp/title1.rb +0 -34
  370. data/examples/legacy/not_checked/shoes3-tests/indian.m4a +0 -0
  371. data/examples/legacy/not_checked/shoes3-tests/menus/event.rb +0 -33
  372. data/examples/legacy/not_checked/shoes3-tests/menus/menu1.rb +0 -8
  373. data/examples/legacy/not_checked/shoes3-tests/menus/menu2.rb +0 -25
  374. data/examples/legacy/not_checked/shoes3-tests/menus/menu3.rb +0 -103
  375. data/examples/legacy/not_checked/shoes3-tests/menus/menu4.rb +0 -41
  376. data/examples/legacy/not_checked/shoes3-tests/menus/tests.txt +0 -42
  377. data/examples/legacy/not_checked/shoes3-tests/opacity.rb +0 -13
  378. data/examples/legacy/not_checked/shoes3-tests/plot/^IRX.R +0 -5219
  379. data/examples/legacy/not_checked/shoes3-tests/plot/^SPX +0 -5219
  380. data/examples/legacy/not_checked/shoes3-tests/plot/cstest.rb +0 -51
  381. data/examples/legacy/not_checked/shoes3-tests/plot/gr1.rb +0 -73
  382. data/examples/legacy/not_checked/shoes3-tests/plot/gr2.rb +0 -40
  383. data/examples/legacy/not_checked/shoes3-tests/plot/gr3.rb +0 -47
  384. data/examples/legacy/not_checked/shoes3-tests/plot/gr4.rb +0 -35
  385. data/examples/legacy/not_checked/shoes3-tests/plot/gr5.rb +0 -31
  386. data/examples/legacy/not_checked/shoes3-tests/plot/gr6.rb +0 -35
  387. data/examples/legacy/not_checked/shoes3-tests/plot/gr7.rb +0 -37
  388. data/examples/legacy/not_checked/shoes3-tests/plot/grcsv.rb +0 -219
  389. data/examples/legacy/not_checked/shoes3-tests/plot/manual.rb +0 -40
  390. data/examples/legacy/not_checked/shoes3-tests/progress/progress.rb +0 -29
  391. data/examples/legacy/not_checked/shoes3-tests/radio/clear.rb +0 -20
  392. data/examples/legacy/not_checked/shoes3-tests/radio/group.rb +0 -18
  393. data/examples/legacy/not_checked/shoes3-tests/radio/multiple.rb +0 -32
  394. data/examples/legacy/not_checked/shoes3-tests/radio/nogroup.rb +0 -9
  395. data/examples/legacy/not_checked/shoes3-tests/simpletest.svg +0 -14
  396. data/examples/legacy/not_checked/shoes3-tests/spinner.rb +0 -15
  397. data/examples/legacy/not_checked/shoes3-tests/svg.rb +0 -208
  398. data/examples/legacy/not_checked/shoes3-tests/switch/switch.rb +0 -28
  399. data/examples/legacy/not_checked/shoes3-tests/systray/back.rb +0 -20
  400. data/examples/legacy/not_checked/shoes3-tests/systray/note.rb +0 -17
  401. data/examples/legacy/not_checked/shoes3-tests/terminal/cursor.rb +0 -27
  402. data/examples/legacy/not_checked/shoes3-tests/terminal/ed.rb +0 -65
  403. data/examples/legacy/not_checked/shoes3-tests/terminal/el.rb +0 -50
  404. data/examples/legacy/not_checked/shoes3-tests/terminal/logattr.rb +0 -31
  405. data/examples/legacy/not_checked/shoes3-tests/tests_color.rb +0 -138
  406. data/examples/legacy/not_checked/shoes3-tests/tests_svg.rb +0 -228
  407. data/examples/legacy/not_checked/shoes3-tests/tests_video_vlc.rb +0 -186
  408. data/examples/legacy/not_checked/shoes3-tests/tooltips.rb +0 -20
  409. data/examples/legacy/not_checked/shoes3-tests/video_vlc.rb +0 -242
  410. data/examples/legacy/not_checked/shoes3-tests/wheel/wheel1.rb +0 -21
  411. data/examples/legacy/not_checked/simple/accordion.rb +0 -81
  412. data/examples/legacy/not_checked/simple/anim-shapes.rb +0 -17
  413. data/examples/legacy/not_checked/simple/anim-text.rb +0 -13
  414. data/examples/legacy/not_checked/simple/arc.rb +0 -23
  415. data/examples/legacy/not_checked/simple/bounce.rb +0 -24
  416. data/examples/legacy/not_checked/simple/chipmunk.rb +0 -26
  417. data/examples/legacy/not_checked/simple/control-sizes.rb +0 -24
  418. data/examples/legacy/not_checked/simple/curve-control-points.rb +0 -24
  419. data/examples/legacy/not_checked/simple/curve.rb +0 -26
  420. data/examples/legacy/not_checked/simple/dialogs.rb +0 -29
  421. data/examples/legacy/not_checked/simple/downloader.rb +0 -40
  422. data/examples/legacy/not_checked/simple/downloader1.rb +0 -31
  423. data/examples/legacy/not_checked/simple/draw.rb +0 -13
  424. data/examples/legacy/not_checked/simple/editor.rb +0 -28
  425. data/examples/legacy/not_checked/simple/form.rb +0 -30
  426. data/examples/legacy/not_checked/simple/image.rb +0 -21
  427. data/examples/legacy/not_checked/simple/info.rb +0 -78
  428. data/examples/legacy/not_checked/simple/mask.rb +0 -21
  429. data/examples/legacy/not_checked/simple/mask2.rb +0 -27
  430. data/examples/legacy/not_checked/simple/menu.rb +0 -31
  431. data/examples/legacy/not_checked/simple/menu1.rb +0 -35
  432. data/examples/legacy/not_checked/simple/slide.rb +0 -45
  433. data/examples/legacy/not_checked/simple/sphere.rb +0 -28
  434. data/examples/legacy/not_checked/superleg.rb +0 -244
  435. data/examples/legacy/working/shoes-contrib/basic/a-poem.rb +0 -24
  436. data/examples/legacy/working/shoes-contrib/basic/basic-blocks-instances.rb +0 -7
  437. data/examples/legacy/working/shoes-contrib/basic/basic-blocks.rb +0 -7
  438. data/examples/legacy/working/shoes-contrib/basic/basic-slot.rb +0 -8
  439. data/examples/legacy/working/shoes-contrib/basic/intro.rb +0 -20
  440. data/examples/legacy/working/shoes-contrib/basic/two-column.rb +0 -12
  441. data/examples/legacy/working/shoes-contrib/elements/edit_box.rb +0 -6
  442. data/examples/legacy/working/shoes-contrib/kernel/alert.rb +0 -3
  443. data/examples/legacy/working/simple/calc.rb +0 -71
  444. data/examples/legacy/working/simple/sqlite3.rb +0 -27
  445. data/examples/legacy/working/simple/timer.rb +0 -13
  446. data/examples/line.rb +0 -5
  447. data/examples/link.rb +0 -20
  448. data/examples/list_box.rb +0 -8
  449. data/examples/local_fonts.rb +0 -4
  450. data/examples/local_images.rb +0 -4
  451. data/examples/motion_events.rb +0 -20
  452. data/examples/para/collection_of_arguments.rb +0 -9
  453. data/examples/para/hello_world.rb +0 -5
  454. data/examples/para/hide_and_show.rb +0 -9
  455. data/examples/para/rainbow.rb +0 -11
  456. data/examples/para/rainbow_2.rb +0 -11
  457. data/examples/para/sizes.rb +0 -11
  458. data/examples/para/sizes_2.rb +0 -12
  459. data/examples/para/strong.rb +0 -3
  460. data/examples/para_text_widgets.rb +0 -4
  461. data/examples/parse_xl_funnies.rb +0 -58
  462. data/examples/pirate.png +0 -0
  463. data/examples/raw_flow.rb +0 -11
  464. data/examples/ruby_racer.rb +0 -50
  465. data/examples/selfitude.rb +0 -18
  466. data/examples/shapes/arc.rb +0 -8
  467. data/examples/shapes/shapes.rb +0 -8
  468. data/examples/shapes/shapes_fill.rb +0 -10
  469. data/examples/shapes/star.rb +0 -5
  470. data/examples/shoes_school.rb +0 -66
  471. data/examples/shoes_splorer.rb +0 -150
  472. data/examples/simple_slides.rb +0 -73
  473. data/examples/skip_ci/parrot.rb +0 -22
  474. data/examples/skip_ci/say.rb +0 -20
  475. data/examples/sleepless.rb +0 -26
  476. data/examples/slots.rb +0 -10
  477. data/examples/spacing.rb +0 -18
  478. data/examples/span.rb +0 -6
  479. data/examples/stack/background.rb +0 -35
  480. data/examples/stack/border.rb +0 -11
  481. data/examples/stack/gradients.rb +0 -6
  482. data/examples/stack/raw_stack.rb +0 -8
  483. data/examples/stack/stack.rb +0 -27
  484. data/examples/text_change.rb +0 -4
  485. data/examples/text_sizes.rb +0 -10
  486. data/examples/timmy.rb +0 -109
  487. data/examples/title_and_resize.rb +0 -3
  488. data/examples/video.rb +0 -10
  489. data/exe/scarpe +0 -107
  490. data/fonts/Pacifico.ttf +0 -0
  491. data/lib/scarpe/alert.rb +0 -19
  492. data/lib/scarpe/arc.rb +0 -49
  493. data/lib/scarpe/base64.rb +0 -27
  494. data/lib/scarpe/button.rb +0 -35
  495. data/lib/scarpe/cats_cradle.rb +0 -255
  496. data/lib/scarpe/fill.rb +0 -23
  497. data/lib/scarpe/flow.rb +0 -18
  498. data/lib/scarpe/font.rb +0 -14
  499. data/lib/scarpe/glibui/README.md +0 -34
  500. data/lib/scarpe/glibui/alert.rb +0 -65
  501. data/lib/scarpe/glibui/app.rb +0 -27
  502. data/lib/scarpe/glibui/background.rb +0 -18
  503. data/lib/scarpe/glibui/border.rb +0 -22
  504. data/lib/scarpe/glibui/button.rb +0 -38
  505. data/lib/scarpe/glibui/dimensions.rb +0 -22
  506. data/lib/scarpe/glibui/document_root.rb +0 -33
  507. data/lib/scarpe/glibui/edit_box.rb +0 -44
  508. data/lib/scarpe/glibui/edit_line.rb +0 -43
  509. data/lib/scarpe/glibui/flow.rb +0 -33
  510. data/lib/scarpe/glibui/html.rb +0 -77
  511. data/lib/scarpe/glibui/image.rb +0 -36
  512. data/lib/scarpe/glibui/link.rb +0 -29
  513. data/lib/scarpe/glibui/local_display.rb +0 -62
  514. data/lib/scarpe/glibui/para.rb +0 -84
  515. data/lib/scarpe/glibui/spacing.rb +0 -41
  516. data/lib/scarpe/glibui/stack.rb +0 -33
  517. data/lib/scarpe/glibui/text_widget.rb +0 -30
  518. data/lib/scarpe/glibui/widget.rb +0 -81
  519. data/lib/scarpe/glibui.rb +0 -29
  520. data/lib/scarpe/libui/alert.rb +0 -9
  521. data/lib/scarpe/libui/button.rb +0 -18
  522. data/lib/scarpe/libui/colors.rb +0 -157
  523. data/lib/scarpe/libui/core.rb +0 -66
  524. data/lib/scarpe/libui/flow.rb +0 -16
  525. data/lib/scarpe/libui/libui.rb +0 -45
  526. data/lib/scarpe/libui/notepad.md +0 -26
  527. data/lib/scarpe/libui/para.rb +0 -154
  528. data/lib/scarpe/libui/stack.rb +0 -34
  529. data/lib/scarpe/line.rb +0 -25
  530. data/lib/scarpe/link.rb +0 -25
  531. data/lib/scarpe/list_box.rb +0 -25
  532. data/lib/scarpe/logger.rb +0 -159
  533. data/lib/scarpe/para.rb +0 -92
  534. data/lib/scarpe/promises.rb +0 -405
  535. data/lib/scarpe/shape.rb +0 -20
  536. data/lib/scarpe/slot.rb +0 -7
  537. data/lib/scarpe/spacing.rb +0 -9
  538. data/lib/scarpe/star.rb +0 -47
  539. data/lib/scarpe/subscription_item.rb +0 -60
  540. data/lib/scarpe/unit_test_helpers.rb +0 -236
  541. data/lib/scarpe/version.rb +0 -5
  542. data/lib/scarpe/video.rb +0 -15
  543. data/lib/scarpe/widgets.rb +0 -35
  544. data/lib/scarpe/wv/alert.rb +0 -65
  545. data/lib/scarpe/wv/app.rb +0 -104
  546. data/lib/scarpe/wv/arc.rb +0 -57
  547. data/lib/scarpe/wv/background.rb +0 -27
  548. data/lib/scarpe/wv/border.rb +0 -24
  549. data/lib/scarpe/wv/button.rb +0 -50
  550. data/lib/scarpe/wv/control_interface.rb +0 -147
  551. data/lib/scarpe/wv/control_interface_test.rb +0 -234
  552. data/lib/scarpe/wv/dimensions.rb +0 -22
  553. data/lib/scarpe/wv/document_root.rb +0 -8
  554. data/lib/scarpe/wv/edit_box.rb +0 -44
  555. data/lib/scarpe/wv/edit_line.rb +0 -43
  556. data/lib/scarpe/wv/fill.rb +0 -30
  557. data/lib/scarpe/wv/flow.rb +0 -24
  558. data/lib/scarpe/wv/font.rb +0 -36
  559. data/lib/scarpe/wv/html.rb +0 -108
  560. data/lib/scarpe/wv/image.rb +0 -41
  561. data/lib/scarpe/wv/line.rb +0 -38
  562. data/lib/scarpe/wv/link.rb +0 -29
  563. data/lib/scarpe/wv/list_box.rb +0 -50
  564. data/lib/scarpe/wv/para.rb +0 -90
  565. data/lib/scarpe/wv/shape.rb +0 -35
  566. data/lib/scarpe/wv/shape_helper.rb +0 -44
  567. data/lib/scarpe/wv/slot.rb +0 -81
  568. data/lib/scarpe/wv/spacing.rb +0 -41
  569. data/lib/scarpe/wv/span.rb +0 -66
  570. data/lib/scarpe/wv/stack.rb +0 -24
  571. data/lib/scarpe/wv/star.rb +0 -64
  572. data/lib/scarpe/wv/subscription_item.rb +0 -50
  573. data/lib/scarpe/wv/text_widget.rb +0 -30
  574. data/lib/scarpe/wv/video.rb +0 -42
  575. data/lib/scarpe/wv/web_wrangler.rb +0 -683
  576. data/lib/scarpe/wv/webview_local_display.rb +0 -73
  577. data/lib/scarpe/wv/webview_relay_display.rb +0 -185
  578. data/lib/scarpe/wv/widget.rb +0 -185
  579. data/lib/scarpe/wv/wv_display_worker.rb +0 -65
  580. data/lib/scarpe/wv.rb +0 -43
  581. data/lib/scarpe/wv_local.rb +0 -6
  582. data/lib/scarpe/wv_relay.rb +0 -6
  583. data/lib/scarpe.rb +0 -29
  584. data/lib/shoes/text_widget.rb +0 -52
  585. data/lib/shoes/widget.rb +0 -209
  586. data/logger/debug_web_wrangler.json +0 -4
  587. data/logger/scarpe_wv_test.json +0 -4
  588. data/scarpe-0.2.0.gem +0 -0
  589. data/scarpe.gemspec +0 -44
  590. data/scarpegen.rb +0 -193
  591. data/sig/scarpe.rbs +0 -4
  592. data/templates/basic_class_template.erb +0 -38
  593. data/templates/class_template_with_event_bind.erb +0 -27
  594. data/templates/class_template_with_shapes.erb +0 -43
  595. data/templates/example_template.erb +0 -3
  596. data/templates/module_template.erb +0 -12
  597. data/templates/webview_template.erb +0 -27
data/lib/shoes/widget.rb DELETED
@@ -1,209 +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 Scarpe::Log
15
- include Scarpe::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
- def initialize(*args, **kwargs)
76
- log_init("Widget")
77
-
78
- self.class.display_property_names.each do |prop|
79
- if kwargs[prop.to_sym]
80
- instance_variable_set("@" + prop, kwargs[prop.to_sym])
81
- end
82
- end
83
-
84
- super() # linkable_id defaults to object_id
85
- end
86
-
87
- def inspect
88
- "#<#{self.class}:#{self.object_id} " +
89
- "@linkable_id=#{@linkable_id.inspect} @parent=#{@parent.inspect} " +
90
- "@children=#{@children.inspect} properties=#{display_property_values.inspect}>"
91
- end
92
-
93
- def bind_self_event(event_name, &block)
94
- raise("Widget has no linkable_id! #{inspect}") unless linkable_id
95
-
96
- bind_shoes_event(event_name: event_name, target: linkable_id, &block)
97
- end
98
-
99
- def bind_no_target_event(event_name, &block)
100
- bind_shoes_event(event_name:, &block)
101
- end
102
-
103
- def display_property_values
104
- all_property_names = self.class.display_property_names
105
-
106
- properties = {}
107
- all_property_names.each do |prop|
108
- properties[prop] = instance_variable_get("@" + prop)
109
- end
110
- properties["shoes_linkable_id"] = self.linkable_id
111
- properties
112
- end
113
-
114
- def create_display_widget
115
- klass_name = self.class.name.delete_prefix("Scarpe::").delete_prefix("Shoes::")
116
-
117
- # Should we save a reference to widget for later reference?
118
- ::Shoes::DisplayService.display_service.create_display_widget_for(klass_name, self.linkable_id, display_property_values)
119
- end
120
-
121
- attr_reader :parent
122
- attr_reader :children
123
-
124
- def set_parent(new_parent)
125
- @parent&.remove_child(self)
126
- new_parent&.add_child(self)
127
- @parent = new_parent
128
- send_shoes_event(new_parent.linkable_id, event_name: "parent", target: linkable_id)
129
- end
130
-
131
- # Do not call directly, use set_parent
132
- def remove_child(child)
133
- @children ||= []
134
- unless @children.include?(child)
135
- @log.warn("remove_child: no such child(#{child.inspect}) for parent(#{parent.inspect})!")
136
- end
137
- @children.delete(child)
138
- end
139
-
140
- # Do not call directly, use set_parent
141
- def add_child(child)
142
- @children ||= []
143
- @children << child
144
- end
145
-
146
- # Removes the element from the Shoes::Widget tree
147
- def destroy
148
- @parent&.remove_child(self)
149
- send_shoes_event(event_name: "destroy", target: linkable_id)
150
- end
151
-
152
- alias_method :destroy_self, :destroy
153
-
154
- # We use method_missing for widget-creating methods like "button",
155
- # and also to auto-create display-property getters and setters.
156
- def method_missing(name, *args, **kwargs, &block)
157
- name_s = name.to_s
158
-
159
- if name_s[-1] == "="
160
- prop_name = name_s[0..-2]
161
- if self.class.display_property_name?(prop_name)
162
- self.class.define_method(name) do |new_value|
163
- raise "Trying to set display properties in an object with no linkable ID!" unless linkable_id
164
-
165
- instance_variable_set("@" + prop_name, new_value)
166
- send_shoes_event({ prop_name => new_value }, event_name: "prop_change", target: linkable_id)
167
- end
168
-
169
- return self.send(name, *args, **kwargs, &block)
170
- end
171
- end
172
-
173
- if self.class.display_property_name?(name_s)
174
- self.class.define_method(name) do
175
- raise "Trying to get display properties in an object with no linkable ID!" unless linkable_id
176
-
177
- instance_variable_get("@" + name_s)
178
- end
179
-
180
- return self.send(name, *args, **kwargs, &block)
181
- end
182
-
183
- klass = Widget.widget_class_by_name(name)
184
- return super unless klass
185
-
186
- ::Shoes::Widget.define_method(name) do |*args, **kwargs, &block|
187
- # Look up the Shoes widget and create it...
188
- widget_instance = klass.new(*args, **kwargs, &block)
189
-
190
- unless klass.ancestors.include?(Shoes::TextWidget)
191
- widget_instance.set_parent Shoes::App.instance.current_slot
192
- end
193
-
194
- widget_instance
195
- end
196
-
197
- send(name, *args, **kwargs, &block)
198
- end
199
-
200
- def respond_to_missing?(name, include_private = false)
201
- name_s = name.to_s
202
- return true if self.class.display_property_name?(name_s)
203
- return true if self.class.display_property_name?(name_s[0..-2]) && name_s[-1] == "="
204
- return true if Widget.widget_class_by_name(name_s)
205
-
206
- super
207
- end
208
- end
209
- end
@@ -1,4 +0,0 @@
1
- {
2
- "default": "warn",
3
- "WV::WebWrangler": ["debug", "logger/web_wrangler.log"]
4
- }
@@ -1,4 +0,0 @@
1
- {
2
- "default": ["debug", "logger/test_failure.log"],
3
- "WebviewAPI": ["debug", "logger/test_failure_wv_api.log"]
4
- }
data/scarpe-0.2.0.gem DELETED
Binary file
data/scarpe.gemspec DELETED
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/scarpe/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "scarpe"
7
- spec.version = Scarpe::VERSION
8
- spec.authors = ["Marco Concetto Rudilosso"]
9
- spec.email = ["marcoc.r@outlook.com"]
10
-
11
- spec.summary = "Scarpe - shoes but running on webview"
12
- spec.homepage = "https://github.com/Maaarcocr/scarpe"
13
- spec.license = "MIT"
14
- spec.required_ruby_version = ">= 3.2.0"
15
-
16
- # spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
17
-
18
- spec.metadata["homepage_uri"] = spec.homepage
19
- spec.metadata["source_code_uri"] = "https://github.com/Maaarcocr/scarpe"
20
- spec.metadata["changelog_uri"] = "https://github.com/Maaarcocr/scarpe/blob/main/CHANGELOG.md"
21
-
22
- # Specify which files should be added to the gem when it is released.
23
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
- `git ls-files -z`.split("\x0").reject do |f|
26
- (f == __FILE__) || f.match(%r{\A(?:(?:test|spec|features)/|\.(?:git|travis|circleci)|appveyor)})
27
- end
28
- end
29
- spec.bindir = "exe"
30
- spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
31
- spec.require_paths = ["lib"]
32
-
33
- spec.add_dependency "fastimage"
34
- spec.add_dependency "glimmer-dsl-libui"
35
- spec.add_dependency "nokogiri"
36
- spec.add_dependency "sqlite3"
37
-
38
- spec.add_dependency "bloops", "~>0.5"
39
- spec.add_dependency "logging", "~>2.3.1"
40
- spec.add_dependency "webview_ruby", "~>0.1.1"
41
-
42
- # For more information and examples about making a new gem, check out our
43
- # guide at: https://bundler.io/guides/creating_gem.html
44
- end
data/scarpegen.rb DELETED
@@ -1,193 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "erb"
4
-
5
- class ScarpeGenerator
6
- def initialize
7
- @filename = ""
8
- @display_properties = ""
9
- end
10
-
11
- def generate
12
- show_welcome_message
13
- get_filename
14
- choice = get_choice
15
- if choice == "1"
16
- class_template_choice = get_class_template_choice
17
- get_display_properties if class_template_choice != "1"
18
- end
19
- generate_files(choice, class_template_choice)
20
- end
21
-
22
- private
23
-
24
- def show_welcome_message
25
- welcome_line1 = "Welcome to SCARPE! Let's build something cool!"
26
-
27
- puts " \e[1;32m"
28
- puts " ╔ SCARPE ────────────────────────────────────────────────────────╗"
29
- puts " ║ ║"
30
- puts " ║ #{welcome_line1} ║"
31
- puts " ║ ║"
32
- puts " ╚────────────────────────────────────────────────────────────────╝"
33
- puts " \e[0m\n"
34
- end
35
-
36
- def get_filename
37
- print "\n\e[33mEnter the filename: \e[0m"
38
- @filename = gets.chomp
39
- end
40
-
41
- def get_choice
42
- loop do
43
- puts " \e[32m\e[1m╭──────────────────────────────────────────────────────────────────────────────────╮"
44
- puts " │ Do you want to generate: │"
45
- puts " │ │"
46
- puts " │ 1. Class │"
47
- puts " │ 2. Module │"
48
- puts " │ │"
49
- print " ╰──────────────────────────────────────────────────────────────────────────────────╯\e[0m\n\n\e[33mEnter your choice:\e[0m "
50
- choice = gets.chomp
51
-
52
- if choice == "1" || choice == "2"
53
- return choice
54
- else
55
- puts "\e[31m
56
- ╭─ error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
57
- │ │
58
- │ Invalid choice. Please enter 1 or 2. │
59
- │ │
60
- ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
61
- \e[0m"
62
- end
63
- end
64
- end
65
-
66
- def get_class_template_choice
67
- loop do
68
- puts " \e[32m\e[1m╭──────────────────────────────────────────────────────────────────────────────────╮"
69
- puts " │ Which type of class file template do you want to generate? │"
70
- puts " │ │"
71
- puts " │ 1. Basic class template │"
72
- puts " │ 2. Class template with basic event bind (button) |"
73
- puts " │ 3. Class template with shapes (e.g., star) |"
74
- puts " │ │"
75
- puts " ╰──────────────────────────────────────────────────────────────────────────────────╯\e[0m\n\n\e[33mEnter your choice:\e[0m "
76
- choice = gets.chomp
77
-
78
- if ["1", "2", "3"].include?(choice)
79
- return choice
80
- else
81
- puts "\e[31m
82
- ╭─ error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
83
- │ │
84
- │ Invalid choice. Please enter 1, 2, or 3. │
85
- │ │
86
- ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
87
- \e[0m"
88
- end
89
- end
90
- end
91
-
92
- def get_display_properties
93
- print "\n\e[33mDo you want to enter display properties? (y/n):\e[0m "
94
- response = gets.chomp.downcase
95
- @display_properties = response == "y" || response == "yes" ? get_properties_input : ":dummy"
96
- end
97
-
98
- def get_properties_input
99
- print "\e[33mEnter the display properties:(enter like :width,:height)\e[0m "
100
- gets.chomp
101
- end
102
-
103
- def generate_files(choice, class_template_choice)
104
- case choice
105
- when "1"
106
- generate_class_file(class_template_choice)
107
- when "2"
108
- generate_module_file
109
- else
110
- puts "\e[31mInvalid choice. Exiting...\e[0m"
111
- exit
112
- end
113
- generate_webview_file
114
- generate_example_file
115
- add_require_relative_to_widgets_file
116
- puts "\n\e[1;32mYayyyy! Files generated successfully!\e[0m\n"
117
- end
118
-
119
- def add_require_relative_to_widgets_file
120
- widgets_file_path = "lib/scarpe/widgets.rb"
121
- filename = @filename.downcase
122
- require_line = "require_relative \"#{filename}\""
123
-
124
- File.open(widgets_file_path, "a") do |file|
125
- file.puts require_line
126
- end
127
-
128
- puts "Added require_relative to widgets.rb file"
129
- end
130
-
131
- def generate_webview_file
132
- webview_template = File.read("templates/webview_template.erb")
133
- webview_content = ERB.new(webview_template).result(binding_with_argument)
134
-
135
- File.write("lib/scarpe/wv/#{@filename}.rb", webview_content)
136
- puts "generated webview file"
137
- add_require_relative_to_wv_file
138
- end
139
-
140
- def add_require_relative_to_wv_file
141
- wv_file_path = "lib/scarpe/wv.rb"
142
- filename = @filename.downcase
143
- require_line = "require_relative \"wv/#{filename}\""
144
-
145
- File.open(wv_file_path, "a") do |file|
146
- file.puts require_line
147
- end
148
-
149
- puts "Added require_relative to wv.rb file"
150
- end
151
-
152
- def generate_example_file
153
- example_template = File.read("templates/example_template.erb")
154
- example_content = ERB.new(example_template).result(binding_with_argument)
155
-
156
- File.write("examples/#{@filename}.rb", example_content)
157
- end
158
-
159
- def generate_class_file(class_template_choice)
160
- case class_template_choice
161
- when "1"
162
- class_template_file = "templates/basic_class_template.erb"
163
- when "2"
164
- class_template_file = "templates/class_template_with_event_bind.erb"
165
- when "3"
166
- class_template_file = "templates/class_template_with_shapes.erb"
167
- end
168
-
169
- class_template = File.read(class_template_file)
170
- class_content = ERB.new(class_template).result(binding_with_argument(class_template_choice))
171
-
172
- File.write("lib/scarpe/#{@filename}.rb", class_content)
173
- end
174
-
175
- def generate_module_file
176
- module_template = File.read("templates/module_template.erb")
177
- module_content = ERB.new(module_template).result(binding_with_argument(""))
178
-
179
- File.write("lib/scarpe/#{@filename}.rb", module_content)
180
- end
181
-
182
- def binding_with_argument(class_template_choice = nil)
183
- capitalized_argument = @filename.capitalize
184
- binding.dup.tap do |b|
185
- b.local_variable_set(:argument, capitalized_argument)
186
- b.local_variable_set(:display_properties, @display_properties)
187
- b.local_variable_set(:class_template_choice, class_template_choice) unless class_template_choice.nil?
188
- end
189
- end
190
- end
191
-
192
- generator = ScarpeGenerator.new
193
- generator.generate
data/sig/scarpe.rbs DELETED
@@ -1,4 +0,0 @@
1
- class Scarpe
2
- VERSION: String
3
- # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
- end
@@ -1,38 +0,0 @@
1
- # class_template.erb
2
- # frozen_string_literal: true
3
-
4
- class Scarpe
5
- class <%= argument %> < Shoes::Widget
6
-
7
- # Display Properties
8
- # These properties determine the visual characteristics of the widget
9
- # Customize them according to your requirements
10
-
11
- # Example display properties:
12
- # :background_color - Sets the background color of the widget (<%= argument %>)
13
- # :width - Specifies the width of the widget(<%= argument %>)
14
- # :height - Specifies the height of the widget(<%= argument %>)
15
-
16
- display_properties <%= display_properties %>
17
-
18
- def initialize
19
- super
20
-
21
- # Event Handlers
22
- # Define your event handlers here
23
- # to get broad idea on events look in wiki section
24
- # Example event handler:
25
- # bind_self_event("dummy") do
26
- # # Event handling code goes here
27
- # end
28
-
29
-
30
- # This method uses the DisplayService to create a visual representation of the widget
31
- # It generates a display widget based on the specified display properties
32
- create_display_widget
33
- end
34
-
35
- # other methods
36
-
37
- end
38
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class <%= argument %> < Shoes::Widget
5
- display_properties <%= display_properties %> # Write your display proporties here
6
-
7
- def initialize(text, width: nil, height: nil, top: nil, left: nil, &block)
8
- # Properties passed as positional args, not keywords, don't get auto-set
9
- @text = text
10
- @block = block
11
-
12
- super
13
-
14
- # Bind to a handler named "click"
15
- bind_self_event("click") do
16
- @block&.call
17
- end
18
-
19
- create_display_widget
20
- end
21
-
22
- # Set the click handler
23
- def click(&block)
24
- @block = block
25
- end
26
- end
27
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class InvalidAttributeValueError < StandardError; end
5
-
6
- class <%= argument %> < Shoes::Widget
7
- display_properties <%= display_properties %> # Write your display proporties here
8
-
9
- def initialize(left, top)
10
- @left = convert_to_integer(left, "left")
11
- @top = convert_to_integer(top, "top")
12
-
13
- super()
14
- create_display_widget
15
- end
16
-
17
- private
18
-
19
- def convert_to_integer(value, attribute_name, default = 0)
20
- begin
21
- value = Integer(value)
22
- raise InvalidAttributeValueError, "Negative num '#{value}' not allowed for attribute '#{attribute_name}'" if value < 0
23
-
24
- value
25
- rescue ArgumentError
26
- error_message = "Invalid value '#{value}' provided for attribute '#{attribute_name}'. The value should be a number."
27
- raise InvalidAttributeValueError, error_message
28
- end
29
- end
30
-
31
- def convert_to_float(value, attribute_name, default = 0.0)
32
- begin
33
- value = Float(value)
34
- raise InvalidAttributeValueError, "Negative num '#{value}' not allowed for attribute '#{attribute_name}'" if value < 0
35
-
36
- value
37
- rescue ArgumentError
38
- error_message = "Invalid value '#{value}' provided for attribute '#{attribute_name}'. The value should be a number."
39
- raise InvalidAttributeValueError, error_message
40
- end
41
- end
42
- end
43
- end
@@ -1,3 +0,0 @@
1
- Shoes.app do
2
- para "heyya ssup!"
3
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- module <%= argument %>
5
- def self.included(includer)
6
- <%# add display propeties below... for this example :background_color is added as display_property %>
7
- includer.display_property(:background_color)
8
- end
9
-
10
- # Write any methods here!
11
- end
12
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Scarpe
4
- class Webview<%= argument %> < Scarpe::WebviewWidget
5
-
6
- def initialize(properties)
7
- super
8
-
9
- end
10
-
11
- def element
12
- HTML.render do |h|
13
- h.textarea(id: html_id, style: style)
14
- end
15
- end
16
-
17
- private
18
-
19
- def style
20
- styles = {}
21
-
22
- #ADD YOUR STYLES HERE
23
-
24
- styles.compact
25
- end
26
- end
27
- end