white_gold 0.0.4 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/dll/tgui.dll +0 -0
- data/ext/so/libtgui.so +0 -0
- data/lib/white_gold/abi/extern_object.rb +2 -2
- data/lib/white_gold/convention/container_widgets.rb +2 -2
- data/lib/white_gold/convention/page.rb +8 -4
- data/lib/white_gold/convention/theme/theme_attributed.rb +1 -1
- data/lib/white_gold/convention/theme/theme_component.rb +1 -1
- data/lib/white_gold/convention/widget_like.rb +1 -4
- data/lib/white_gold/dsl/backend_gui.rb +5 -4
- data/lib/white_gold/dsl/child_window.rb +1 -1
- data/lib/white_gold/dsl/color.rb +35 -27
- data/lib/white_gold/dsl/edit_box.rb +1 -2
- data/lib/white_gold/dsl/font.rb +4 -0
- data/lib/white_gold/dsl/gui.rb +5 -1
- data/lib/white_gold/dsl/label.rb +0 -2
- data/lib/white_gold/dsl/list_view.rb +6 -6
- data/lib/white_gold/dsl/outline.rb +4 -0
- data/lib/white_gold/dsl/picture.rb +0 -2
- data/lib/white_gold/dsl/radio_button.rb +1 -1
- data/lib/white_gold/dsl/sfml/shape.rb +3 -2
- data/lib/white_gold/dsl/sfml/text.rb +3 -1
- data/lib/white_gold/dsl/signal/signal_bool.rb +3 -3
- data/lib/white_gold/dsl/texture.rb +6 -1
- data/lib/white_gold/dsl/theme.rb +1 -2
- data/lib/white_gold/dsl/util.rb +3 -1
- data/lib/white_gold/dsl/widget.rb +10 -8
- data/lib/white_gold/dsl/window.rb +7 -4
- data/lib/white_gold/generated/tgui-abi-loader.gf.rb +30 -14
- data/lib/white_gold/master.rb +60 -47
- data/lib/white_gold/path/array.path.rb +0 -7
- data/lib/white_gold/path/object.path.rb +0 -6
- data/lib/white_gold/tgui-abi.rb +8 -13
- data/lib/white_gold/version.rb +1 -1
- data/lib/white_gold.rb +6 -6
- metadata +33 -8
- data/lib/white_gold/convention/bang_def.rb +0 -19
- data/lib/white_gold/convention/bang_nest.rb +0 -26
- data/lib/white_gold/convention/bang_nested_caller.rb +0 -81
- data/lib/white_gold/convention/proc_method_factory.rb +0 -22
@@ -1,81 +0,0 @@
|
|
1
|
-
module BangNestedCaller
|
2
|
-
API_BANG_PREFIX = "api_bang_".freeze
|
3
|
-
|
4
|
-
@@bang_stack = []
|
5
|
-
@@bang_roots = []
|
6
|
-
|
7
|
-
class << self
|
8
|
-
def stack
|
9
|
-
@@bang_stack
|
10
|
-
end
|
11
|
-
|
12
|
-
def roots
|
13
|
-
@@bang_roots
|
14
|
-
end
|
15
|
-
|
16
|
-
def current root
|
17
|
-
@@bang_roots.include?(root) ? @@bang_stack.last : root
|
18
|
-
end
|
19
|
-
|
20
|
-
def push object
|
21
|
-
@@bang_stack.push object
|
22
|
-
end
|
23
|
-
|
24
|
-
def pop
|
25
|
-
@@bang_stack.pop
|
26
|
-
end
|
27
|
-
|
28
|
-
def open_scope object
|
29
|
-
@@bang_roots << object
|
30
|
-
end
|
31
|
-
|
32
|
-
def close_scope object
|
33
|
-
@@bang_roots.delete_at @@bang_roots.index(object)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
|
37
|
-
def self!
|
38
|
-
BangNestedCaller.current self
|
39
|
-
end
|
40
|
-
|
41
|
-
def bang_respond_to? name
|
42
|
-
top = BangNestedCaller.current self
|
43
|
-
top.respond_to?("#{name}=") || top.respond_to?("#{API_BANG_PREFIX}#{name}")
|
44
|
-
end
|
45
|
-
|
46
|
-
def bang_method_missing name, *a, **na, &b
|
47
|
-
top = BangNestedCaller.current self
|
48
|
-
api_bang_name = "#{API_BANG_PREFIX}#{name}".to_sym
|
49
|
-
return top.send(api_bang_name, *a, **na, &b) if top.respond_to? api_bang_name
|
50
|
-
setter = "#{name}=".to_sym
|
51
|
-
if top.respond_to? setter
|
52
|
-
return top.send(setter, a) if !a.empty?
|
53
|
-
return top.send(setter, na) if !na.empty?
|
54
|
-
return top.send(setter, b) if block_given?
|
55
|
-
return top.send(setter)
|
56
|
-
end
|
57
|
-
no_method_error = NoMethodError.new("bang method missing `#{name}!` for #{top.class}")
|
58
|
-
raise no_method_error
|
59
|
-
end
|
60
|
-
|
61
|
-
def send! method, *a, **na, &b
|
62
|
-
send "api_bang_#{method}", *a, **na, &b
|
63
|
-
end
|
64
|
-
|
65
|
-
def host! &b
|
66
|
-
return self if !b
|
67
|
-
BangNestedCaller.push self
|
68
|
-
result = b.call self
|
69
|
-
BangNestedCaller.pop
|
70
|
-
result
|
71
|
-
end
|
72
|
-
|
73
|
-
def scope! scoped = nil, *a, **na, &b
|
74
|
-
scoped ||= self
|
75
|
-
BangNestedCaller.open_scope self
|
76
|
-
scoped.host! *a, **na, &b
|
77
|
-
BangNestedCaller.close_scope self
|
78
|
-
scoped
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
class ProcMethodFactory
|
2
|
-
def initialize source
|
3
|
-
@source = source
|
4
|
-
end
|
5
|
-
|
6
|
-
def method_missing name, *curry
|
7
|
-
proc do |*a, **na, &b|
|
8
|
-
method = @source.method name
|
9
|
-
arity = method.arity
|
10
|
-
a = [*curry, *a]
|
11
|
-
if arity >= 0
|
12
|
-
@source.send(name, *a[...arity], **na, &b)
|
13
|
-
else
|
14
|
-
@source.send(name, *a, **na, &b)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def respond_to? name
|
20
|
-
@source.respond_to? name
|
21
|
-
end
|
22
|
-
end
|