shoes 4.0.0.pre1 → 4.0.0.pre2

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 (361) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +84 -32
  3. data/Gemfile +22 -1
  4. data/README.md +28 -13
  5. data/Rakefile +7 -210
  6. data/bin/ruby-shoes +2 -2
  7. data/ext/install/shoes.bat +4 -1
  8. data/lib/shoes.rb +1 -121
  9. data/lib/shoes/{cli.rb → ui/cli.rb} +7 -1
  10. data/lib/shoes/{help.rb → ui/help.rb} +2 -2
  11. data/lib/shoes/{manual.rb → ui/manual.rb} +1 -1
  12. data/lib/shoes/version.rb +1 -1
  13. data/manifests/common.rb +34 -0
  14. data/manifests/shoes.rb +44 -0
  15. data/samples/Gemfile +3 -0
  16. data/samples/Gemfile.lock +35 -0
  17. data/samples/README +16 -5
  18. data/samples/boom.rb +239 -0
  19. data/samples/clicky.rb +24 -0
  20. data/samples/flow.rb +63 -0
  21. data/samples/gray.rb +11 -0
  22. data/samples/nks_booklist.rb +24 -0
  23. data/samples/nks_breadsticks.rb +7 -0
  24. data/samples/nks_dancing_circle.rb +13 -0
  25. data/samples/nks_dictionary.rb +23 -0
  26. data/samples/nks_edit_box.rb +4 -0
  27. data/samples/nks_edit_line.rb +6 -0
  28. data/samples/nks_notes.rb +16 -0
  29. data/samples/nks_self.rb +6 -0
  30. data/samples/nks_text_sizes.rb +10 -0
  31. data/samples/nks_trurl.rb +5 -0
  32. data/samples/packaging/package_me.rb +6 -0
  33. data/samples/present.rb +27 -0
  34. data/samples/progress.rb +10 -0
  35. data/samples/sample31.rb +1 -1
  36. data/samples/simple-calc.rb +1 -1
  37. data/samples/simple-tictactoe.rb +238 -0
  38. data/samples/simple-visibility.rb +11 -0
  39. data/samples/simple-widget.rb +9 -0
  40. data/samples/swt-raw.rb +20 -0
  41. data/samples/troll.rb +22 -0
  42. data/shoes.gemspec +10 -22
  43. data/snapshots/sample56.png +0 -0
  44. data/static/manual-en.txt +16 -7
  45. data/tasks/changelog.rb +92 -0
  46. data/tasks/gem.rb +38 -0
  47. data/tasks/rspec.rb +106 -0
  48. data/tasks/sample.rb +66 -0
  49. data/tasks/yard.rb +13 -0
  50. metadata +55 -488
  51. data/.gitignore +0 -53
  52. data/.rspec +0 -3
  53. data/.ruby-gemset +0 -1
  54. data/.ruby-version +0 -1
  55. data/.travis.yml +0 -31
  56. data/bin/shoes +0 -59
  57. data/bin/shoes.bat +0 -6
  58. data/fonts/Coolvetica.ttf +0 -0
  59. data/fonts/Lacuna.ttf +0 -0
  60. data/lib/ext/highlighter.rb +0 -2
  61. data/lib/ext/highlighter/common.rb +0 -197
  62. data/lib/ext/highlighter/lang/ruby.rb +0 -316
  63. data/lib/ext/highlighter/markup.rb +0 -222
  64. data/lib/rubygems_plugin.rb +0 -19
  65. data/lib/shoes/animation.rb +0 -55
  66. data/lib/shoes/app.rb +0 -320
  67. data/lib/shoes/arc.rb +0 -35
  68. data/lib/shoes/background.rb +0 -30
  69. data/lib/shoes/border.rb +0 -33
  70. data/lib/shoes/builtin_methods.rb +0 -73
  71. data/lib/shoes/button.rb +0 -32
  72. data/lib/shoes/check_button.rb +0 -43
  73. data/lib/shoes/color.rb +0 -375
  74. data/lib/shoes/common/background_element.rb +0 -9
  75. data/lib/shoes/common/changeable.rb +0 -34
  76. data/lib/shoes/common/clickable.rb +0 -17
  77. data/lib/shoes/common/common_methods.rb +0 -70
  78. data/lib/shoes/common/fill.rb +0 -21
  79. data/lib/shoes/common/registration.rb +0 -33
  80. data/lib/shoes/common/state.rb +0 -18
  81. data/lib/shoes/common/stroke.rb +0 -28
  82. data/lib/shoes/common/style.rb +0 -34
  83. data/lib/shoes/common/style_normalizer.rb +0 -16
  84. data/lib/shoes/configuration.rb +0 -96
  85. data/lib/shoes/dialog.rb +0 -27
  86. data/lib/shoes/dimension.rb +0 -237
  87. data/lib/shoes/dimensions.rb +0 -194
  88. data/lib/shoes/download.rb +0 -117
  89. data/lib/shoes/dsl.rb +0 -478
  90. data/lib/shoes/font.rb +0 -49
  91. data/lib/shoes/gradient.rb +0 -18
  92. data/lib/shoes/image.rb +0 -33
  93. data/lib/shoes/image_pattern.rb +0 -10
  94. data/lib/shoes/input_box.rb +0 -68
  95. data/lib/shoes/key_event.rb +0 -17
  96. data/lib/shoes/line.rb +0 -38
  97. data/lib/shoes/link.rb +0 -49
  98. data/lib/shoes/link_hover.rb +0 -5
  99. data/lib/shoes/list_box.rb +0 -44
  100. data/lib/shoes/logger.rb +0 -66
  101. data/lib/shoes/logger/ruby.rb +0 -18
  102. data/lib/shoes/mock.rb +0 -30
  103. data/lib/shoes/mock/animation.rb +0 -8
  104. data/lib/shoes/mock/app.rb +0 -44
  105. data/lib/shoes/mock/arc.rb +0 -8
  106. data/lib/shoes/mock/background.rb +0 -10
  107. data/lib/shoes/mock/border.rb +0 -7
  108. data/lib/shoes/mock/button.rb +0 -10
  109. data/lib/shoes/mock/check.rb +0 -24
  110. data/lib/shoes/mock/common_methods.rb +0 -11
  111. data/lib/shoes/mock/dialog.rb +0 -13
  112. data/lib/shoes/mock/download.rb +0 -18
  113. data/lib/shoes/mock/font.rb +0 -17
  114. data/lib/shoes/mock/image.rb +0 -12
  115. data/lib/shoes/mock/image_pattern.rb +0 -9
  116. data/lib/shoes/mock/input_box.rb +0 -23
  117. data/lib/shoes/mock/keypress.rb +0 -8
  118. data/lib/shoes/mock/keyrelease.rb +0 -8
  119. data/lib/shoes/mock/line.rb +0 -14
  120. data/lib/shoes/mock/link.rb +0 -11
  121. data/lib/shoes/mock/list_box.rb +0 -16
  122. data/lib/shoes/mock/oval.rb +0 -11
  123. data/lib/shoes/mock/progress.rb +0 -10
  124. data/lib/shoes/mock/radio.rb +0 -26
  125. data/lib/shoes/mock/rect.rb +0 -13
  126. data/lib/shoes/mock/shape.rb +0 -19
  127. data/lib/shoes/mock/slot.rb +0 -14
  128. data/lib/shoes/mock/sound.rb +0 -8
  129. data/lib/shoes/mock/star.rb +0 -13
  130. data/lib/shoes/mock/text_block.rb +0 -29
  131. data/lib/shoes/mock/timer.rb +0 -8
  132. data/lib/shoes/oval.rb +0 -28
  133. data/lib/shoes/point.rb +0 -43
  134. data/lib/shoes/progress.rb +0 -26
  135. data/lib/shoes/radio.rb +0 -15
  136. data/lib/shoes/rect.rb +0 -28
  137. data/lib/shoes/renamed_delegate.rb +0 -15
  138. data/lib/shoes/shape.rb +0 -175
  139. data/lib/shoes/slot.rb +0 -232
  140. data/lib/shoes/slot_contents.rb +0 -56
  141. data/lib/shoes/sound.rb +0 -16
  142. data/lib/shoes/span.rb +0 -16
  143. data/lib/shoes/star.rb +0 -49
  144. data/lib/shoes/swt.rb +0 -114
  145. data/lib/shoes/swt/animation.rb +0 -46
  146. data/lib/shoes/swt/app.rb +0 -300
  147. data/lib/shoes/swt/arc.rb +0 -70
  148. data/lib/shoes/swt/background.rb +0 -31
  149. data/lib/shoes/swt/border.rb +0 -37
  150. data/lib/shoes/swt/button.rb +0 -18
  151. data/lib/shoes/swt/check.rb +0 -14
  152. data/lib/shoes/swt/check_button.rb +0 -19
  153. data/lib/shoes/swt/color.rb +0 -45
  154. data/lib/shoes/swt/common/child.rb +0 -16
  155. data/lib/shoes/swt/common/clear.rb +0 -24
  156. data/lib/shoes/swt/common/clickable.rb +0 -62
  157. data/lib/shoes/swt/common/container.rb +0 -28
  158. data/lib/shoes/swt/common/fill.rb +0 -37
  159. data/lib/shoes/swt/common/painter.rb +0 -83
  160. data/lib/shoes/swt/common/painter_updates_position.rb +0 -12
  161. data/lib/shoes/swt/common/resource.rb +0 -14
  162. data/lib/shoes/swt/common/selection_listener.rb +0 -14
  163. data/lib/shoes/swt/common/stroke.rb +0 -41
  164. data/lib/shoes/swt/common/toggle.rb +0 -13
  165. data/lib/shoes/swt/common/update_position.rb +0 -15
  166. data/lib/shoes/swt/dialog.rb +0 -89
  167. data/lib/shoes/swt/disposed_protection.rb +0 -23
  168. data/lib/shoes/swt/download.rb +0 -24
  169. data/lib/shoes/swt/fitted_text_layout.rb +0 -94
  170. data/lib/shoes/swt/fitted_text_layout_collection.rb +0 -108
  171. data/lib/shoes/swt/font.rb +0 -32
  172. data/lib/shoes/swt/gradient.rb +0 -77
  173. data/lib/shoes/swt/image.rb +0 -130
  174. data/lib/shoes/swt/image_pattern.rb +0 -19
  175. data/lib/shoes/swt/input_box.rb +0 -73
  176. data/lib/shoes/swt/key_listener.rb +0 -145
  177. data/lib/shoes/swt/line.rb +0 -57
  178. data/lib/shoes/swt/link.rb +0 -37
  179. data/lib/shoes/swt/link_segment.rb +0 -108
  180. data/lib/shoes/swt/list_box.rb +0 -49
  181. data/lib/shoes/swt/mouse_move_listener.rb +0 -61
  182. data/lib/shoes/swt/oval.rb +0 -53
  183. data/lib/shoes/swt/progress.rb +0 -35
  184. data/lib/shoes/swt/radio.rb +0 -29
  185. data/lib/shoes/swt/radio_group.rb +0 -54
  186. data/lib/shoes/swt/rect.rb +0 -31
  187. data/lib/shoes/swt/rect_painter.rb +0 -23
  188. data/lib/shoes/swt/redrawing_aspect.rb +0 -122
  189. data/lib/shoes/swt/shape.rb +0 -101
  190. data/lib/shoes/swt/shoes_layout.rb +0 -43
  191. data/lib/shoes/swt/slot.rb +0 -25
  192. data/lib/shoes/swt/sound.rb +0 -119
  193. data/lib/shoes/swt/star.rb +0 -51
  194. data/lib/shoes/swt/swt_button.rb +0 -49
  195. data/lib/shoes/swt/text_block.rb +0 -133
  196. data/lib/shoes/swt/text_block_cursor_painter.rb +0 -112
  197. data/lib/shoes/swt/text_block_fitter.rb +0 -180
  198. data/lib/shoes/swt/text_block_painter.rb +0 -49
  199. data/lib/shoes/swt/text_font_factory.rb +0 -27
  200. data/lib/shoes/swt/text_style_factory.rb +0 -88
  201. data/lib/shoes/swt/timer.rb +0 -19
  202. data/lib/shoes/swt/tooling/leak_hunter.rb +0 -84
  203. data/lib/shoes/text.rb +0 -14
  204. data/lib/shoes/text_block.rb +0 -162
  205. data/lib/shoes/timer.rb +0 -10
  206. data/lib/shoes/url.rb +0 -47
  207. data/lib/shoes/widget.rb +0 -73
  208. data/lib/support/jl1.0.1.jar +0 -0
  209. data/lib/support/jogg-0.0.7.jar +0 -0
  210. data/lib/support/jorbis-0.0.15.jar +0 -0
  211. data/lib/support/log4j-1.2.16.jar +0 -0
  212. data/lib/support/mp3spi1.9.5.jar +0 -0
  213. data/lib/support/tritonus_share.jar +0 -0
  214. data/lib/support/vorbisspi1.0.3.jar +0 -0
  215. data/samples/good-clock-adjusted.rb +0 -49
  216. data/spec/async_helper.rb +0 -21
  217. data/spec/code_coverage.rb +0 -11
  218. data/spec/shoes/animation_spec.rb +0 -65
  219. data/spec/shoes/app_spec.rb +0 -411
  220. data/spec/shoes/arc_spec.rb +0 -53
  221. data/spec/shoes/background_spec.rb +0 -48
  222. data/spec/shoes/border_spec.rb +0 -43
  223. data/spec/shoes/builtin_methods_spec.rb +0 -84
  224. data/spec/shoes/button_spec.rb +0 -41
  225. data/spec/shoes/check_spec.rb +0 -31
  226. data/spec/shoes/cli_spec.rb +0 -16
  227. data/spec/shoes/color_spec.rb +0 -396
  228. data/spec/shoes/common/style_normalizer_spec.rb +0 -28
  229. data/spec/shoes/common/style_spec.rb +0 -58
  230. data/spec/shoes/configuration_spec.rb +0 -37
  231. data/spec/shoes/constants_spec.rb +0 -38
  232. data/spec/shoes/dialog_spec.rb +0 -163
  233. data/spec/shoes/dimension_spec.rb +0 -381
  234. data/spec/shoes/dimensions_spec.rb +0 -831
  235. data/spec/shoes/download_spec.rb +0 -133
  236. data/spec/shoes/flow_spec.rb +0 -92
  237. data/spec/shoes/font_spec.rb +0 -38
  238. data/spec/shoes/framework_learning_spec.rb +0 -30
  239. data/spec/shoes/helpers/fake_element.rb +0 -11
  240. data/spec/shoes/helpers/sample17_helper.rb +0 -66
  241. data/spec/shoes/image_spec.rb +0 -45
  242. data/spec/shoes/images/shoe.jpg +0 -0
  243. data/spec/shoes/input_box_spec.rb +0 -44
  244. data/spec/shoes/integration_spec.rb +0 -20
  245. data/spec/shoes/keypress_spec.rb +0 -11
  246. data/spec/shoes/keyrelease_spec.rb +0 -12
  247. data/spec/shoes/line_spec.rb +0 -47
  248. data/spec/shoes/link_spec.rb +0 -89
  249. data/spec/shoes/list_box_spec.rb +0 -63
  250. data/spec/shoes/logger/ruby_spec.rb +0 -9
  251. data/spec/shoes/logger_spec.rb +0 -45
  252. data/spec/shoes/oval_spec.rb +0 -20
  253. data/spec/shoes/point_spec.rb +0 -51
  254. data/spec/shoes/progress_spec.rb +0 -40
  255. data/spec/shoes/radio_spec.rb +0 -28
  256. data/spec/shoes/rect_spec.rb +0 -38
  257. data/spec/shoes/renamed_delegate_spec.rb +0 -70
  258. data/spec/shoes/shape_spec.rb +0 -54
  259. data/spec/shoes/shared_examples/button.rb +0 -6
  260. data/spec/shoes/shared_examples/changeable.rb +0 -26
  261. data/spec/shoes/shared_examples/clickable.rb +0 -5
  262. data/spec/shoes/shared_examples/common_methods.rb +0 -42
  263. data/spec/shoes/shared_examples/dimensions.rb +0 -32
  264. data/spec/shoes/shared_examples/dsl.rb +0 -42
  265. data/spec/shoes/shared_examples/dsl/animate.rb +0 -29
  266. data/spec/shoes/shared_examples/dsl/arc.rb +0 -45
  267. data/spec/shoes/shared_examples/dsl/background.rb +0 -26
  268. data/spec/shoes/shared_examples/dsl/border.rb +0 -10
  269. data/spec/shoes/shared_examples/dsl/cap.rb +0 -6
  270. data/spec/shoes/shared_examples/dsl/check.rb +0 -11
  271. data/spec/shoes/shared_examples/dsl/edit_box.rb +0 -8
  272. data/spec/shoes/shared_examples/dsl/edit_line.rb +0 -8
  273. data/spec/shoes/shared_examples/dsl/editable_element.rb +0 -29
  274. data/spec/shoes/shared_examples/dsl/fill.rb +0 -27
  275. data/spec/shoes/shared_examples/dsl/flow.rb +0 -15
  276. data/spec/shoes/shared_examples/dsl/gradient.rb +0 -52
  277. data/spec/shoes/shared_examples/dsl/image.rb +0 -21
  278. data/spec/shoes/shared_examples/dsl/line.rb +0 -9
  279. data/spec/shoes/shared_examples/dsl/nofill.rb +0 -6
  280. data/spec/shoes/shared_examples/dsl/nostroke.rb +0 -6
  281. data/spec/shoes/shared_examples/dsl/oval.rb +0 -60
  282. data/spec/shoes/shared_examples/dsl/pattern.rb +0 -34
  283. data/spec/shoes/shared_examples/dsl/progress.rb +0 -7
  284. data/spec/shoes/shared_examples/dsl/rect.rb +0 -92
  285. data/spec/shoes/shared_examples/dsl/rgb.rb +0 -26
  286. data/spec/shoes/shared_examples/dsl/shape.rb +0 -21
  287. data/spec/shoes/shared_examples/dsl/star.rb +0 -48
  288. data/spec/shoes/shared_examples/dsl/stroke.rb +0 -30
  289. data/spec/shoes/shared_examples/dsl/strokewidth.rb +0 -19
  290. data/spec/shoes/shared_examples/dsl/style.rb +0 -32
  291. data/spec/shoes/shared_examples/dsl/text_elements.rb +0 -81
  292. data/spec/shoes/shared_examples/dsl_app_context.rb +0 -8
  293. data/spec/shoes/shared_examples/hover_leave.rb +0 -11
  294. data/spec/shoes/shared_examples/parent.rb +0 -6
  295. data/spec/shoes/shared_examples/shared_element_method.rb +0 -52
  296. data/spec/shoes/shared_examples/slot.rb +0 -272
  297. data/spec/shoes/shared_examples/state.rb +0 -19
  298. data/spec/shoes/shared_examples/style.rb +0 -24
  299. data/spec/shoes/slot_spec.rb +0 -60
  300. data/spec/shoes/sound_spec.rb +0 -15
  301. data/spec/shoes/span_spec.rb +0 -94
  302. data/spec/shoes/spec_helper.rb +0 -1
  303. data/spec/shoes/stack_spec.rb +0 -53
  304. data/spec/shoes/star_spec.rb +0 -30
  305. data/spec/shoes/text_block_spec.rb +0 -242
  306. data/spec/shoes/url_spec.rb +0 -66
  307. data/spec/shoes/widget_spec.rb +0 -34
  308. data/spec/shoes_spec.rb +0 -44
  309. data/spec/spec_helper.rb +0 -16
  310. data/spec/swt_shoes/animation_spec.rb +0 -86
  311. data/spec/swt_shoes/app_spec.rb +0 -75
  312. data/spec/swt_shoes/arc_spec.rb +0 -101
  313. data/spec/swt_shoes/background_spec.rb +0 -56
  314. data/spec/swt_shoes/border_spec.rb +0 -51
  315. data/spec/swt_shoes/button_spec.rb +0 -101
  316. data/spec/swt_shoes/check_spec.rb +0 -28
  317. data/spec/swt_shoes/color_spec.rb +0 -67
  318. data/spec/swt_shoes/common/painter_spec.rb +0 -29
  319. data/spec/swt_shoes/configuration_spec.rb +0 -12
  320. data/spec/swt_shoes/dialog_spec.rb +0 -106
  321. data/spec/swt_shoes/disposed_protection_spec.rb +0 -49
  322. data/spec/swt_shoes/fitted_text_layout_collection_spec.rb +0 -174
  323. data/spec/swt_shoes/fitted_text_layout_spec.rb +0 -130
  324. data/spec/swt_shoes/flow_spec.rb +0 -26
  325. data/spec/swt_shoes/font_spec.rb +0 -33
  326. data/spec/swt_shoes/gradient_spec.rb +0 -20
  327. data/spec/swt_shoes/image_pattern_spec.rb +0 -19
  328. data/spec/swt_shoes/image_spec.rb +0 -100
  329. data/spec/swt_shoes/input_box_spec.rb +0 -110
  330. data/spec/swt_shoes/integration_spec.rb +0 -18
  331. data/spec/swt_shoes/key_listener_spec.rb +0 -320
  332. data/spec/swt_shoes/line_spec.rb +0 -43
  333. data/spec/swt_shoes/link_segment_spec.rb +0 -103
  334. data/spec/swt_shoes/link_spec.rb +0 -59
  335. data/spec/swt_shoes/list_box_spec.rb +0 -51
  336. data/spec/swt_shoes/minimal.png +0 -0
  337. data/spec/swt_shoes/mouse_move_listener_spec.rb +0 -129
  338. data/spec/swt_shoes/oval_spec.rb +0 -51
  339. data/spec/swt_shoes/progress_spec.rb +0 -44
  340. data/spec/swt_shoes/radio_group_spec.rb +0 -73
  341. data/spec/swt_shoes/radio_spec.rb +0 -56
  342. data/spec/swt_shoes/rect_painter_spec.rb +0 -45
  343. data/spec/swt_shoes/rect_spec.rb +0 -19
  344. data/spec/swt_shoes/shape_spec.rb +0 -81
  345. data/spec/swt_shoes/shared_examples/button.rb +0 -24
  346. data/spec/swt_shoes/shared_examples/clearable.rb +0 -32
  347. data/spec/swt_shoes/shared_examples/clickable.rb +0 -60
  348. data/spec/swt_shoes/shared_examples/movable.rb +0 -36
  349. data/spec/swt_shoes/shared_examples/paintable_spec.rb +0 -7
  350. data/spec/swt_shoes/shared_examples/painter.rb +0 -83
  351. data/spec/swt_shoes/shared_examples/pattern.rb +0 -32
  352. data/spec/swt_shoes/shared_examples/swt_app_context.rb +0 -17
  353. data/spec/swt_shoes/shared_examples/togglable.rb +0 -15
  354. data/spec/swt_shoes/shell_control_listener_spec.rb +0 -23
  355. data/spec/swt_shoes/sound.rb +0 -10
  356. data/spec/swt_shoes/spec_helper.rb +0 -31
  357. data/spec/swt_shoes/star_spec.rb +0 -47
  358. data/spec/swt_shoes/text_block_cursor_painter_spec.rb +0 -202
  359. data/spec/swt_shoes/text_block_fitter_spec.rb +0 -181
  360. data/spec/swt_shoes/text_block_painter_spec.rb +0 -221
  361. data/spec/swt_shoes/text_block_spec.rb +0 -183
