white_gold 0.0.4 → 0.1.0

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