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.
- 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)
|