@@ -2,5 +2,5 @@
2
2
  lib_directory = File.expand_path('../../lib', __FILE__)
3
3
  $LOAD_PATH << lib_directory
4
4
 
5
- require 'shoes/cli'
6
- Shoes::CLI.new.run ARGV
5
+ require 'shoes/ui/cli'
6
+ Shoes::CLI.new.run ARGV
@@ -1,6 +1,9 @@
1
1
  @setlocal enableextensions enabledelayedexpansion
2
2
  @echo off
3
- set bin_dir=%~dp0
3
+
4
+ REM If we're running from source, bin/shoes.bat will have set bin_dir already.
5
+ if not defined bin_dir set bin_dir=%~dp0
6
+
4
7
  set command=jruby --1.9 !bin_dir!/ruby-shoes %*
5
8
  call !command!
6
9
  endlocal
@@ -1,125 +1,5 @@
1
- require 'pathname'
2
1
  require 'tmpdir'
3
2
  require 'fileutils'
4
- require 'forwardable'
5
3
 
6
- require 'shoes/common/registration'
7
-
8
- class Shoes
9
- PI = Math::PI
10
- TWO_PI = 2 * PI
11
- HALF_PI = 0.5 * PI
12
- DIR = Pathname.new(__FILE__).join("../..").realpath.to_s
13
- LOG = []
14
- LEFT_MOUSE_BUTTON = 1
15
- MIDDLE_MOUSE_BUTTON = 2
16
- RIGHT_MOUSE_BUTTON = 3
17
-
18
- extend Common::Registration
19
-
20
- class << self
21
-
22
- def logger
23
- Shoes.configuration.logger_instance
24
- end
25
-
26
- # To ease the upgrade path from Shoes 3 we warn users they need to install
27
- # and require gems themselves.
28
- #
29
- # @example
30
- # Shoes.setup do
31
- # gem 'bluecloth =2.0.6'
32
- # gem 'metaid'
33
- # end
34
- #
35
- # @param block [Proc] The block that describes the gems that are needed
36
- # @deprecated
37
- def setup(&block)
38
- $stderr.puts "WARN: The Shoes.setup method is deprecated, you need to install gems yourself." +
39
- "You can do this using the 'gem install' command or bundler and a Gemfile."
40
- DeprecatedShoesGemSetup.new.instance_eval(&block)
41
- end
42
-
43
- # Load the backend in memory. This does not set any configuration.
44
- #
45
- # @param name [String|Symbol] The name, such as :swt or :mock
46
- # @return The backend
47
- def load_backend(name)
48
- begin
49
- require "shoes/#{name.to_s.downcase}"
50
- Shoes.const_get(name.to_s.capitalize)
51
- rescue LoadError => e
52
- raise LoadError, "Couldn't load backend Shoes::#{name.capitalize}'. Error: #{e.message}\n#{e.backtrace.join("\n")}"
53
- end
54
- end
55
- end
56
-
57
- class DeprecatedShoesGemSetup
58
- def gem(name)
59
- name, version = name.split()
60
- install_cmd = 'gem install ' + name
61
- install_cmd += " --version \"#{version}\"" if version
62
- $stderr.puts "WARN: To use the '#{name}' gem, install it with '#{install_cmd}', and put 'require \"#{name}\"' at the top of your Shoes program."
63
- end
64
- end
65
- end
66
-
67
- require 'shoes/version'
68
- require 'shoes/renamed_delegate'
69
- require 'shoes/dimension'
70
- require 'shoes/dimensions'
71
-
72
- require 'shoes/color'
73
-
74
- require 'shoes/common/background_element'
75
- require 'shoes/common/changeable'
76
- require 'shoes/common/clickable'
77
- require 'shoes/common/common_methods'
78
- require 'shoes/common/fill'
79
- require 'shoes/common/state'
80
- require 'shoes/common/stroke'
81
- require 'shoes/common/style'
82
- require 'shoes/common/style_normalizer'
83
- require 'shoes/builtin_methods'
84
- require 'shoes/check_button'
4
+ require 'shoes/ui/manual'
85
5
  require 'shoes/dsl'
