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.
- checksums.yaml +4 -4
- data/bin/shoes-picker +1 -0
- data/lib/shoes.rb +1 -0
- data/lib/shoes/animation.rb +1 -0
- data/lib/shoes/app.rb +7 -1
- data/lib/shoes/arc.rb +2 -3
- data/lib/shoes/arrow.rb +2 -3
- data/lib/shoes/background.rb +2 -2
- data/lib/shoes/border.rb +2 -2
- data/lib/shoes/builtin_methods.rb +2 -2
- data/lib/shoes/button.rb +2 -2
- data/lib/shoes/check_button.rb +2 -2
- data/lib/shoes/color.rb +1 -0
- data/lib/shoes/color/dsl.rb +1 -0
- data/lib/shoes/color/dsl_helpers.rb +1 -0
- data/lib/shoes/color/hex_converter.rb +1 -0
- data/lib/shoes/common/art_element.rb +6 -9
- data/lib/shoes/common/attachable.rb +1 -0
- data/lib/shoes/common/background_element.rb +2 -11
- data/lib/shoes/common/changeable.rb +1 -0
- data/lib/shoes/common/clickable.rb +1 -0
- data/lib/shoes/common/fill.rb +1 -0
- data/lib/shoes/common/hover.rb +2 -1
- data/lib/shoes/common/inspect.rb +1 -0
- data/lib/shoes/common/link_finder.rb +1 -0
- data/lib/shoes/common/positioning.rb +1 -0
- data/lib/shoes/common/registration.rb +1 -0
- data/lib/shoes/common/remove.rb +1 -0
- data/lib/shoes/common/rotate.rb +1 -0
- data/lib/shoes/common/safely_evaluate.rb +13 -0
- data/lib/shoes/common/state.rb +4 -10
- data/lib/shoes/common/stroke.rb +1 -0
- data/lib/shoes/common/style.rb +13 -3
- data/lib/shoes/common/style_normalizer.rb +1 -0
- data/lib/shoes/common/translate.rb +1 -0
- data/lib/shoes/common/ui_element.rb +67 -5
- data/lib/shoes/common/visibility.rb +7 -6
- data/lib/shoes/configuration.rb +5 -16
- data/lib/shoes/console.rb +91 -0
- data/lib/shoes/core.rb +1 -1
- data/lib/shoes/core/version.rb +1 -1
- data/lib/shoes/dialog.rb +1 -0
- data/lib/shoes/dimension.rb +1 -0
- data/lib/shoes/dimensions.rb +1 -0
- data/lib/shoes/download.rb +1 -0
- data/lib/shoes/dsl.rb +28 -588
- data/lib/shoes/dsl/animate.rb +51 -0
- data/lib/shoes/dsl/art.rb +256 -0
- data/lib/shoes/dsl/element.rb +56 -0
- data/lib/shoes/dsl/interaction.rb +76 -0
- data/lib/shoes/dsl/media.rb +38 -0
- data/lib/shoes/dsl/setup.rb +42 -0
- data/lib/shoes/dsl/style.rb +81 -0
- data/lib/shoes/dsl/text.rb +50 -0
- data/lib/shoes/file_not_found_error.rb +1 -0
- data/lib/shoes/font.rb +2 -1
- data/lib/shoes/gradient.rb +1 -0
- data/lib/shoes/image.rb +2 -2
- data/lib/shoes/image_pattern.rb +1 -0
- data/lib/shoes/input_box.rb +11 -2
- data/lib/shoes/internal_app.rb +16 -3
- data/lib/shoes/key_event.rb +1 -0
- data/lib/shoes/line.rb +2 -3
- data/lib/shoes/link.rb +2 -0
- data/lib/shoes/list_box.rb +3 -3
- data/lib/shoes/logger_collection.rb +38 -0
- data/lib/shoes/mock.rb +1 -0
- data/lib/shoes/mock/animation.rb +1 -0
- data/lib/shoes/mock/app.rb +1 -0
- data/lib/shoes/mock/arc.rb +1 -0
- data/lib/shoes/mock/arrow.rb +1 -0
- data/lib/shoes/mock/background.rb +1 -0
- data/lib/shoes/mock/border.rb +1 -0
- data/lib/shoes/mock/button.rb +1 -0
- data/lib/shoes/mock/check.rb +1 -0
- data/lib/shoes/mock/clickable.rb +1 -0
- data/lib/shoes/mock/common_methods.rb +1 -0
- data/lib/shoes/mock/dialog.rb +1 -0
- data/lib/shoes/mock/download.rb +1 -0
- data/lib/shoes/mock/font.rb +1 -0
- data/lib/shoes/mock/image.rb +1 -0
- data/lib/shoes/mock/image_pattern.rb +1 -0
- data/lib/shoes/mock/input_box.rb +4 -0
- data/lib/shoes/mock/keypress.rb +1 -0
- data/lib/shoes/mock/keyrelease.rb +1 -0
- data/lib/shoes/mock/line.rb +1 -0
- data/lib/shoes/mock/link.rb +1 -0
- data/lib/shoes/mock/list_box.rb +1 -0
- data/lib/shoes/mock/oval.rb +1 -0
- data/lib/shoes/mock/packager.rb +3 -0
- data/lib/shoes/mock/progress.rb +1 -0
- data/lib/shoes/mock/radio.rb +1 -0
- data/lib/shoes/mock/rect.rb +1 -0
- data/lib/shoes/mock/shape.rb +1 -0
- data/lib/shoes/mock/slot.rb +1 -0
- data/lib/shoes/mock/sound.rb +1 -0
- data/lib/shoes/mock/star.rb +1 -0
- data/lib/shoes/mock/text_block.rb +1 -0
- data/lib/shoes/mock/timer.rb +1 -0
- data/lib/shoes/not_implemented_error.rb +1 -0
- data/lib/shoes/oval.rb +2 -3
- data/lib/shoes/packager.rb +13 -0
- data/lib/shoes/point.rb +1 -0
- data/lib/shoes/progress.rb +2 -3
- data/lib/shoes/radio.rb +1 -0
- data/lib/shoes/rect.rb +2 -3
- data/lib/shoes/renamed_delegate.rb +1 -0
- data/lib/shoes/shape.rb +2 -4
- data/lib/shoes/slot.rb +3 -3
- data/lib/shoes/slot_contents.rb +1 -0
- data/lib/shoes/sound.rb +1 -0
- data/lib/shoes/span.rb +1 -0
- data/lib/shoes/standard_logger.rb +14 -0
- data/lib/shoes/star.rb +2 -3
- data/lib/shoes/text.rb +1 -0
- data/lib/shoes/text_block.rb +4 -4
- data/lib/shoes/text_block_dimensions.rb +1 -0
- data/lib/shoes/timer.rb +1 -0
- data/lib/shoes/ui/cli.rb +5 -0
- data/lib/shoes/ui/picker.rb +2 -1
- data/lib/shoes/url.rb +1 -0
- data/lib/shoes/version.rb +1 -1
- data/lib/shoes/widget.rb +1 -0
- data/lib/shoes/window.rb +1 -0
- metadata +14 -5
- data/lib/shoes/common/initialization.rb +0 -71
- data/lib/shoes/logger.rb +0 -65
- 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
|
data/lib/shoes/logger/ruby.rb
DELETED
@@ -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)
|