Class: Tgui::TreeView
- Inherits:
-
Widget
show all
- Defined in:
- lib/white_gold/dsl/tree_view.rb,
lib/white_gold/generated/tgui-abi-loader.gf.rb
Defined Under Namespace
Classes: Item, SignalItemHierarchy, Theme, TreeNode
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 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
Methods included from BangDef
#def!
#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) ⇒ TreeView
Returns a new instance of TreeView.
1771
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1771
def initialize(*a, pointer: nil); Abi.call_arg_map! a; super(pointer: pointer || Abi.ABI_TreeView_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
#[](*path) ⇒ Object
141
142
143
|
# File 'lib/white_gold/dsl/tree_view.rb', line 141
def [](*path)
Item.new self, path
end
|
#_abi_add_item(*a) ⇒ Object
1772
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1772
def _abi_add_item(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_addItem(@pointer, *a); end
|
#_abi_collapse(*a) ⇒ Object
1775
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1775
def _abi_collapse(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_collapse(@pointer, *a); end
|
#_abi_collapse_all(*a) ⇒ Object
1776
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1776
def _abi_collapse_all(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_collapseAll(@pointer, *a); end
|
#_abi_deselect_item(*a) ⇒ Object
1778
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1778
def _abi_deselect_item(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_deselectItem(@pointer, *a); end
|
#_abi_expand(*a) ⇒ Object
1773
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1773
def _abi_expand(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_expand(@pointer, *a); end
|
#_abi_expand_all(*a) ⇒ Object
1774
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1774
def _abi_expand_all(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_expandAll(@pointer, *a); end
|
1788
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1788
def _abi_get_horizontal_scrollbar_value(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_getHorizontalScrollbarValue(@pointer, *a); end
|
#_abi_get_item_height(*a) ⇒ Object
1784
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1784
def _abi_get_item_height(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_getItemHeight(@pointer, *a); end
|
#_abi_get_nodes(*a) ⇒ Object
1782
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1782
def _abi_get_nodes(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_getNodes(@pointer, *a); end
|
#_abi_get_selected_item(*a) ⇒ Object
1781
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1781
def _abi_get_selected_item(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_getSelectedItem(@pointer, *a); end
|
1786
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1786
def _abi_get_vertical_scrollbar_value(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_getVerticalScrollbarValue(@pointer, *a); end
|
#_abi_on_collapse(*a) ⇒ Object
1792
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1792
def _abi_on_collapse(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_onCollapse(@pointer, *a); end
|
#_abi_on_double_click(*a) ⇒ Object
1790
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1790
def _abi_on_double_click(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_onDoubleClick(@pointer, *a); end
|
#_abi_on_expand(*a) ⇒ Object
1791
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1791
def _abi_on_expand(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_onExpand(@pointer, *a); end
|
#_abi_on_item_select(*a) ⇒ Object
1789
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1789
def _abi_on_item_select(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_onItemSelect(@pointer, *a); end
|
#_abi_on_right_click(*a) ⇒ Object
1793
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1793
def _abi_on_right_click(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_onRightClick(@pointer, *a); end
|
#_abi_remove_all_items(*a) ⇒ Object
1780
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1780
def _abi_remove_all_items(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_removeAllItems(@pointer, *a); end
|
#_abi_remove_item(*a) ⇒ Object
1779
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1779
def _abi_remove_item(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_removeItem(@pointer, *a); end
|
#_abi_select_item(*a) ⇒ Object
1777
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1777
def _abi_select_item(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_selectItem(@pointer, *a); end
|
1787
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1787
def _abi_set_horizontal_scrollbar_value(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_setHorizontalScrollbarValue(@pointer, *a); end
|
#_abi_set_item_height(*a) ⇒ Object
1783
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1783
def _abi_set_item_height(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_setItemHeight(@pointer, *a); end
|
1785
|
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1785
def _abi_set_vertical_scrollbar_value(*a); Abi.call_arg_map! a; Abi.ABI_TreeView_setVerticalScrollbarValue(@pointer, *a); end
|
137
138
139
|
# File 'lib/white_gold/dsl/tree_view.rb', line 137
def items
self_collect_items self_tree
end
|
#items=(items) ⇒ Object
133
134
135
|
# File 'lib/white_gold/dsl/tree_view.rb', line 133
def items=(items)
self_items items
end
|
#remove(*path) ⇒ Object
145
146
147
|
# File 'lib/white_gold/dsl/tree_view.rb', line 145
def remove *path
self[*path].remove
end
|
158
159
160
|
# File 'lib/white_gold/dsl/tree_view.rb', line 158
def selected
selected_item&.object
end
|
#selected=(path) ⇒ Object
149
150
151
|
# File 'lib/white_gold/dsl/tree_view.rb', line 149
def selected=(path)
self[*path].selected = true
end
|
#selected_item ⇒ Object
153
154
155
156
|
# File 'lib/white_gold/dsl/tree_view.rb', line 153
def selected_item
path = self_selected_item_path
path.empty? ? nil : Item.new(self, self_tree.path_str_to_object(path))
end
|
#self_add_item(path, object, **na, &b) ⇒ Object
191
192
193
194
195
196
197
198
199
|
# File 'lib/white_gold/dsl/tree_view.rb', line 191
def self_add_item path, object, **na, &b
new_path = [*path, object]
self_path_block new_path do
_abi_add_item _1, _2, abi_pack_boolean(true)
self_tree[*_3, grow: true].object = object
end
item = Item.new self, new_path
upon! item, **na, &b
end
|
#self_collect_items(tree_node) ⇒ Object
186
187
188
|
# File 'lib/white_gold/dsl/tree_view.rb', line 186
def self_collect_items tree_node
tree_node.nodes.map{|k, v| [v.object, self_collect_items(v)]}.to_h
end
|
#self_items(items, path = []) ⇒ Object
179
180
181
182
183
184
|
# File 'lib/white_gold/dsl/tree_view.rb', line 179
def self_items items, path = []
items.each do |k, v|
self_add_item path, k
self_items v, [*path, k] if v.is_a? Hash
end
end
|
#self_path_block(path, &b) ⇒ Object
201
202
203
204
|
# File 'lib/white_gold/dsl/tree_view.rb', line 201
def self_path_block path, &b
path = path.map(&format)
b.(*abi_pack(String.., *path), path)
end
|