86
- require 'shoes/text'
87
- require 'shoes/span'
88
- require 'shoes/input_box'
89
-
90
- # please keep this list tidy and alphabetically sorted
91
- require 'shoes/animation'
92
- require 'shoes/app'
93
- require 'shoes/arc'
94
- require 'shoes/background'
95
- require 'shoes/border'
96
- require 'shoes/button'
97
- require 'shoes/configuration'
98
- require 'shoes/color'
99
- require 'shoes/dialog'
100
- require 'shoes/download'
101
- require 'shoes/font'
102
- require 'shoes/gradient'
103
- require 'shoes/image'
104
- require 'shoes/image_pattern'
105
- require 'shoes/key_event'
106
- require 'shoes/line'
107
- require 'shoes/link'
108
- require 'shoes/link_hover'
109
- require 'shoes/list_box'
110
- require 'shoes/logger'
111
- require 'shoes/manual'
112
- require 'shoes/oval'
113
- require 'shoes/point'
114
- require 'shoes/progress'
115
- require 'shoes/radio'
116
- require 'shoes/rect'
117
- require 'shoes/shape'
118
- require 'shoes/slot_contents'
119
- require 'shoes/slot'
120
- require 'shoes/star'
121
- require 'shoes/sound'
122
- require 'shoes/text_block'
123
- require 'shoes/timer'
124
- require 'shoes/url'
125
- require 'shoes/widget'
@@ -22,6 +22,12 @@ Usage: #{opts.program_name} [-h] [-p package] file
22
22
  end
