Class: Tgui::MessageBox

Inherits:
ChildWindow show all
Defined in:
lib/white_gold/dsl/message_box.rb,
lib/white_gold/generated/tgui-abi-loader.gf.rb

Defined Under Namespace

Classes: Button, Theme

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=, 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) ⇒ MessageBox

Returns a new instance of MessageBox.



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

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

#[](object) ⇒ Object



58
59
60
# File 'lib/white_gold/dsl/message_box.rb', line 58

def [](object)
  self_buttons.values.find{ _1.id == object }
end

#_abi_add_button(*a) ⇒ Object



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

def _abi_add_button(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_addButton(@pointer, *a); end

#_abi_change_buttons(*a) ⇒ Object



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

def _abi_change_buttons(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_changeButtons(@pointer, *a); end

#_abi_get_button_alignment(*a) ⇒ Object



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

def _abi_get_button_alignment(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_getButtonAlignment(@pointer, *a); end

#_abi_get_buttons(*a) ⇒ Object



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

def _abi_get_buttons(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_getButtons(@pointer, *a); end

#_abi_get_label_alignment(*a) ⇒ Object



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

def _abi_get_label_alignment(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_getLabelAlignment(@pointer, *a); end

#_abi_get_text(*a) ⇒ Object



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

def _abi_get_text(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_getText(@pointer, *a); end

#_abi_on_button_press(*a) ⇒ Object



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

def _abi_on_button_press(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_onButtonPress(@pointer, *a); end

#_abi_set_button_alignment(*a) ⇒ Object



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

def _abi_set_button_alignment(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_setButtonAlignment(@pointer, *a); end

#_abi_set_label_alignment(*a) ⇒ Object



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

def _abi_set_label_alignment(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_setLabelAlignment(@pointer, *a); end

#_abi_set_text(*a) ⇒ Object



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

def _abi_set_text(*a);    Abi.call_arg_map! a; Abi.ABI_MessageBox_setText(@pointer, *a); end

#buttonsObject



79
80
81
# File 'lib/white_gold/dsl/message_box.rb', line 79

def buttons
  self_buttons.values.map{ _1.id }
end

#buttons=(buttons) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/white_gold/dsl/message_box.rb', line 66

def buttons=(buttons)
  self.self_buttons = {}
  names = buttons.map do |object, on_press|
    text = object.then(&format)
    raise "Button with given text exists (#{text})" if self_buttons[text]
    button = Button.new self, object
    button.on_press = on_press
    self_buttons[text] = button
    text
  end
  self_change_buttons names
end

#initializedObject



23
24
25
26
27
# File 'lib/white_gold/dsl/message_box.rb', line 23

def initialized
  on_button_press do |button, widget|
    self_buttons[button]&.press_signal_execute
  end
end

#remove_buttonsObject



62
63
64
# File 'lib/white_gold/dsl/message_box.rb', line 62

def remove_buttons
  self.buttons = {}
end