Class: Tgui::FileDialog

Inherits:
ChildWindow show all
Defined in:
lib/white_gold/dsl/file_dialog.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 ChildWindow

#_abi_close, #_abi_destroy, #_abi_get_client_size, #_abi_get_maximum_size, #_abi_get_minimum_size, #_abi_get_title, #_abi_get_title_alignment, #_abi_get_title_buttons, #_abi_get_title_text_size, #_abi_is_kept_in_parent, #_abi_is_position_locked, #_abi_is_resizable, #_abi_on_close, #_abi_on_closing, #_abi_on_escape_key_press, #_abi_on_maximize, #_abi_on_minimize, #_abi_on_mouse_press, #_abi_set_client_size, #_abi_set_keep_in_parent, #_abi_set_maximum_size, #_abi_set_minimum_size, #_abi_set_position_locked, #_abi_set_resizable, #_abi_set_title, #_abi_set_title_alignment, #_abi_set_title_buttons, #_abi_set_title_text_size, #close

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, #get, #move_at, #move_back, #move_front, #self_get_widget_name, #widgets

Methods included from WidgetOwner

#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

Methods included from BangNestedCaller

#bang_method_missing, #bang_object_stack, #bang_respond_to?, #self!, #upon!

Methods inherited from ExternObject

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) ⇒ FileDialog

Returns a new instance of FileDialog.



1459
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1459