23
23
  @packages << Package.new(package)
24
24
  end
25
+
26
+ opts.on('-v', '--version', 'Shoes version') do
27
+ puts "Shoes #{VERSION}"
28
+ exit
29
+ end
30
+
25
31
  opts.separator "\nPackage types:"
26
32
  opts.separator package_types(opts)
27
33
  opts.separator "\nExamples:"
@@ -69,7 +75,7 @@ Usage: #{opts.program_name} [-h] [-p package] file
69
75
  # @param [String] app the location of the app to run
70
76
  def execute_app(app)
71
77
  $LOAD_PATH.unshift(Dir.pwd)
72
- Shoes.configuration.backend = :swt
78
+ require 'shoes/swt'
73
79
  load app
74
80
  end
75
81
 
@@ -89,7 +89,7 @@ class Manual < Shoes
89
89
 
90
90
  def show_toc
91
91
  s = self
92
- stack(height: 120){}
92
+ stack height: 30
93
93
  flow width: 0.2, margin_left: 10 do
94
94
  flow(margin_right: 20) do
95
95
  background black(0.7), curve: 5
@@ -529,7 +529,7 @@ class Manual < Shoes
529
529
  PEND = PNUMS.length
530
530
  TOC, TOC_LIST = [], []
531
531
  COLORS = Shoes::COLORS
