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
@@ -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