shoes-core 4.0.0.pre8 → 4.0.0.pre9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/bin/shoes-picker +1 -0
  3. data/lib/shoes.rb +1 -0
  4. data/lib/shoes/animation.rb +1 -0
  5. data/lib/shoes/app.rb +7 -1
  6. data/lib/shoes/arc.rb +2 -3
  7. data/lib/shoes/arrow.rb +2 -3
  8. data/lib/shoes/background.rb +2 -2
  9. data/lib/shoes/border.rb +2 -2
  10. data/lib/shoes/builtin_methods.rb +2 -2
  11. data/lib/shoes/button.rb +2 -2
  12. data/lib/shoes/check_button.rb +2 -2
  13. data/lib/shoes/color.rb +1 -0
  14. data/lib/shoes/color/dsl.rb +1 -0
  15. data/lib/shoes/color/dsl_helpers.rb +1 -0
  16. data/lib/shoes/color/hex_converter.rb +1 -0
  17. data/lib/shoes/common/art_element.rb +6 -9
  18. data/lib/shoes/common/attachable.rb +1 -0
  19. data/lib/shoes/common/background_element.rb +2 -11
  20. data/lib/shoes/common/changeable.rb +1 -0
  21. data/lib/shoes/common/clickable.rb +1 -0
  22. data/lib/shoes/common/fill.rb +1 -0
  23. data/lib/shoes/common/hover.rb +2 -1
  24. data/lib/shoes/common/inspect.rb +1 -0
  25. data/lib/shoes/common/link_finder.rb +1 -0
  26. data/lib/shoes/common/positioning.rb +1 -0
  27. data/lib/shoes/common/registration.rb +1 -0
  28. data/lib/shoes/common/remove.rb +1 -0
  29. data/lib/shoes/common/rotate.rb +1 -0
  30. data/lib/shoes/common/safely_evaluate.rb +13 -0
  31. data/lib/shoes/common/state.rb +4 -10
  32. data/lib/shoes/common/stroke.rb +1 -0
  33. data/lib/shoes/common/style.rb +13 -3
  34. data/lib/shoes/common/style_normalizer.rb +1 -0
  35. data/lib/shoes/common/translate.rb +1 -0
  36. data/lib/shoes/common/ui_element.rb +67 -5
  37. data/lib/shoes/common/visibility.rb +7 -6
  38. data/lib/shoes/configuration.rb +5 -16
  39. data/lib/shoes/console.rb +91 -0
  40. data/lib/shoes/core.rb +1 -1
  41. data/lib/shoes/core/version.rb +1 -1
  42. data/lib/shoes/dialog.rb +1 -0
  43. data/lib/shoes/dimension.rb +1 -0
  44. data/lib/shoes/dimensions.rb +1 -0
  45. data/lib/shoes/download.rb +1 -0
  46. data/lib/shoes/dsl.rb +28 -588
  47. data/lib/shoes/dsl/animate.rb +51 -0
  48. data/lib/shoes/dsl/art.rb +256 -0
  49. data/lib/shoes/dsl/element.rb +56 -0
  50. data/lib/shoes/dsl/interaction.rb +76 -0
  51. data/lib/shoes/dsl/media.rb +38 -0
  52. data/lib/shoes/dsl/setup.rb +42 -0
  53. data/lib/shoes/dsl/style.rb +81 -0
  54. data/lib/shoes/dsl/text.rb +50 -0
  55. data/lib/shoes/file_not_found_error.rb +1 -0
  56. data/lib/shoes/font.rb +2 -1
  57. data/lib/shoes/gradient.rb +1 -0
  58. data/lib/shoes/image.rb +2 -2
  59. data/lib/shoes/image_pattern.rb +1 -0
  60. data/lib/shoes/input_box.rb +11 -2
  61. data/lib/shoes/internal_app.rb +16 -3
  62. data/lib/shoes/key_event.rb +1 -0
  63. data/lib/shoes/line.rb +2 -3
  64. data/lib/shoes/link.rb +2 -0
  65. data/lib/shoes/list_box.rb +3 -3
  66. data/lib/shoes/logger_collection.rb +38 -0
  67. data/lib/shoes/mock.rb +1 -0
  68. data/lib/shoes/mock/animation.rb +1 -0
  69. data/lib/shoes/mock/app.rb +1 -0
  70. data/lib/shoes/mock/arc.rb +1 -0
  71. data/lib/shoes/mock/arrow.rb +1 -0
  72. data/lib/shoes/mock/background.rb +1 -0
  73. data/lib/shoes/mock/border.rb +1 -0
  74. data/lib/shoes/mock/button.rb +1 -0
  75. data/lib/shoes/mock/check.rb +1 -0
  76. data/lib/shoes/mock/clickable.rb +1 -0
  77. data/lib/shoes/mock/common_methods.rb +1 -0
  78. data/lib/shoes/mock/dialog.rb +1 -0
  79. data/lib/shoes/mock/download.rb +1 -0
  80. data/lib/shoes/mock/font.rb +1 -0
  81. data/lib/shoes/mock/image.rb +1 -0
  82. data/lib/shoes/mock/image_pattern.rb +1 -0
  83. data/lib/shoes/mock/input_box.rb +4 -0
  84. data/lib/shoes/mock/keypress.rb +1 -0
  85. data/lib/shoes/mock/keyrelease.rb +1 -0
  86. data/lib/shoes/mock/line.rb +1 -0
  87. data/lib/shoes/mock/link.rb +1 -0
  88. data/lib/shoes/mock/list_box.rb +1 -0
  89. data/lib/shoes/mock/oval.rb +1 -0
  90. data/lib/shoes/mock/packager.rb +3 -0
  91. data/lib/shoes/mock/progress.rb +1 -0
  92. data/lib/shoes/mock/radio.rb +1 -0
  93. data/lib/shoes/mock/rect.rb +1 -0
  94. data/lib/shoes/mock/shape.rb +1 -0
  95. data/lib/shoes/mock/slot.rb +1 -0
  96. data/lib/shoes/mock/sound.rb +1 -0
  97. data/lib/shoes/mock/star.rb +1 -0
  98. data/lib/shoes/mock/text_block.rb +1 -0
  99. data/lib/shoes/mock/timer.rb +1 -0
  100. data/lib/shoes/not_implemented_error.rb +1 -0
  101. data/lib/shoes/oval.rb +2 -3
  102. data/lib/shoes/packager.rb +13 -0
  103. data/lib/shoes/point.rb +1 -0
  104. data/lib/shoes/progress.rb +2 -3
  105. data/lib/shoes/radio.rb +1 -0
  106. data/lib/shoes/rect.rb +2 -3
  107. data/lib/shoes/renamed_delegate.rb +1 -0
  108. data/lib/shoes/shape.rb +2 -4
  109. data/lib/shoes/slot.rb +3 -3
  110. data/lib/shoes/slot_contents.rb +1 -0
  111. data/lib/shoes/sound.rb +1 -0
  112. data/lib/shoes/span.rb +1 -0
  113. data/lib/shoes/standard_logger.rb +14 -0
  114. data/lib/shoes/star.rb +2 -3
  115. data/lib/shoes/text.rb +1 -0
  116. data/lib/shoes/text_block.rb +4 -4
  117. data/lib/shoes/text_block_dimensions.rb +1 -0
  118. data/lib/shoes/timer.rb +1 -0
  119. data/lib/shoes/ui/cli.rb +5 -0
  120. data/lib/shoes/ui/picker.rb +2 -1
  121. data/lib/shoes/url.rb +1 -0
  122. data/lib/shoes/version.rb +1 -1
  123. data/lib/shoes/widget.rb +1 -0
  124. data/lib/shoes/window.rb +1 -0
  125. metadata +14 -5
  126. data/lib/shoes/common/initialization.rb +0 -71
  127. data/lib/shoes/logger.rb +0 -65
  128. data/lib/shoes/logger/ruby.rb +0 -15