def initialize(*a, pointer: nil);    Abi.call_arg_map! a; super(pointer: pointer || Abi.ABI_FileDialog_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

#_abi_get_allow_create_folder(*a) ⇒ Object



1475
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1475

def _abi_get_allow_create_folder(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getAllowCreateFolder(@pointer, *a); end

#_abi_get_cancel_button_text(*a) ⇒ Object



1471
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1471

def _abi_get_cancel_button_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getCancelButtonText(@pointer, *a); end

#_abi_get_confirm_button_text(*a) ⇒ Object



1469
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1469

def _abi_get_confirm_button_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getConfirmButtonText(@pointer, *a); end

#_abi_get_create_folder_button_text(*a) ⇒ Object



1473
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1473

def _abi_get_create_folder_button_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getCreateFolderButtonText(@pointer, *a); end

#_abi_get_file_must_exist(*a) ⇒ Object



1481
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1481

def _abi_get_file_must_exist(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getFileMustExist(@pointer, *a); end

#_abi_get_file_type_filters(*a) ⇒ Object



1466
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1466

def _abi_get_file_type_filters(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getFileTypeFilters(@pointer, *a); end

#_abi_get_file_type_filters_index(*a) ⇒ Object



1467
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1467

def _abi_get_file_type_filters_index(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getFileTypeFiltersIndex(@pointer, *a); end

#_abi_get_filename(*a) ⇒ Object



1464
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1464

def _abi_get_filename(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getFilename(@pointer, *a); end

#_abi_get_filename_label_text(*a) ⇒ Object



1477
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1477

def _abi_get_filename_label_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getFilenameLabelText(@pointer, *a); end

#_abi_get_list_view_column_captions(*a) ⇒ Object



1479
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1479

def _abi_get_list_view_column_captions(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getListViewColumnCaptions(@pointer, *a); end

#_abi_get_multi_select(*a) ⇒ Object



1485
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1485

def _abi_get_multi_select(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getMultiSelect(@pointer, *a); end

#_abi_get_path(*a) ⇒ Object



1462
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1462

def _abi_get_path(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getPath(@pointer, *a); end

#_abi_get_selected_paths(*a) ⇒ Object



1460
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1460

def _abi_get_selected_paths(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getSelectedPaths(@pointer, *a); end

#_abi_get_selecting_directory(*a) ⇒ Object



1483
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1483

def _abi_get_selecting_directory(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_getSelectingDirectory(@pointer, *a); end

#_abi_on_cancel(*a) ⇒ Object



1487
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1487

def _abi_on_cancel(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_onCancel(@pointer, *a); end

#_abi_on_file_select(*a) ⇒ Object



1486
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1486

def _abi_on_file_select(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_onFileSelect(@pointer, *a); end

#_abi_set_allow_create_folder(*a) ⇒ Object



1474
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1474

def _abi_set_allow_create_folder(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setAllowCreateFolder(@pointer, *a); end

#_abi_set_cancel_button_text(*a) ⇒ Object



1470
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1470

def _abi_set_cancel_button_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setCancelButtonText(@pointer, *a); end

#_abi_set_confirm_button_text(*a) ⇒ Object



1468
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1468

def _abi_set_confirm_button_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setConfirmButtonText(@pointer, *a); end

#_abi_set_create_folder_button_text(*a) ⇒ Object



1472
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1472

def _abi_set_create_folder_button_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setCreateFolderButtonText(@pointer, *a); end

#_abi_set_file_must_exist(*a) ⇒ Object



1480
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1480

def _abi_set_file_must_exist(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setFileMustExist(@pointer, *a); end

#_abi_set_file_type_filters(*a) ⇒ Object



1465
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1465

def _abi_set_file_type_filters(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setFileTypeFilters(@pointer, *a); end

#_abi_set_filename(*a) ⇒ Object



1463
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1463

def _abi_set_filename(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setFilename(@pointer, *a); end

#_abi_set_filename_label_text(*a) ⇒ Object



1476
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1476

def _abi_set_filename_label_text(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setFilenameLabelText(@pointer, *a); end

#_abi_set_list_view_column_captions(*a) ⇒ Object



1478
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1478

def _abi_set_list_view_column_captions(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setListViewColumnCaptions(@pointer, *a); end

#_abi_set_multi_select(*a) ⇒ Object



1484
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1484

def _abi_set_multi_select(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setMultiSelect(@pointer, *a); end

#_abi_set_path(*a) ⇒ Object



1461
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1461

def _abi_set_path(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setPath(@pointer, *a); end

#_abi_set_selecting_directory(*a) ⇒ Object



1482
# File 'lib/white_gold/generated/tgui-abi-loader.gf.rb', line 1482

def _abi_set_selecting_directory(*a);    Abi.call_arg_map! a; Abi.ABI_FileDialog_setSelectingDirectory(@pointer, *a); end

#file_type_filterObject



36
37
38
39
40
# File 'lib/white_gold/dsl/file_dialog.rb', line 36

def file_type_filter
  filters = file_type_filters
  key = filters.keys[_abi_get_file_type_filters_index]
  key ? {key => filters[key]} : {} # empty filter = pass all
end

#file_type_filtersObject



26
27
28
29
30
31
32
33
34
# File 'lib/white_gold/dsl/file_dialog.rb', line 26

def file_type_filters
  data = Hash.new{|h, k| h[k] = [] }
  block_caller = Fiddle::Closure::BlockCaller.new(0, [Fiddle::TYPE_INT, Fiddle::TYPE_VOIDP, Fiddle::TYPE_VOIDP]) do |i, b, f|
    data[abi_unpack_string b] << abi_unpack_string(f)
  end
  _abi_get_file_type_filters block_caller
  data.default_proc = nil
  return data
end

#file_type_filters=(filters) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/white_gold/dsl/file_dialog.rb', line 10

def file_type_filters=(filters)
  length_it = filters.values.map(&:size).each
  length_block_caller = Fiddle::Closure::BlockCaller.new(Fiddle::TYPE_INT, [0]) do
    length_it.next
  rescue StopIteration
    0
  end
  filter_it = filters.map{|k, v| [k, *v] }.flatten.each
  filter_block_caller = Fiddle::Closure::BlockCaller.new(Fiddle::TYPE_CONST_STRING, [0]) do
    abi_pack_string filter_it.next
  rescue StopIteration
    ""
  end
  _abi_set_file_type_filters filters.size, length_block_caller, filter_block_caller, 0
end

#modified_labelObject



69
70
71
# File 'lib/white_gold/dsl/file_dialog.rb', line 69

def modified_label
  list_view_column_captions[2]
end

#modified_label=(label) ⇒ Object



65
66
67
# File 'lib/white_gold/dsl/file_dialog.rb', line 65

def modified_label=(label)
  self_change_list_view_column_caption 2, label
end

#name_labelObject



53
54
55
# File 'lib/white_gold/dsl/file_dialog.rb', line 53

def name_label
  list_view_column_captions[0] 
end

#name_label=(label) ⇒ Object



49
50
51
# File 'lib/white_gold/dsl/file_dialog.rb', line 49

def name_label=(label)
  self_change_list_view_column_captions 0, label
end

#self_change_list_view_column_caption(column, caption) ⇒ Object



80
81
82
83
84
# File 'lib/white_gold/dsl/file_dialog.rb', line 80

def self_change_list_view_column_caption column, caption
  captions = list_view_column_captions
  captions[column] = abi_pack_string caption
  _abi_set_list_view_column_captions *captions
end

#size_labelObject



61
62
63
# File 'lib/white_gold/dsl/file_dialog.rb', line 61

def size_label
  list_view_column_captions[1]
end

#size_label=(label) ⇒ Object



57
58
59
# File 'lib/white_gold/dsl/file_dialog.rb', line 57

def size_label=(label)
  self_change_list_view_column_caption 1, label
end