shoes 4.0.0.pre1 → 4.0.0.pre2

Sign up to get free protection for your applications and to get access to all the features.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 29a51f2d1e2fbe9eb3a1f139a00a9336f86d0b17
4
- data.tar.gz: 8ed0ebb6efee29a532e09a031129b679c6e8b7df
3
+ metadata.gz: ce88c2a93a5c4f95d25f734a138a98260f0768ec
4
+ data.tar.gz: 4222af5bcbe6eaa05726264d582a86de18af5291
5
5
  SHA512:
6
- metadata.gz: 06c22bb69c311c08aa164f03c8e24cf25a1799aa91317a483f14daa2ef59bfb1f6aad1957a5ff07ed243e89cf801f58acf292e75a5f96d8cb273b14fd309e7b4
7
- data.tar.gz: bb102f5480a16ae1fd809568ca6aeb7802e090c8c3f28d55a621a820faf1be7986ca86b80a4e76bf6db90ce55485f779cbe74921429ccda9d5fa7baf2ac342e5
6
+ metadata.gz: b0a085199ce52ed003ae3fc4a3ae09bca5908d1e02f68aa70060489c22f314e0e474add7ca02bf83b8fc0c925b8e0a60d140ac85b010b888535a81fe249ab5a7
7
+ data.tar.gz: fecd14c2ac9b6413e6cf813446856f79545abcf8144393ae39af89c41c097f041435562ce933d9fce1094c76f5f616d7a8d0cd2b9d3d1fe3364803acb4b1e73c
data/CHANGELOG CHANGED
@@ -1,32 +1,84 @@
1
- = BROWN SHOES NEEDS A NEW RELEASE SCHEDULE!!
2
- * Name Suggestions anyone?
3
-
4
- = Policeman
5
- == 17th August, 2010
6
- * Move to Ruby 1.9.1
7
- * General stability improvements
8
- * Updated all dependancies
9
- * Ported OSX to Cocoa
10
- * Now works with Windows Vista and Windows 7
11
-
12
- = Raisins (0.r1134)
13
- == 5th December, 2008
14
- <http://shoooes.net/about/raisins>
15
- * Built-in Shoes manual. (Alt-?)
16
- * Error console. (Alt-/)
17
- * In-memory and on-disk image cache.
18
- * Asynchronous download method.
19
- * External font support.
20
- * Packager for building EXE, DMG, RUN and SHY.
21
- * Effects (blurs, shadows, glows).
22
- * Arbitrary shape method.
23
- * Image blocks.
24
- * Switched from Carbon to Cocoa.
25
- * RubyGems integration.
26
-
27
- = Curious (0.r396)
28
- == 8th January, 2008
29
- * First official release of Shoes.
30
- * Support for OS X, Win32 and GTK+.
31
- * Scrolling stacks newly added.
32
- * VLC embedded for Video.
1
+ 4.0.0.pre2 (438 commits)
2
+ ----------------
3
+
4
+ New features (1)
5
+ ----------------
6
+
7
+ * Shoes 4.0.0.pre1 was a single gem. Now we ship as as three gems [e16a0c4]:
8
+
9
+ * shoes -- Home to the shoes executable. Declares dependencies on other
10
+ shoes gems for ease of installation.
11
+ * shoes-dsl -- Code for the Shoes DSL. No direct UI rendering and will be
12
+ reused with all future backends.
13
+ * shoes-swt -- The first Shoes backend, implemented in JRuby on the SWT
14
+ library via the swt gem.
15
+
16
+ * Full style-setting functionality (element#style, setters, hash, app level) [56d91f8]
17
+
18
+ Improvements (36)
19
+ -----------------
20
+
21
+ * Update SWT to 4.4 [536ffae]
22
+ * Update packaging dependency to 0.2.0 now supporting rubyzip > 1.0 [c3dd289]
23
+ * Update all elements to use new style methods [1b76aa3, 29498d1, d569a77, e6eec90, 54e5edf, 1238977, 2dc222f, dbeffff, 25b2ec6, cb865a6, 49fa0a1]
24
+ * Update list of app level styles and partially fix rotate angle issues [2affdbb]
25
+ * Shoes application context improved to avoid conflicts between user-defined and shoes-defined methods. [732108a]
26
+ * Builtin methods are also available from the Shoes class [de37d59]
27
+ * #gray, #rgb and #gradient builtin methods [8f7ee92]
28
+ * Removed redrawing triggers after Dimension methods [61a55ba]
29
+ * Apply fraction from progress initialize [b241240]
30
+ * Trigger redraw on hover/leave for slot and image update [ae5dfb5]
31
+ * Nobody Knows Shoes samples added [68e84e6]
32
+ * Add sample56 snapshot [e7eb0d3]
33
+ * Add scroll* methods to slots. Scrolling functionality not implemented yet. [6fb0e79]
34
+ * Click passes element, not coordinates to most blocks [78ecb23]
35
+ * Allow button calls without a button name [a315ef4]
36
+ * Add common #to_s and #inspect methods for DSL objects [350c4dc]
37
+ * Disposal for Images and Patterns. [ddcd9fb]
38
+ * Move Swt::TextBlock related classes to subdirectory. [226e03f]
39
+ * Revise TextBlock cursor to be more like other text functionality. [f016ee7]
40
+ * Updated manual to show correct syntax for rect. [2fee530]
41
+ * App#parent method to show the parent of the slot currently evaled [48e811f]
42
+ * Add keypress to close app cleanly when running leak hunter and dispose of app-level resources. [af4d6bb]
43
+
44
+ Bug Fixes (32)
45
+ --------------
46
+
47
+ * Fix running bin/shoes.bat from source [fe47075]
48
+ * Move shoes executable from shoes-dsl to shoes [92583e6]
49
+ * Fix for crash on empty link text [3da3159]
50
+ * Hide only the elements of a slot, not its parent contents [f2ea17c]
51
+ * Fix crash for Border when hiding [1c2ab74]
52
+ * Methods defined in widgets are available in URL instances [3a94afb]
53
+ * Make texts know their TextBlock and hence their visibility [7b4ea24]
54
+ * Non resizable apps can not be maximized (fixes resizable on mac) #872 [b08b215]
55
+ * Keypress#remove removes the keys listener and does not blow up [498588c]
56
+ * Run shape blocks with app as self [dbb0a46]
57
+ * When an element is removed or removed, cursor shouldn't change shape over that location. [918288f, 7fcd93a]
58
+ * Removing children from slot should trigger redraw [be35743]
59
+ * Fix for allowing widgets to use widget DSL methods [99d22e1]
60
+ * Fix for secret on edit lines [79c4c98]
61
+ * Fix crash computing height with hidden elements [41ebafe]
62
+ * Fix for unbounded height crash on centering [11fc3ae]
63
+ * Windows build requires shoes.bat from ext/install [232ec68]
64
+ * Reuse created fonts in the factory [7959bd8]
65
+ * Disposal of Shape SWT resources. [650365b]
66
+ * Fix for offsetting of second text segments [97fe79b]
67
+ * Consider relatively positioned elements for slot height [3e71126]
68
+ * Fix fatal exceptions in samples/simple-calc.rb [d53d588]
69
+ * Fix slot clearing [3697802]
70
+ * Don't clear top_slot when clear is called, clear current_slot [a57778c]
71
+ * Handling for text centering [87405f5]
72
+ * Fix common remove to allow removal of slots [c25df7e]
73
+ * Clear transform after painting each object, to avoid side effects on other painters [5a57ce3]
74
+ * Fix off by one error in slot positioning. [baee69a]
75
+ * Dispose of transform resources. [265600c]
76
+ * Only report start/end relative to the parent if there is one [c82e763]
77
+ * Links must be cleared on TextBlock#replace [4b90786]
78
+
79
+ Contributors (16)
80
+ -----------------
81
+
82
+ Jason R. Clark, Eric Watson, Tobias Pfeiffer, KC Erb, Charles Chamberlain,
83
+ George, Marcell Monteiro Cruz, Glenn Murray, Jason Clark, Tim Krajcar,
84
+ glenn-murray-bse, KCErb, PeterWAWood, Suirtimed, ashbb, Carlos R Tirado
data/Gemfile CHANGED
@@ -1,3 +1,24 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gemspec
3
+ gemspec :name => 'shoes'
4
+ gemspec :name => 'shoes-dsl'
5
+ gemspec :name => 'shoes-swt'
6
+
7
+ group :development do
8
+ gem "guard"
9
+ gem "guard-rspec"
10
+ gem "pry"
11
+
12
+ gem "rspec", "~>3.0.0"
13
+ gem "rspec-its", "~>1.0.1"
14
+ gem "rake"
15
+
16
+ gem "yard"
17
+ gem "kramdown"
18
+ gem 'simplecov'
19
+ gem 'coveralls'
20
+ gem "codeclimate-test-reporter"
21
+ gem 'jruby-lint'
22
+ gem 'webmock'
23
+ gem 'hometown'
24
+ end
data/README.md CHANGED
@@ -1,13 +1,12 @@
1
- # shoes4 [![Build Status](https://secure.travis-ci.org/shoes/shoes4.svg?branch=master)](http://travis-ci.org/shoes/shoes4)[![Code Climate](https://img.shields.io/codeclimate/github/shoes/shoes4.svg)](https://codeclimate.com/github/shoes/shoes4)[![Coverage Status](https://img.shields.io/coveralls/shoes/shoes4/badge/master.svg)](https://coveralls.io/r/shoes/shoes4)[![Dependency Status](https://img.shields.io/gemnasium/shoes/shoes4.svg)](https://gemnasium.com/shoes/shoes4)
1
+ # shoes4 [![Build Status](https://secure.travis-ci.org/shoes/shoes4.svg?branch=master)](http://travis-ci.org/shoes/shoes4)[![Code Climate](https://img.shields.io/codeclimate/github/shoes/shoes4.svg)](https://codeclimate.com/github/shoes/shoes4)[![Coverage Status](https://img.shields.io/coveralls/shoes/shoes4.svg)](https://coveralls.io/r/shoes/shoes4?branch=master)[![Dependency Status](https://img.shields.io/gemnasium/shoes/shoes4.svg)](https://gemnasium.com/shoes/shoes4)
2
2
 
3
3
  Shoes 4 : the next version of Shoes
4
4
 
5
- ## Still in development
5
+ ## Pre-alpha
6
6
 
7
- Hi there, thanks for checking by! Shoes4 is still in development. It doesn't support all of the shoes DSL just yet.
8
- But if you want to check it out, that's awesome! If you're not too adventurous just yet you can still use the [old shoes](https://github.com/shoes/shoes)!
7
+ Hi there, thanks for checking by! Shoes 4 is still pre-alpha software. It currently supports almost all of the shoes DSL, but there are still some spots where you might get surprising results. If you're not too adventurous just yet you can still use the [old shoes](https://github.com/shoes/shoes)!
9
8
 
10
- There is a first preview release now :)
9
+ There is a first [preview release](https://rubygems.org/gems/shoes/versions/4.0.0.pre1) now :)
11
10
 
12
11
  ## Installing Shoes4
13
12
 
@@ -19,11 +18,20 @@ There are two ways to get your hands on shoes 4 - the preview gem release and in
19
18
  So your first step is to install a [JDK](http://www.oracle.com/technetwork/java/javase/downloads/) (shoes also works with [OpenJDK](http://openjdk.java.net/)) and [JRuby](http://jruby.org). Make sure to grab the appropriate JRuby version for your operating system. On Linux/Mac you can also use ruby installation tools to install JRuby. For instance [rvm](http://rvm.io/):
20
19
 
21
20
  $ rvm install jruby
21
+
22
+ **Important JRuby version note:** JRuby 1.7.14 and 1.7.15 have a bug where `bundle install` won't work with shoes4. Make sure to use JRuby 1.7.16 or JRuby-1.7.13 with shoes4.
23
+
24
+ **JDK version note:** While shoes4 should generally work with JDK version 6 and up we recommend to use newer version. Also within the JDK major version make sure to have the latest updates installed, we had cases where newer versions resolved bugs.
22
25
 
23
26
  ### Installing Shoes4 as a gem
24
27
 
25
- gem install shoes --pre
28
+ #### *nix (Mac OSX/Linux)
29
+
30
+ $ gem install shoes --pre
26
31
 
32
+ #### Windows
33
+
34
+ C:\tmp> jruby -S gem install shoes --pre
27
35
 
28
36
  ### Installing Shoes4 from github
29
37
 
@@ -64,7 +72,7 @@ Shoes 4 comes with a command-line app runner. Just pass it the filename of your
64
72
 
65
73
  $ bin/shoes samples/simple-sound.rb
66
74
 
67
- **Note:** For Windows, `C:\tmp\shoes4>bin\shoes samples\simple-sound.rb`
75
+ **Note:** For Windows, `C:\tmp\shoes4>bin\shoes samples\simple-sound.rb` If you installed Shoes4 as a gem, just do `C:\tmp> shoes path\to\file.rb`
68
76
 
69
77
  There is also a simple ruby starter script which you may use as follows:
70
78
 
@@ -78,6 +86,10 @@ Another alternative yet is to put `require 'shoes'` at the top of your applicati
78
86
 
79
87
  $ jruby path/to/file.rb
80
88
 
89
+ On OS X you still need to supply the additional parameters to JRuby
90
+
91
+ $ jruby -J-XstartOnFirstThread path/to/file.rb
92
+
81
93
  ## Want to see what shoes can do?
82
94
 
83
95
  You can run `rake samples` and random samples we believe are working will be run until you quit with Ctr + C. Some of them are really simple, while others are more complex or even games!
@@ -89,8 +101,7 @@ Packaging is just a baby, so be gentle.
89
101
 
90
102
  In order to package an app, you need to have the Shoes gem installed in your environment. If you didn't do the gem installation you can always generate a gem and install it from the current source:
91
103
 
92
- $ rake gem
93
- $ gem install pkg/shoes-4.0.0.pre1.gem
104
+ $ rake install:all
94
105
 
95
106
  Now, you can package an app. But first, look here:
96
107
 
@@ -103,11 +114,17 @@ Now, you can package an app. But first, look here:
103
114
 
104
115
  That's Warbler talking. Actually, we sneak the Shoes gem in anyway, but don't tell.
105
116
 
106
- Okay, now for real. The simplest thing is to put your script in a directory by itself and then
117
+ Okay, now for real. The simplest thing is to put your script in a directory by itself and then:
107
118
 
108
119
  $ bin/shoes -p swt:app path/to/directory-of/your-shoes-app.rb
109
120
 
110
- You'll find your app at `path/to/directory-of/pkg/Shoes App.app`.
121
+ This will produce a Mac app, which you can then find at `path/to/directory-of/pkg/Shoes App.app`.
122
+
123
+ You can also package a shoes app up as a jar through:
124
+
125
+ $ bin/shoes -p swt:jar path/to/directory-of/your-shoes-app.rb
126
+
127
+ You can find the jar in the same directory as above, i.e. path/to/directory-of/pkg/your-shoes-app.jar
111
128
 
112
129
  If you want more control (like you want to name your app something besides "Shoes App", or you don't want to include all of those files we talked about before), make an `app.yaml` file. See [the example](https://github.com/shoes/shoes4/blob/master/app.yaml) for more details.
113
130
 
@@ -135,8 +152,6 @@ Also there is a list of samples that already work at samples/README, along with
135
152
 
136
153
  With all you do, please make sure to write specs as Shoes 4 is developed TDD-style (see the [Running Specs](https://github.com/shoes/shoes4#running-specs) section below). So make sure that you don't break any tests :-)
137
154
 
138
- We write our specs in rspec and are currently in the process of migrating from the old `should` syntax to the [new `expect` syntax](http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax). We basically say that whenever you touch a spec it'd be good if you converted it to the new syntax. Also new specs should be written in the new expect syntax.
139
-
140
155
  If you feel unsure about testing or your implementation just open an issue or a pull request. Pull requests don't need to be done - they are great discussion starters! We're happy to help you get your contribution ready to be merged in order to help build Shoes 4!
141
156
 
142
157
  In fact we greatly appreciate early pull requests to review code and help you find your way around Shoes4! =)
data/Rakefile CHANGED
@@ -1,217 +1,14 @@
1
1
  require 'rake'
2
2
  require 'rake/clean'
3
- require 'rubygems/package_task'
3
+
4
4
  require 'rspec/core/rake_task'
5
- require 'bundler/gem_tasks'
5
+
6
+ require_relative 'tasks/changelog'
7
+ require_relative 'tasks/gem'
8
+ require_relative 'tasks/rspec'
9
+ require_relative 'tasks/sample'
10
+ require_relative 'tasks/yard'
6
11
 
7
12
  PACKAGE_DIR = 'pkg'
8
- SAMPLES_DIR = "samples"
9
13
 
10
14
  CLEAN.include FileList[PACKAGE_DIR, 'doc', 'coverage', "spec/test_app/#{PACKAGE_DIR}"]
11
-
12
- # Necessary for tasks to have description which is convenient in a few cases
13
- Rake::TaskManager.record_task_metadata = true
14
-
15
- require 'jruby'
16
- JRuby.runtime.instance_config.runRubyInProcess = false
17
-
18
- # thanks Dan Lucraft!
19
- def jruby_run(cmd, swt = false)
20
- opts = "-J-XstartOnFirstThread" if swt && RbConfig::CONFIG["host_os"] =~ /darwin/
21
-
22
- # see https://github.com/jruby/jruby/wiki/FAQs
23
- # "How can I increase the heap/memory size when launching a sub-JRuby?"
24
- sh( "jruby --debug --1.9 -Ispec #{opts} -S #{cmd}" )
25
- end
26
-
27
- def rspec(files, options = "")
28
- rspec_opts = "#{options} #{files}"
29
- "rspec --tty #{rspec_opts}"
30
- end
31
-
32
- # run rspec in separate Jruby JVM
33
- # options :
34
- # :swt - true/false(default) When True, will run Jruby with SWT-required -X-startOnFirstThread
35
- # :rspec - string Options to pass to Rspec commandline.
36
- #
37
- def jruby_rspec(files, args)
38
- swt = args.delete(:swt)
39
- rspec_opts = spec_opts_from_args(args)
40
- rspec_opts << " #{ENV['RSPEC_OPTS']}"
41
-
42
- jruby_run(rspec(files, rspec_opts), swt)
43
-
44
- #out = jruby_run(rspec(files, rspec_opts), swt)
45
- #ok, result = out.split("\n").last
46
- #examples_failures = result.match /\d* examples, \d* failures/
47
-
48
- #return { :examples => examples_failures[1], :failures => examples_failures[2] }
49
- end
50
-
51
- def spec_opts_from_args(args)
52
- opts = []
53
- opts << "-e ::#{args[:module]}" if args[:module]
54
- opts += Array(args[:require]).map {|lib| "-r#{lib}"}
55
- opts += args[:excludes].map { |tag| "--tag ~#{tag}:true" } if args[:excludes]
56
- opts += args[:includes].map { |tag| "--tag #{tag}:true" } if args[:includes]
57
- opts.join ' '
58
- end
59
-
60
- def swt_args(args)
61
- args = args.to_hash
62
- args[:swt] = true
63
- args[:require] = 'swt_shoes/spec_helper'
64
- # Adjust includes/excludes appropriately
65
- # args[:includes] = [:swt]
66
- args[:excludes] = [:no_swt]
67
- args[:excludes] << :fails_on_osx if RbConfig::CONFIG["host_os"] =~ /darwin/
68
- args
69
- end
70
-
71
- task :default => :spec
72
-
73
- desc "Run All Specs"
74
- task :spec, [:module] => "spec:all" do
75
-
76
- end
77
-
78
- namespace :spec do
79
- desc "Run All Specs / All Modules"
80
- task :default => ["spec:all"]
81
-
82
- desc "Run Specs on Shoes + All Frameworks
83
- Limit the examples to specific :modules :
84
- Animation
85
- App
86
- Button
87
- Flow
88
-
89
- ie. $ rake spec:all[Flow]
90
- "
91
- task "all", [:module] do |t, args|
92
- Rake::Task["spec:shoes"].invoke(args[:module])
93
- Rake::Task["spec:swt"].invoke(args[:module])
94
- end
95
-
96
- task :swt, [:module] do |t, args|
97
- Rake::Task['spec:swt:all'].invoke(args[:module])
98
- end
99
-
100
- namespace :swt do
101
- desc "Run all specs with SWT backend
102
- Limit the examples to specific :modules : "
103
- task :all, [:module] do |t, args|
104
- argh = swt_args(args)
105
- files = (Dir['spec/swt_shoes/*_spec.rb'] + Dir['spec/shoes/*_spec.rb']).join ' '
106
- jruby_rspec(files, argh)
107
- end
108
-
109
- desc "Run isolated Swt backend specs"
110
- task :isolation, [:module] do |t, args|
111
- argh = swt_args(args)
112
- files = Dir['spec/swt_shoes/*_spec.rb'].join ' '
113
- jruby_rspec(files, argh)
114
- end
115
-
116
- desc "Run integration specs with Swt backend"
117
- task :integration, [:module] do |t, args|
118
- argh = swt_args(args)
119
- files = Dir['spec/shoes/*_spec.rb'].join ' '
120
- jruby_rspec(files, argh)
121
- end
122
- end
123
-
124
- desc "Specs for base Shoes libraries
125
- Limit the examples to specific :modules : "
126
- task "shoes", [:module] do |t, args|
127
- argh = args.to_hash
128
- files = Dir['spec/shoes/**/*_spec.rb'].join ' '
129
- jruby_rspec(files, argh)
130
- end
131
-
132
- end
133
-
134
- desc "Working with samples"
135
- namespace :samples do
136
-
137
- def samples_from_file(filename)
138
- samples = File.read("#{SAMPLES_DIR}/#{filename}").lines
139
- samples.map {|s| s.sub(/#.*$/, '')}.map(&:strip).select {|s| s != ''}.map {|s| "#{SAMPLES_DIR}/#{s}"}
140
- end
141
-
142
- def working_samples
143
- samples = samples_from_file "README"
144
- puts "#{samples.size} samples are known to work"
145
- samples
146
- end
147
-
148
- def non_samples
149
- all_samples = Dir[File.join(SAMPLES_DIR, '*.rb')]
150
- result = all_samples - working_samples
151
- puts "#{result.size} samples are not known to work"
152
- result
153
- end
154
-
155
- def run_sample(sample_name, index, total)
156
- print "Running #{sample_name} (#{index + 1} of #{total})...quit to run next sample"
157
- system "bin/shoes #{sample_name}"
158
- end
159
-
160
- def run_samples(samples)
161
- samples.each_with_index do |sample, index|
162
- run_sample(sample, index, samples.size)
163
- end
164
- end
165
-
166
- desc "Run all working samples in random order"
167
- task :random do |t|
168
- puts t.comment
169
- run_samples working_samples.shuffle
170
- end
171
-
172
- desc "Run all working samples in alphabetical order"
173
- task :good do |t|
174
- puts t.comment
175
- run_samples working_samples.sort
176
- end
177
-
178
- desc "Run all non-working samples in random order"
179
- task :bad do |t|
180
- puts t.comment
181
- run_samples non_samples.shuffle
182
- end
183
-
184
- desc "Create list of non-working samples"
185
- task :bad_list do |t|
186
- puts t.comment
187
- non_samples.each{|non_sample| puts non_sample}
188
- end
189
-
190
- desc "Run all samples listed in samples/filename"
191
- task :subset, [:filename] do |t, args|
192
- puts t.comment
193
- run_samples samples_from_file(args[:filename])
194
- end
195
- end
196
-
197
- task :samples => ['samples:random']
198
- task :non_samples => ['samples:bad']
199
- task :list_non_samples => ['samples:bad_list']
200
-
201
- begin
202
- require 'yard'
203
-
204
- YARD::Rake::YardocTask.new do |t|
205
- t.options = ['-mmarkdown']
206
- end
207
- rescue LoadError
208
- desc "Generate YARD Documentation"
209
- task :yard do
210
- abort 'YARD is not available. Try: gem install yard'
211
- end
212
- end
213
-
214
- spec = Gem::Specification.load('shoes.gemspec')
215
- Gem::PackageTask.new(spec) do |gem|
216
- gem.package_dir = PACKAGE_DIR
217
- end