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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/ext/dll/tgui.dll +0 -0
  3. data/ext/so/libtgui.so +0 -0
  4. data/lib/white_gold/abi/extern_object.rb +2 -2
  5. data/lib/white_gold/convention/container_widgets.rb +2 -2
  6. data/lib/white_gold/convention/page.rb +8 -4
  7. data/lib/white_gold/convention/theme/theme_attributed.rb +1 -1
  8. data/lib/white_gold/convention/theme/theme_component.rb +1 -1
  9. data/lib/white_gold/convention/widget_like.rb +1 -4
  10. data/lib/white_gold/dsl/backend_gui.rb +5 -4
  11. data/lib/white_gold/dsl/child_window.rb +1 -1
  12. data/lib/white_gold/dsl/color.rb +35 -27
  13. data/lib/white_gold/dsl/edit_box.rb +1 -2
  14. data/lib/white_gold/dsl/font.rb +4 -0
  15. data/lib/white_gold/dsl/gui.rb +5 -1
  16. data/lib/white_gold/dsl/label.rb +0 -2
  17. data/lib/white_gold/dsl/list_view.rb +6 -6
  18. data/lib/white_gold/dsl/outline.rb +4 -0
  19. data/lib/white_gold/dsl/picture.rb +0 -2
  20. data/lib/white_gold/dsl/radio_button.rb +1 -1
  21. data/lib/white_gold/dsl/sfml/shape.rb +3 -2
  22. data/lib/white_gold/dsl/sfml/text.rb +3 -1
  23. data/lib/white_gold/dsl/signal/signal_bool.rb +3 -3
  24. data/lib/white_gold/dsl/texture.rb +6 -1
  25. data/lib/white_gold/dsl/theme.rb +1 -2
  26. data/lib/white_gold/dsl/util.rb +3 -1
  27. data/lib/white_gold/dsl/widget.rb +10 -8
  28. data/lib/white_gold/dsl/window.rb +7 -4
  29. data/lib/white_gold/generated/tgui-abi-loader.gf.rb +30 -14
  30. data/lib/white_gold/master.rb +60 -47
  31. data/lib/white_gold/path/array.path.rb +0 -7
  32. data/lib/white_gold/path/object.path.rb +0 -6
  33. data/lib/white_gold/tgui-abi.rb +8 -13
  34. data/lib/white_gold/version.rb +1 -1
  35. data/lib/white_gold.rb +6 -6
  36. metadata +33 -8
  37. data/lib/white_gold/convention/bang_def.rb +0 -19
  38. data/lib/white_gold/convention/bang_nest.rb +0 -26
  39. data/lib/white_gold/convention/bang_nested_caller.rb +0 -81
  40. 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