532
- VERSION = '4.0.0.pre0'
532
+ VERSION = Shoes::VERSION
533
533
  end
534
534
 
535
535
  Shoes.app title: 'The Shoes 4 Manual', width: 720, height: 640
@@ -1,6 +1,6 @@
1
1
  class Shoes
2
2
  def self.show_manual lang='English'
3
3
  $lang = lang
4
- load File.join(DIR, 'lib/shoes/help.rb')
4
+ load File.join(DIR, 'lib/shoes/ui/help.rb')
5
5
  end
6
6
  end
@@ -1,3 +1,3 @@
1
1
  class Shoes
2
- VERSION = "4.0.0.pre1"
2
+ VERSION = "4.0.0.pre2"
3
3
  end
@@ -0,0 +1,34 @@
1
+ require 'rake/file_list'
2
+
3
+ module ShoesManifestReport
4
+ def report
5
+ puts "Manifest of #{gem_name} gem"
6
+ puts
7
+ puts "files"
8
+ puts "-----"
9
+ puts files.sort.join("\n")
10
+ puts
11
+ puts "test_files"
12
+ puts "----------"
13
+ puts test_files.sort.join("\n")
14
+ puts
15
+ puts "#{files.length} files, #{test_files.length} test_files"
16
+ end
17
+ end
18
+
19
+ class ShoesCommonManifest
20
+ def self.files
21
+ Rake::FileList[%w(
22
+ CHANGELOG
23
+ Gemfile
24
+ Guardfile
25
+ LICENSE
26
+ README.md
27
+ manifests/common.rb
28
+ )]
29
+ end
30
+
31
+ def self.test_files
32
+ []
33
+ end
34
+ end
@@ -0,0 +1,44 @@
1
+ require_relative 'common'
2
+
3
+ class ShoesManifest
4
+ extend ShoesManifestReport
5
+
6
+ def self.gem_name
7
+ 'shoes'
8
+ end
9
+
10
+ def self.files
11
+ # Note we explicitly list files in bin rather than globbing. Rubygems is
12
+ # unhappy otherwise with symlinks there when building the executable list.
13
+ @files = ShoesCommonManifest.files
14
+ .include(%w[
15
+ Rakefile
16
+ app.yaml
17
+ benchmark/**/*
18
+ bin/ruby-shoes
19
+ bin/shoes-guard
20
+ bin/shoes-stub
21
+ ext/**/*
22
+ lib/shoes.rb
23
+ lib/shoes/ui/**/*
24
+ lib/shoes/version.rb
25
+ manifests/shoes.rb
26
+ samples/**/*
27
+ snapshots/**/*
28
+ static/**/*
29
+ tasks/**/*
30
+ shoes.gemspec
31
+ ])
32
+ .include(test_files)
33
+ end
34
+
35
+ def self.test_files
36
+ @test_files = Rake::FileList['spec/shoes/ui/**/*']
37
+ end
38
+ end
39
+
40
+
41
+ if $0 == __FILE__
42
+ puts ShoesManifest.report
43
+ end
44
+
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'shoes', '4.0.0.pre1', path: '..'
@@ -0,0 +1,35 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ shoes (4.0.0.pre1)
5
+ after_do (~> 0.3)
6
+ furoshiki (>= 0.1.2)
7
+ nokogiri
8
+ swt (~> 0.18)
9
+
10
+ GEM
11
+ remote: https://rubygems.org/
12
+ specs:
13
+ after_do (0.3.1)
14
+ furoshiki (0.1.2)
15
+ plist
16
+ rubyzip (< 1.0.0)
17
+ warbler
18
+ jruby-jars (1.7.12)
19
+ jruby-rack (1.1.14)
20
+ nokogiri (1.6.2.1-java)
21
+ plist (3.1.0)
22
+ rake (10.3.1)
23
+ rubyzip (0.9.9)
24
+ swt (0.18)
25
+ warbler (1.4.2)
26
+ jruby-jars (>= 1.5.6, < 2.0)
27
+ jruby-rack (>= 1.0.0)
28
+ rake (>= 0.9.6)
29
+ rubyzip (>= 0.9, < 1.1)
30
+
31
+ PLATFORMS
32
+ java
33
+
34
+ DEPENDENCIES
35
+ shoes (= 4.0.0.pre1)!
@@ -6,7 +6,7 @@
6
6
 