@@ -1,71 +0,0 @@
1
- class Shoes
2
- module Common
3
- module Initialization
4
- attr_reader :app, :parent, :dimensions, :gui
5
-
6
- def initialize(app, parent, *args)
7
- blk = args.pop if args.last.is_a?(Proc) || args.last.nil?
8
- styles = args.last.is_a?(Hash) ? args.pop : {}
9
-
10
- before_initialize(styles, *args)
11
-
12
- @app = app
13
- @parent = parent
14
-
15
- style_init(styles)
16
- create_dimensions(*args)
17
- update_dimensions if styles_with_dimensions?
18
-
19
- create_backend
20
- add_to_parent(*args)
21
-
22
- handle_block(blk)
23
- update_visibility
24
-
25
- after_initialize(*args)
26
- end
27
-
28
- # This method will get called with the incoming styles hash and the
29
- # other arguments passed to initialize.
30
- #
31
- # It is intended for performing any additions to the styles hash before
32
- # that gets sent on to style_init.
33
- def before_initialize(_styles, *_)
34
- end
35
-
36
- # Set the dimensions for the element. Defaults to using the Dimensions
37
- # class, but is expected to be overridden in other types (art elements,
38
- # text blocks) that require different dimensioning.
39
- def create_dimensions(*_)
40
- @dimensions = Dimensions.new @parent, @style
41
- end
42
-
43
- # Call to create the backend (aka @gui)
44
- def create_backend
45
- @gui = Shoes.backend_for self
46
- end
47
-
48
- # Calls to add child in parent, after the backend has been created.
49
- # Can be overridden for operations that must happen after backend, but
50
- # before addition to parent (and hence positioning)
51
- def add_to_parent(*_)
52
- @parent.add_child self
53
- end
54
-
55
- # This method handles the block passed in at creation of the DSL element.
56
- # By default it will treat things as clickable, and assumes the
57
- # necessary methods are there.
58
- #
59
- # Override if DSL element uses that block for something else (i.e. slot)
60
- def handle_block(blk)
61
- return unless blk
62
- register_click blk
63
- end
64
-
65
- # Final method called in initialize. Intended for any final setup after
66
- # the rest of the object has been set up fully.
67
- def after_initialize(*_)
68
- end
69
- end
70
- end
71
- end
data/lib/shoes/logger.rb DELETED
@@ -1,65 +0,0 @@
1
- class Shoes
2
- module Logger
3
- class << self
4
- def register(name, obj)
5
- @loggers ||= {}
6
- @loggers[name] = obj
7
- end
8
-
9
- def unregister(name)
10
- @loggers.delete(name)
11
- end
12
-
13
- def get(name)
14
- @loggers && @loggers[name]
15
- end
16
- end
17
-
18
- def self.setup
19
- Shoes.app do
20
- def update
21
- return unless @hash == Shoes::LOG.hash
22
- @hash = Shoes::LOG.hash
23
- @log.clear do
24
- Shoes::LOG.each_with_index do |(typ, msg), index|
25
- stack do
26
- background "#f1f5e1" if index.even?
27
- background rgb(220, 220, 220) if index.odd?
28
- para typ, stroke: blue
29
- flow do
30
- stack margin: 4 do
31
- s = msg.to_s
32
- para s, margin: 4, margin_top: 0
33
- end
34
- end
35
- end
36
- end
37
- end
38
- end
39
-
40
- stack do
41
- flow do
42
- background black
43
- stack do
44
- tagline "Shoes Console", stroke: white
45
- end
46
- button "Clear", margin: 6, width: 80, height: 40, right: 10 do
47
- Shoes::LOG.clear
48
- end
49
- end
50
- @log = stack
51
- @hash = nil
52
- update
53
-
54
- every(0.2) do
55
- update
56
- end
57
- end
58
- end
59
- end
60
- end
61
- end
62
-
63
- Dir[File.join(File.dirname(__FILE__), "logger", "*.rb")].each do |logger|
64
- require logger
65
- end
@@ -1,15 +0,0 @@
1
- class Shoes
2
- module Logger
3
- class Ruby < SimpleDelegator
4
- def initialize(device = STDERR)
5
- logger = ::Logger.new(device)
6
- logger.formatter = proc do |severity, _datetime, _progname, message|
7
- "%s: %s\n" % [severity, message]
8
- end
9
- super(logger)
10
- end
11
- end
12
- end
13
- end
14
-
15
- Shoes::Logger.register(:ruby, Shoes::Logger::Ruby)