shoes-core 4.0.0.pre8 → 4.0.0.pre9

Sign up to get free protection for your applications and to get access to all the features.
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)