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.
- checksums.yaml +4 -4
- data/CHANGELOG +84 -32
- data/Gemfile +22 -1
- data/README.md +28 -13
- data/Rakefile +7 -210
- data/bin/ruby-shoes +2 -2
- data/ext/install/shoes.bat +4 -1
- data/lib/shoes.rb +1 -121
- data/lib/shoes/{cli.rb → ui/cli.rb} +7 -1
- data/lib/shoes/{help.rb → ui/help.rb} +2 -2
- data/lib/shoes/{manual.rb → ui/manual.rb} +1 -1
- data/lib/shoes/version.rb +1 -1
- data/manifests/common.rb +34 -0
- data/manifests/shoes.rb +44 -0
- data/samples/Gemfile +3 -0
- data/samples/Gemfile.lock +35 -0
- data/samples/README +16 -5
- data/samples/boom.rb +239 -0
- data/samples/clicky.rb +24 -0
- data/samples/flow.rb +63 -0
- data/samples/gray.rb +11 -0
- data/samples/nks_booklist.rb +24 -0
- data/samples/nks_breadsticks.rb +7 -0
- data/samples/nks_dancing_circle.rb +13 -0
- data/samples/nks_dictionary.rb +23 -0
- data/samples/nks_edit_box.rb +4 -0
- data/samples/nks_edit_line.rb +6 -0
- data/samples/nks_notes.rb +16 -0
- data/samples/nks_self.rb +6 -0
- data/samples/nks_text_sizes.rb +10 -0
- data/samples/nks_trurl.rb +5 -0
- data/samples/packaging/package_me.rb +6 -0
- data/samples/present.rb +27 -0
- data/samples/progress.rb +10 -0
- data/samples/sample31.rb +1 -1
- data/samples/simple-calc.rb +1 -1
- data/samples/simple-tictactoe.rb +238 -0
- data/samples/simple-visibility.rb +11 -0
- data/samples/simple-widget.rb +9 -0
- data/samples/swt-raw.rb +20 -0
- data/samples/troll.rb +22 -0
- data/shoes.gemspec +10 -22
- data/snapshots/sample56.png +0 -0
- data/static/manual-en.txt +16 -7
- data/tasks/changelog.rb +92 -0
- data/tasks/gem.rb +38 -0
- data/tasks/rspec.rb +106 -0
- data/tasks/sample.rb +66 -0
- data/tasks/yard.rb +13 -0
- metadata +55 -488
- data/.gitignore +0 -53
- data/.rspec +0 -3
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.travis.yml +0 -31
- data/bin/shoes +0 -59
- data/bin/shoes.bat +0 -6
- data/fonts/Coolvetica.ttf +0 -0
- data/fonts/Lacuna.ttf +0 -0
- data/lib/ext/highlighter.rb +0 -2
- data/lib/ext/highlighter/common.rb +0 -197
- data/lib/ext/highlighter/lang/ruby.rb +0 -316
- data/lib/ext/highlighter/markup.rb +0 -222
- data/lib/rubygems_plugin.rb +0 -19
- data/lib/shoes/animation.rb +0 -55
- data/lib/shoes/app.rb +0 -320
- data/lib/shoes/arc.rb +0 -35
- data/lib/shoes/background.rb +0 -30
- data/lib/shoes/border.rb +0 -33
- data/lib/shoes/builtin_methods.rb +0 -73
- data/lib/shoes/button.rb +0 -32
- data/lib/shoes/check_button.rb +0 -43
- data/lib/shoes/color.rb +0 -375
- data/lib/shoes/common/background_element.rb +0 -9
- data/lib/shoes/common/changeable.rb +0 -34
- data/lib/shoes/common/clickable.rb +0 -17
- data/lib/shoes/common/common_methods.rb +0 -70
- data/lib/shoes/common/fill.rb +0 -21
- data/lib/shoes/common/registration.rb +0 -33
- data/lib/shoes/common/state.rb +0 -18
- data/lib/shoes/common/stroke.rb +0 -28
- data/lib/shoes/common/style.rb +0 -34
- data/lib/shoes/common/style_normalizer.rb +0 -16
- data/lib/shoes/configuration.rb +0 -96
- data/lib/shoes/dialog.rb +0 -27
- data/lib/shoes/dimension.rb +0 -237
- data/lib/shoes/dimensions.rb +0 -194
- data/lib/shoes/download.rb +0 -117
- data/lib/shoes/dsl.rb +0 -478
- data/lib/shoes/font.rb +0 -49
- data/lib/shoes/gradient.rb +0 -18
- data/lib/shoes/image.rb +0 -33
- data/lib/shoes/image_pattern.rb +0 -10
- data/lib/shoes/input_box.rb +0 -68
- data/lib/shoes/key_event.rb +0 -17
- data/lib/shoes/line.rb +0 -38
- data/lib/shoes/link.rb +0 -49
- data/lib/shoes/link_hover.rb +0 -5
- data/lib/shoes/list_box.rb +0 -44
- data/lib/shoes/logger.rb +0 -66
- data/lib/shoes/logger/ruby.rb +0 -18
- data/lib/shoes/mock.rb +0 -30
- data/lib/shoes/mock/animation.rb +0 -8
- data/lib/shoes/mock/app.rb +0 -44
- data/lib/shoes/mock/arc.rb +0 -8
- data/lib/shoes/mock/background.rb +0 -10
- data/lib/shoes/mock/border.rb +0 -7
- data/lib/shoes/mock/button.rb +0 -10
- data/lib/shoes/mock/check.rb +0 -24
- data/lib/shoes/mock/common_methods.rb +0 -11
- data/lib/shoes/mock/dialog.rb +0 -13
- data/lib/shoes/mock/download.rb +0 -18
- data/lib/shoes/mock/font.rb +0 -17
- data/lib/shoes/mock/image.rb +0 -12
- data/lib/shoes/mock/image_pattern.rb +0 -9
- data/lib/shoes/mock/input_box.rb +0 -23
- data/lib/shoes/mock/keypress.rb +0 -8
- data/lib/shoes/mock/keyrelease.rb +0 -8
- data/lib/shoes/mock/line.rb +0 -14
- data/lib/shoes/mock/link.rb +0 -11
- data/lib/shoes/mock/list_box.rb +0 -16
- data/lib/shoes/mock/oval.rb +0 -11
- data/lib/shoes/mock/progress.rb +0 -10
- data/lib/shoes/mock/radio.rb +0 -26
- data/lib/shoes/mock/rect.rb +0 -13
- data/lib/shoes/mock/shape.rb +0 -19
- data/lib/shoes/mock/slot.rb +0 -14
- data/lib/shoes/mock/sound.rb +0 -8
- data/lib/shoes/mock/star.rb +0 -13
- data/lib/shoes/mock/text_block.rb +0 -29
- data/lib/shoes/mock/timer.rb +0 -8
- data/lib/shoes/oval.rb +0 -28
- data/lib/shoes/point.rb +0 -43
- data/lib/shoes/progress.rb +0 -26
- data/lib/shoes/radio.rb +0 -15
- data/lib/shoes/rect.rb +0 -28
- data/lib/shoes/renamed_delegate.rb +0 -15
- data/lib/shoes/shape.rb +0 -175
- data/lib/shoes/slot.rb +0 -232
- data/lib/shoes/slot_contents.rb +0 -56
- data/lib/shoes/sound.rb +0 -16
- data/lib/shoes/span.rb +0 -16
- data/lib/shoes/star.rb +0 -49
- data/lib/shoes/swt.rb +0 -114
- data/lib/shoes/swt/animation.rb +0 -46
- data/lib/shoes/swt/app.rb +0 -300
- data/lib/shoes/swt/arc.rb +0 -70
- data/lib/shoes/swt/background.rb +0 -31
- data/lib/shoes/swt/border.rb +0 -37
- data/lib/shoes/swt/button.rb +0 -18
- data/lib/shoes/swt/check.rb +0 -14
- data/lib/shoes/swt/check_button.rb +0 -19
- data/lib/shoes/swt/color.rb +0 -45
- data/lib/shoes/swt/common/child.rb +0 -16
- data/lib/shoes/swt/common/clear.rb +0 -24
- data/lib/shoes/swt/common/clickable.rb +0 -62
- data/lib/shoes/swt/common/container.rb +0 -28
- data/lib/shoes/swt/common/fill.rb +0 -37
- data/lib/shoes/swt/common/painter.rb +0 -83
- data/lib/shoes/swt/common/painter_updates_position.rb +0 -12
- data/lib/shoes/swt/common/resource.rb +0 -14
- data/lib/shoes/swt/common/selection_listener.rb +0 -14
- data/lib/shoes/swt/common/stroke.rb +0 -41
- data/lib/shoes/swt/common/toggle.rb +0 -13
- data/lib/shoes/swt/common/update_position.rb +0 -15
- data/lib/shoes/swt/dialog.rb +0 -89
- data/lib/shoes/swt/disposed_protection.rb +0 -23
- data/lib/shoes/swt/download.rb +0 -24
- data/lib/shoes/swt/fitted_text_layout.rb +0 -94
- data/lib/shoes/swt/fitted_text_layout_collection.rb +0 -108
- data/lib/shoes/swt/font.rb +0 -32
- data/lib/shoes/swt/gradient.rb +0 -77
- data/lib/shoes/swt/image.rb +0 -130
- data/lib/shoes/swt/image_pattern.rb +0 -19
- data/lib/shoes/swt/input_box.rb +0 -73
- data/lib/shoes/swt/key_listener.rb +0 -145
- data/lib/shoes/swt/line.rb +0 -57
- data/lib/shoes/swt/link.rb +0 -37
- data/lib/shoes/swt/link_segment.rb +0 -108
- data/lib/shoes/swt/list_box.rb +0 -49
- data/lib/shoes/swt/mouse_move_listener.rb +0 -61
- data/lib/shoes/swt/oval.rb +0 -53
- data/lib/shoes/swt/progress.rb +0 -35
- data/lib/shoes/swt/radio.rb +0 -29
- data/lib/shoes/swt/radio_group.rb +0 -54
- data/lib/shoes/swt/rect.rb +0 -31
- data/lib/shoes/swt/rect_painter.rb +0 -23
- data/lib/shoes/swt/redrawing_aspect.rb +0 -122
- data/lib/shoes/swt/shape.rb +0 -101
- data/lib/shoes/swt/shoes_layout.rb +0 -43
- data/lib/shoes/swt/slot.rb +0 -25
- data/lib/shoes/swt/sound.rb +0 -119
- data/lib/shoes/swt/star.rb +0 -51
- data/lib/shoes/swt/swt_button.rb +0 -49
- data/lib/shoes/swt/text_block.rb +0 -133
- data/lib/shoes/swt/text_block_cursor_painter.rb +0 -112
- data/lib/shoes/swt/text_block_fitter.rb +0 -180
- data/lib/shoes/swt/text_block_painter.rb +0 -49
- data/lib/shoes/swt/text_font_factory.rb +0 -27
- data/lib/shoes/swt/text_style_factory.rb +0 -88
- data/lib/shoes/swt/timer.rb +0 -19
- data/lib/shoes/swt/tooling/leak_hunter.rb +0 -84
- data/lib/shoes/text.rb +0 -14
- data/lib/shoes/text_block.rb +0 -162
- data/lib/shoes/timer.rb +0 -10
- data/lib/shoes/url.rb +0 -47
- data/lib/shoes/widget.rb +0 -73
- data/lib/support/jl1.0.1.jar +0 -0
- data/lib/support/jogg-0.0.7.jar +0 -0
- data/lib/support/jorbis-0.0.15.jar +0 -0
- data/lib/support/log4j-1.2.16.jar +0 -0
- data/lib/support/mp3spi1.9.5.jar +0 -0
- data/lib/support/tritonus_share.jar +0 -0
- data/lib/support/vorbisspi1.0.3.jar +0 -0
- data/samples/good-clock-adjusted.rb +0 -49
- data/spec/async_helper.rb +0 -21
- data/spec/code_coverage.rb +0 -11
- data/spec/shoes/animation_spec.rb +0 -65
- data/spec/shoes/app_spec.rb +0 -411
- data/spec/shoes/arc_spec.rb +0 -53
- data/spec/shoes/background_spec.rb +0 -48
- data/spec/shoes/border_spec.rb +0 -43
- data/spec/shoes/builtin_methods_spec.rb +0 -84
- data/spec/shoes/button_spec.rb +0 -41
- data/spec/shoes/check_spec.rb +0 -31
- data/spec/shoes/cli_spec.rb +0 -16
- data/spec/shoes/color_spec.rb +0 -396
- data/spec/shoes/common/style_normalizer_spec.rb +0 -28
- data/spec/shoes/common/style_spec.rb +0 -58
- data/spec/shoes/configuration_spec.rb +0 -37
- data/spec/shoes/constants_spec.rb +0 -38
- data/spec/shoes/dialog_spec.rb +0 -163
- data/spec/shoes/dimension_spec.rb +0 -381
- data/spec/shoes/dimensions_spec.rb +0 -831
- data/spec/shoes/download_spec.rb +0 -133
- data/spec/shoes/flow_spec.rb +0 -92
- data/spec/shoes/font_spec.rb +0 -38
- data/spec/shoes/framework_learning_spec.rb +0 -30
- data/spec/shoes/helpers/fake_element.rb +0 -11
- data/spec/shoes/helpers/sample17_helper.rb +0 -66
- data/spec/shoes/image_spec.rb +0 -45
- data/spec/shoes/images/shoe.jpg +0 -0
- data/spec/shoes/input_box_spec.rb +0 -44
- data/spec/shoes/integration_spec.rb +0 -20
- data/spec/shoes/keypress_spec.rb +0 -11
- data/spec/shoes/keyrelease_spec.rb +0 -12
- data/spec/shoes/line_spec.rb +0 -47
- data/spec/shoes/link_spec.rb +0 -89
- data/spec/shoes/list_box_spec.rb +0 -63
- data/spec/shoes/logger/ruby_spec.rb +0 -9
- data/spec/shoes/logger_spec.rb +0 -45
- data/spec/shoes/oval_spec.rb +0 -20
- data/spec/shoes/point_spec.rb +0 -51
- data/spec/shoes/progress_spec.rb +0 -40
- data/spec/shoes/radio_spec.rb +0 -28
- data/spec/shoes/rect_spec.rb +0 -38
- data/spec/shoes/renamed_delegate_spec.rb +0 -70
- data/spec/shoes/shape_spec.rb +0 -54
- data/spec/shoes/shared_examples/button.rb +0 -6
- data/spec/shoes/shared_examples/changeable.rb +0 -26
- data/spec/shoes/shared_examples/clickable.rb +0 -5
- data/spec/shoes/shared_examples/common_methods.rb +0 -42
- data/spec/shoes/shared_examples/dimensions.rb +0 -32
- data/spec/shoes/shared_examples/dsl.rb +0 -42
- data/spec/shoes/shared_examples/dsl/animate.rb +0 -29
- data/spec/shoes/shared_examples/dsl/arc.rb +0 -45
- data/spec/shoes/shared_examples/dsl/background.rb +0 -26
- data/spec/shoes/shared_examples/dsl/border.rb +0 -10
- data/spec/shoes/shared_examples/dsl/cap.rb +0 -6
- data/spec/shoes/shared_examples/dsl/check.rb +0 -11
- data/spec/shoes/shared_examples/dsl/edit_box.rb +0 -8
- data/spec/shoes/shared_examples/dsl/edit_line.rb +0 -8
- data/spec/shoes/shared_examples/dsl/editable_element.rb +0 -29
- data/spec/shoes/shared_examples/dsl/fill.rb +0 -27
- data/spec/shoes/shared_examples/dsl/flow.rb +0 -15
- data/spec/shoes/shared_examples/dsl/gradient.rb +0 -52
- data/spec/shoes/shared_examples/dsl/image.rb +0 -21
- data/spec/shoes/shared_examples/dsl/line.rb +0 -9
- data/spec/shoes/shared_examples/dsl/nofill.rb +0 -6
- data/spec/shoes/shared_examples/dsl/nostroke.rb +0 -6
- data/spec/shoes/shared_examples/dsl/oval.rb +0 -60
- data/spec/shoes/shared_examples/dsl/pattern.rb +0 -34
- data/spec/shoes/shared_examples/dsl/progress.rb +0 -7
- data/spec/shoes/shared_examples/dsl/rect.rb +0 -92
- data/spec/shoes/shared_examples/dsl/rgb.rb +0 -26
- data/spec/shoes/shared_examples/dsl/shape.rb +0 -21
- data/spec/shoes/shared_examples/dsl/star.rb +0 -48
- data/spec/shoes/shared_examples/dsl/stroke.rb +0 -30
- data/spec/shoes/shared_examples/dsl/strokewidth.rb +0 -19
- data/spec/shoes/shared_examples/dsl/style.rb +0 -32
- data/spec/shoes/shared_examples/dsl/text_elements.rb +0 -81
- data/spec/shoes/shared_examples/dsl_app_context.rb +0 -8
- data/spec/shoes/shared_examples/hover_leave.rb +0 -11
- data/spec/shoes/shared_examples/parent.rb +0 -6
- data/spec/shoes/shared_examples/shared_element_method.rb +0 -52
- data/spec/shoes/shared_examples/slot.rb +0 -272
- data/spec/shoes/shared_examples/state.rb +0 -19
- data/spec/shoes/shared_examples/style.rb +0 -24
- data/spec/shoes/slot_spec.rb +0 -60
- data/spec/shoes/sound_spec.rb +0 -15
- data/spec/shoes/span_spec.rb +0 -94
- data/spec/shoes/spec_helper.rb +0 -1
- data/spec/shoes/stack_spec.rb +0 -53
- data/spec/shoes/star_spec.rb +0 -30
- data/spec/shoes/text_block_spec.rb +0 -242
- data/spec/shoes/url_spec.rb +0 -66
- data/spec/shoes/widget_spec.rb +0 -34
- data/spec/shoes_spec.rb +0 -44
- data/spec/spec_helper.rb +0 -16
- data/spec/swt_shoes/animation_spec.rb +0 -86
- data/spec/swt_shoes/app_spec.rb +0 -75
- data/spec/swt_shoes/arc_spec.rb +0 -101
- data/spec/swt_shoes/background_spec.rb +0 -56
- data/spec/swt_shoes/border_spec.rb +0 -51
- data/spec/swt_shoes/button_spec.rb +0 -101
- data/spec/swt_shoes/check_spec.rb +0 -28
- data/spec/swt_shoes/color_spec.rb +0 -67
- data/spec/swt_shoes/common/painter_spec.rb +0 -29
- data/spec/swt_shoes/configuration_spec.rb +0 -12
- data/spec/swt_shoes/dialog_spec.rb +0 -106
- data/spec/swt_shoes/disposed_protection_spec.rb +0 -49
- data/spec/swt_shoes/fitted_text_layout_collection_spec.rb +0 -174
- data/spec/swt_shoes/fitted_text_layout_spec.rb +0 -130
- data/spec/swt_shoes/flow_spec.rb +0 -26
- data/spec/swt_shoes/font_spec.rb +0 -33
- data/spec/swt_shoes/gradient_spec.rb +0 -20
- data/spec/swt_shoes/image_pattern_spec.rb +0 -19
- data/spec/swt_shoes/image_spec.rb +0 -100
- data/spec/swt_shoes/input_box_spec.rb +0 -110
- data/spec/swt_shoes/integration_spec.rb +0 -18
- data/spec/swt_shoes/key_listener_spec.rb +0 -320
- data/spec/swt_shoes/line_spec.rb +0 -43
- data/spec/swt_shoes/link_segment_spec.rb +0 -103
- data/spec/swt_shoes/link_spec.rb +0 -59
- data/spec/swt_shoes/list_box_spec.rb +0 -51
- data/spec/swt_shoes/minimal.png +0 -0
- data/spec/swt_shoes/mouse_move_listener_spec.rb +0 -129
- data/spec/swt_shoes/oval_spec.rb +0 -51
- data/spec/swt_shoes/progress_spec.rb +0 -44
- data/spec/swt_shoes/radio_group_spec.rb +0 -73
- data/spec/swt_shoes/radio_spec.rb +0 -56
- data/spec/swt_shoes/rect_painter_spec.rb +0 -45
- data/spec/swt_shoes/rect_spec.rb +0 -19
- data/spec/swt_shoes/shape_spec.rb +0 -81
- data/spec/swt_shoes/shared_examples/button.rb +0 -24
- data/spec/swt_shoes/shared_examples/clearable.rb +0 -32
- data/spec/swt_shoes/shared_examples/clickable.rb +0 -60
- data/spec/swt_shoes/shared_examples/movable.rb +0 -36
- data/spec/swt_shoes/shared_examples/paintable_spec.rb +0 -7
- data/spec/swt_shoes/shared_examples/painter.rb +0 -83
- data/spec/swt_shoes/shared_examples/pattern.rb +0 -32
- data/spec/swt_shoes/shared_examples/swt_app_context.rb +0 -17
- data/spec/swt_shoes/shared_examples/togglable.rb +0 -15
- data/spec/swt_shoes/shell_control_listener_spec.rb +0 -23
- data/spec/swt_shoes/sound.rb +0 -10
- data/spec/swt_shoes/spec_helper.rb +0 -31
- data/spec/swt_shoes/star_spec.rb +0 -47
- data/spec/swt_shoes/text_block_cursor_painter_spec.rb +0 -202
- data/spec/swt_shoes/text_block_fitter_spec.rb +0 -181
- data/spec/swt_shoes/text_block_painter_spec.rb +0 -221
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce88c2a93a5c4f95d25f734a138a98260f0768ec
|
4
|
+
data.tar.gz: 4222af5bcbe6eaa05726264d582a86de18af5291
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b0a085199ce52ed003ae3fc4a3ae09bca5908d1e02f68aa70060489c22f314e0e474add7ca02bf83b8fc0c925b8e0a60d140ac85b010b888535a81fe249ab5a7
|
7
|
+
data.tar.gz: fecd14c2ac9b6413e6cf813446856f79545abcf8144393ae39af89c41c097f041435562ce933d9fce1094c76f5f616d7a8d0cd2b9d3d1fe3364803acb4b1e73c
|
data/CHANGELOG
CHANGED
@@ -1,32 +1,84 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
*
|
8
|
-
|
9
|
-
*
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
*
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
*
|
22
|
-
*
|
23
|
-
*
|
24
|
-
*
|
25
|
-
*
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
*
|
30
|
-
*
|
31
|
-
*
|
32
|
-
*
|
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
|
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
|
-
##
|
5
|
+
## Pre-alpha
|
6
6
|
|
7
|
-
Hi there, thanks for checking by!
|
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
|
-
|
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
|
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
|
-
|
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
|
-
|
3
|
+
|
4
4
|
require 'rspec/core/rake_task'
|
5
|
-
|
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
|