7
7
  simple-anim-shapes.rb
8
8
  simple-animate.rb
9
- simple-arc.rb
9
+ # simple-arc.rb Pending on #423
10
10
  simple-bounce.rb
11
11
  simple-brightness-transitions.rb
12
12
  simple-button-animate.rb
@@ -33,17 +33,18 @@ simple-move.rb # (works but looks a bit weird on Linux, see issue #59)
33
33
  simple-oval.rb
34
34
  simple-sample-executor.rb
35
35
  simple-shoes-intro.rb
36
+ simple-slide.rb
36
37
  simple-sound.rb
37
38
  simple-stripes.rb
38
39
  simple-timer.rb
40
+ simple-visibility.rb
39
41
 
40
42
  good-arc.rb
41
43
  good-clock.rb
42
- good-clock-adjusted.rb
43
44
  good-follow.rb
44
45
  good-potato-chopping.rb
45
46
  good-reminder.rb
46
- # good-vjot.rb see #255
47
+ good-vjot.rb
47
48
 
48
49
  expert-definr.rb
49
50
  expert-game-of-life-adjusted.rb
@@ -55,8 +56,17 @@ expert-snake.rb
55
56
  expert-tankspank.rb
56
57
 
57
58
  # examples from the nobody knows shoes book
59
+ nks_booklist.rb
60
+ nks_breadsticks.rb
61
+ nks_dancing_circle.rb
62
+ nks_dictionary.rb
63
+ nks_edit_box.rb
64
+ nks_edit_line.rb
65
+ nks_notes.rb
58
66
  nks_poem.rb
