Class: Tgui::Grid
- Inherits:
-
Container
show all
- Defined in:
- lib/white_gold/dsl/grid.rb,
lib/white_gold/generated/tgui-abi-loader.gf.rb
Constant Summary
Constants included
from ApiChild
ApiChild::API_CHILD_PREFIX
Instance Attribute Summary
Attributes inherited from Widget
#page
Attributes inherited from ExternObject
#pointer
Instance Method Summary
collapse
Methods inherited from Container
#_abi_add, #_abi_focus_next_widget, #_abi_focus_previous_widget, #_abi_get, #_abi_get_child_widgets_offset, #_abi_get_focused_child, #_abi_get_focused_leaf, #_abi_get_inner_size, #_abi_get_widget_at_position, #_abi_get_widget_index, #_abi_get_widgets, #_abi_move_widget_backward, #_abi_move_widget_forward, #_abi_move_widget_to_back, #_abi_move_widget_to_front, #_abi_remove, #_abi_remove_all_widgets, #_abi_set_widget_index, #abi_pack_widget, #abi_unpack_widget, #common_widget_post_initialize, #move_at, #move_back, #move_front
#child_methods, #common_widget_nest, #equip_child_widget
Methods included from BangDef
#def!
Methods inherited from Widget
#_abi_ask_tool_tip, #_abi_can_gain_focus, _abi_finalizer, #_abi_finish_all_animations, #_abi_get_absolute_position, #_abi_get_boolean_renderer_property, #_abi_get_color_renderer_property, #_abi_get_float_renderer_property, #_abi_get_font_renderer_property, #_abi_get_full_size, #_abi_get_mouse_cursor, #_abi_get_name, #_abi_get_outline_renderer_property, #_abi_get_position, #_abi_get_size, #_abi_get_string_renderer_property, #_abi_get_text_size, #_abi_get_text_styles_renderer_property, #_abi_get_texture_renderer_property, #_abi_get_tool_tip, _abi_get_type, _abi_get_unshared, #_abi_get_widget_name, #_abi_hide_with_effect, #_abi_is_animation_playing, #_abi_is_container, #_abi_is_enabled, #_abi_is_focusable, #_abi_is_focused, #_abi_is_mouse_down, #_abi_is_visible, #_abi_key_pressed, #_abi_left_mouse_pressed, #_abi_left_mouse_released, #_abi_mouse_moved, #_abi_move_to_back, #_abi_move_to_front, #_abi_move_with_animation, #_abi_on_animation_finish, #_abi_on_focus, #_abi_on_mouse_enter, #_abi_on_mouse_leave, #_abi_on_position_change, #_abi_on_show_effect_finish, #_abi_on_size_change, #_abi_on_unfocus, #_abi_resize_with_animation, #_abi_right_mouse_pressed, #_abi_right_mouse_released, #_abi_scrolled, #_abi_set_boolean_renderer_property, #_abi_set_color_renderer_property, #_abi_set_enabled, #_abi_set_float_renderer_property, #_abi_set_focusable, #_abi_set_focused, #_abi_set_font_renderer_property, #_abi_set_height, #_abi_set_mouse_cursor, #_abi_set_outline_renderer_property, #_abi_set_position, #_abi_set_renderer, #_abi_set_size, #_abi_set_string_renderer_property, #_abi_set_text_size, #_abi_set_text_styles_renderer_property, #_abi_set_texture_renderer_property, #_abi_set_tool_tip, #_abi_set_visible, #_abi_set_widget_name, #_abi_set_width, #_abi_show_with_effect, #_abi_text_entered, api_attr, finalizer, #flags=, #height, #hide, #method_missing, #pack_animation_time, #renderer=, #respond_to?, #self_cast_up, self_renderer, #show, #theme_comp, #visible=, #width, #window
Methods included from ApiChild
#api_child
#bang_method_missing, #bang_object_stack, #bang_respond_to?, #self!, #upon!
abi_attr, abi_bit_enum, abi_def, abi_enum, #abi_pack, abi_signal, abi_static, #abi_unpack, callback_storage, callback_storage=, data_storage=, finalizer, global_callback_storage, global_callback_storage=, #initialized, self_abi_def, self_abi_def_setter
Methods included from Packer
#abi_pack, #abi_packer, #abi_packer_method_name
Methods included from Unpacker
#abi_unpack, #abi_unpacker, #abi_unpacker_method_name
Constructor Details
#initialize(*a, pointer: nil) ⇒ Grid
Returns a new instance of Grid.
1293
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1293
def initialize(*a, pointer: nil); Abi.call_arg_map! a; super(pointer: pointer || Abi.ABI_Grid_new(*a)); initialized(); end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Tgui::Widget
Instance Method Details
1297
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1297
def _abi_get_widget(*a); Abi.call_arg_map! a; Abi.ABI_Grid_getWidget(@pointer, *a); end
|
1301
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1301
def _abi_get_widget_alignment(*a); Abi.call_arg_map! a; Abi.ABI_Grid_getWidgetAlignment(@pointer, *a); end
|
1302
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1302
def _abi_get_widget_locations(*a); Abi.call_arg_map! a; Abi.ABI_Grid_getWidgetLocations(@pointer, *a); end
|
1299
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1299
def _abi_get_widget_padding(*a); Abi.call_arg_map! a; Abi.ABI_Grid_getWidgetPadding(@pointer, *a); end
|
#_abi_is_auto_size(*a) ⇒ Object
1295
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1295
def _abi_is_auto_size(*a); Abi.call_arg_map! a; Abi.ABI_Grid_isAutoSize(@pointer, *a); end
|
#_abi_set_auto_size(*a) ⇒ Object
1294
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1294
def _abi_set_auto_size(*a); Abi.call_arg_map! a; Abi.ABI_Grid_setAutoSize(@pointer, *a); end
|
1300
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1300
def _abi_set_widget_alignment(*a); Abi.call_arg_map! a; Abi.ABI_Grid_setWidgetAlignment(@pointer, *a); end
|
1296
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1296
def _abi_set_widget_cell(*a); Abi.call_arg_map! a; Abi.ABI_Grid_setWidgetCell(@pointer, *a); end
|
1298
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1298
def _abi_set_widget_padding(*a); Abi.call_arg_map! a; Abi.ABI_Grid_setWidgetPadding(@pointer, *a); end
|
#add(widget, id) ⇒ Object
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/white_gold/dsl/grid.rb', line 85
def add widget, id
super
_abi_set_widget_cell abi_pack_widget(widget), *cell
_abi_set_widget_alignment abi_pack_widget(widget), abi_pack(Alignment, alignment) if alignment
_abi_set_widget_padding abi_pack_widget(widget), abi_pack(Outline, *padding) if padding
if direction == :column
next_column false
else
next_row false
end
end
|
#get(*keys) ⇒ Object
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
# File 'lib/white_gold/dsl/grid.rb', line 97
def get(*keys)
case keys
in [Symbol]
id = page.clubs[keys.first]&.members&.first
id && self_cast_up(_abi_get(abi_pack_string id))
in [Integer, Integer]
self_cast_up(_abi_get_widget *keys)
else
Enumerator.new do |e|
Array(self_get_widget_name keys).flatten.compact.uniq.each do |id|
w = _abi_get(abi_pack_string id)
e << self_cast_up(w) if w && !w.null?
end
end
end
end
|
#next_column(reset_row = true) ⇒ Object
62
63
64
65
|
# File 'lib/white_gold/dsl/grid.rb', line 62
def next_column reset_row = true
c = cell
self.cell = [reset_row ? 0 : c[0], c[1] + 1]
end
|
#next_row(reset_column = true) ⇒ Object
53
54
55
56
|
# File 'lib/white_gold/dsl/grid.rb', line 53
def next_row reset_column = true
c = cell
self.cell = [c[0] + 1, reset_column ? 0 : c[1]]
end
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# File 'lib/white_gold/dsl/grid.rb', line 116
def self_get_widget_name a
case a
in Widget
a.name
in [Integer, Integer]
w = _abi_get_widget *a
return nil if w.null?
self_cast_up(w, equip: false).name
in Enumerable
a.map{ self_get_widget_name _1 }.flatten
else
page.clubs[a]&.members
end
end
|
75
76
77
78
79
80
81
82
83
|
# File 'lib/white_gold/dsl/grid.rb', line 75
def widgets
widgets = {}
block_caller = Fiddle::Closure::BlockCaller.new(0,
[Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP, Fiddle::TYPE_INT, Fiddle::TYPE_INT]) do |pointer, type, row, column|
widgets[[row, column]] = self_cast_up(pointer, abi_unpack_string(type))
end
_abi_get_widget_locations block_caller
return widgets
end
|