59
-
67
+ nks_self.rb
68
+ nks_text_sizes.rb
69
+ nks_trurl.rb
60
70
 
61
71
  class-book-adjusted.rb
62
72
 
@@ -78,9 +88,10 @@ sample21.rb
78
88
  sample23.rb
79
89
  sample24.rb
80
90
  sample27.rb
81
- sample31.rb
91
+ #sample31.rb
82
92
  sample34.rb
83
93
  sample35.rb
84
94
  sample37.rb
85
95
  sample42.rb
86
96
  sample45.rb
97
+ sample56.rb
@@ -0,0 +1,239 @@
1
+ Shoes.app do
2
+ #para "Text ", link(''), "without crashing!"
3
+ para "Text ", span('', underline: true), "without crashing!"
4
+ end
5
+ #Shoes.app do
6
+ #arc 210, 210, 200, 200, -0.0, 4.71238898038469
7
+ #10.times do |x|
8
+ #line 100 * x, 0, 100 * x, 1000
9
+ #line 0, 100 * x, 1000, 100 * x
10
+ #end
11
+ ##@p = para "Text", link("Boo") { alert("Yo") }, "More Text"
12
+ ##button "ok" do
13
+ ##@p.hide
14
+ ##end
15
+ #end
16
+ #Shoes.app do
17
+ #@main = stack do
18
+ #@i = image File.expand_path("~/.hacketyhack/pics/flower.jpg"), width: 100
19
+ #@i.click do
20
+ #@i.hide
21
+ #alert "BOO"
22
+ #end
23
+
24
+ #@p = rect 100, 100, 100, 100
25
+ #@p.click do
26
+ #@main.clear
27
+ #end
28
+
29
+ #end
30
+ #end
31
+ #
32
+ #Shoes.app(resizable: false) do
33
+ #@what = "Boo"
34
+ #alert @what
35
+ #shape do
36
+ #background green
37
+ #stroke blue
38
+ #rect 10, 10, 10, 10
39
+ #@what = "Foo"
40
+ #end
41
+ #shape
42
+ #alert @what
43
+ #end
44
+ #class W1 < Shoes::Widget
45
+ #def initialize
46
+ #para 'Hello'
47
+ #end
48
+ #end
49
+
50
+ #class W2 < Shoes::Widget
51
+ #def initialize
52
+ ##w1
53
+ #para "There"
54
+ #edit_line #secret: true
55
+ #end
56
+ #end
57
+
58
+ #Shoes.app do
59
+ #w2
60
+ #end
61
+
62
+ #Shoes.app do
63
+ #@main = stack do
64
+ #@i = image File.expand_path("~/.hacketyhack/pics/flower.jpg"), width: 100
65
+ #@i.click do
66
+ #@main.clear
67
+ #end
68
+ #end
69
+ #end
70
+ #Shoes.app do
71
+
72
+ #@page1 = button "home", left: 20
73
+ #@page1.click do
74
+ #homepage()
75
+ #end
76
+
77
+ #@page2 = button "logout", left: 200
78
+ #@page2.click do
79
+ #specialpage()
80
+ #end
81
+
82
+ ## build the interface
83
+ #@main_panel = stack do
84
+
85
+ #title("I AM JUST A TITLE...",
86
+ #top: 100,
87
+ #font: "Trebuchet MS 20px",
88
+ #align: "center",
89
+ #stroke: black)
90
+
91
+ #end
92
+
93
+ #def homepage()
94
+
95
+ ## clear the panel
96
+ #@main_panel.clear
97
+
98
+ ## add function buttons
99
+ #@main_panel.append do
100
+
101
+ #title("FLO Rollover Job:",
102
+ #top: 100,
103
+ #font: "Trebuchet MS 20px",
104
+ #align: "center",
105
+ #stroke: black)
106
+
107
+ #flow(top: 150) do
108
+
109
+ #stack(width: 150, left: 20) do
110
+ #@add_user = image File.expand_path("~/.hacketyhack/pics/flower.jpg")
111
+ #@add_user.click do
112
+ #alert("a")
113
+ #end
114
+
115
+ ##hover do
116
+ ##@add_user.displace(-5, -5)
117
+ ##end
118
+
119
+ ##leave do
120
+ ##@add_user.displace(0, 0)
121
+ ##end
122
+ #end
123
+
124
+ #stack(width: 150, left: 190) do
125
+ #@add_item = image File.expand_path("~/.hacketyhack/pics/flower.jpg")
126
+ #@add_item.click do
127
+ #alert("b")
128
+ #end
129
+
130
+ ##hover do
131
+ ##@add_item.displace(-5, -5)
132
+ ##end
133
+
134
+ ##leave do
135
+ ##@add_item.displace(0, 0)
136
+ ##end
137
+ #end
138
+
139
+ #stack(width: 150, left: 360) do
140
+ #@add_question = image File.expand_path("~/.hacketyhack/pics/flower.jpg")
141
+ #@add_question.click do
142
+ #alert("c")
143
+ #end
144
+
145
+ ##hover do
146
+ ##@add_question.displace(-5, -5)
147
+ ##end
148
+
149
+ ##leave do
150
+ ##@add_question.displace(0, 0)
151
+ ##end
152
+ #end
153
+
154
+ #end# end of flow
155
+
156
+ #end
157
+
158
+ #end
159
+
160
+ #def specialpage()
161
+
162
+ ## clear the panel
163
+ #@main_panel.clear
164
+
165
+ ## add function buttons
166
+ #@main_panel.append do
167
+
168
+ #title("I AM JUST A TITLE...",
169
+ #top: 100,
170
+ #font: "Trebuchet MS 20px",
171
+ #align: "center",
172
+ #stroke: black)
173
+
174
+ #end
175
+
176
+ #end
177
+
178
+ #end # end of file
179
+ ##
180
+ #Shoes.app do
181
+ #l = line(10, 10, 100, 100)
182
+ #@p = para l.style[:point_a]
183
+ #button "change the line!" do
184
+ #l.point_a = Shoes::Point.new(50,50)
185
+ #@p.replace l.style[:point_a]
186
+ #end
187
+ #end
188
+ #
189
+ #Shoes.app do
190
+ #para "Text", @l = link("Ha") { alert "Hahaha" }
191
+ #@e = edit_line text: "Boo"
192
+ #button "Count" do
193
+ #@l.click do
194
+ #alert "Booo"
195
+ #end
196
+ #end
197
+ ##click do
198
+ ##alert @e.text
199
+ ##end
200
+ ##button("Ok").hide
201
+ #end
202
+ #Shoes.app width: 150 do
203
+ ##para "text goes here " * 3, size:16, fill: lightblue
204
+ ##para "text goes here " * 3, size:16, fill: lightgreen
205
+ ##para "text goes here " * 3, size:16, fill: lightgray
206
+ #@p = para "text goes here " * 3, size:16, fill: purple
207
+ ###line 0, 0, 100, 100, click: Proc.new { alert "opt" } do
208
+ #arc 0, 0, 100, 100, Shoes::TWO_PI, Shoes::PI, click: Proc.new { alert "opt" } do
209
+ #alert "boo"
210
+ #end
211
+
212
+ #keypress do
213
+ #@p.left += 10
214
+ #end
215
+ #click do |*args|
216
+ ##Shoes.app do
217
+ ##para "Another!"
218
+ ##click do |*_|
219
+ ##quit
220
+ ##end
221
+ ##end
222
+ #end
223
+ #end
224
+ #Shoes.app do
225
+ ##oval 100, 100, 100, click: Proc.new { alert "opt" } do
226
+ ##rect 100, 100, 100, 100, click: Proc.new { alert "opt" } do
227
+ ###line 0, 0, 100, 100, click: Proc.new { alert "opt" } do
228
+ ##star 100, 100, click: Proc.new { alert "opt" } do
229
+ ##arc 0, 0, 100, 100, Shoes::TWO_PI, Shoes::PI, click: Proc.new { alert "opt" } do
230
+ #image File.expand_path("/Users/jclark/.hacketyhack/pics/cora.jpg"), width: 100, click: Proc.new { alert "opt" } do
231
+ #alert "boo"
232
+ #end
233
+ ##b = check do
234
+ ##alert "boo"
235
+ ##end
236
+ ##b.click do
237
+ ##alert "clicky"
238
+ ##end
239
+ #end