Class: Ruflet::UI::Controls::RufletComponents::WindowControl

Inherits:
Control
  • Object
show all
Defined in:
lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb

Constant Summary collapse

TYPE =
"window".freeze
WIRE =
"Window".freeze

Constants inherited from Control

Control::HOST_EXPANDED_TYPES

Instance Attribute Summary

Attributes inherited from Control

#children, #id, #props, #runtime_page, #type, #wire_id

Instance Method Summary collapse

Methods inherited from Control

#[], #[]=, #emit, generate_id, #has_handler?, #method_missing, #on, #respond_to_missing?, #to_patch

Constructor Details

#initialize(id: nil, alignment: nil, always_on_bottom: nil, always_on_top: nil, aspect_ratio: nil, badge_label: nil, bgcolor: nil, brightness: nil, data: nil, focused: nil, frameless: nil, full_screen: nil, height: nil, icon: nil, ignore_mouse_events: nil, key: nil, left: nil, max_height: nil, max_width: nil, maximizable: nil, maximized: nil, min_height: nil, min_width: nil, minimizable: nil, minimized: nil, movable: nil, opacity: nil, prevent_close: nil, progress_bar: nil, resizable: nil, shadow: nil, skip_task_bar: nil, title_bar_buttons_hidden: nil, title_bar_hidden: nil, top: nil, visible: nil, width: nil, on_event: nil) ⇒ WindowControl

Returns a new instance of WindowControl.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 11

def initialize(id: nil, alignment: nil, always_on_bottom: nil, always_on_top: nil, aspect_ratio: nil, badge_label: nil, bgcolor: nil, brightness: nil, data: nil, focused: nil, frameless: nil, full_screen: nil, height: nil, icon: nil, ignore_mouse_events: nil, key: nil, left: nil, max_height: nil, max_width: nil, maximizable: nil, maximized: nil, min_height: nil, min_width: nil, minimizable: nil, minimized: nil, movable: nil, opacity: nil, prevent_close: nil, progress_bar: nil, resizable: nil, shadow: nil, skip_task_bar: nil, title_bar_buttons_hidden: nil, title_bar_hidden: nil, top: nil, visible: nil, width: nil, on_event: nil)
  props = {}
  props[:alignment] = alignment unless alignment.nil?
  props[:always_on_bottom] = always_on_bottom unless always_on_bottom.nil?
  props[:always_on_top] = always_on_top unless always_on_top.nil?
  props[:aspect_ratio] = aspect_ratio unless aspect_ratio.nil?
  props[:badge_label] = badge_label unless badge_label.nil?
  props[:bgcolor] = bgcolor unless bgcolor.nil?
  props[:brightness] = brightness unless brightness.nil?
  props[:data] = data unless data.nil?
  props[:focused] = focused unless focused.nil?
  props[:frameless] = frameless unless frameless.nil?
  props[:full_screen] = full_screen unless full_screen.nil?
  props[:height] = height unless height.nil?
  props[:icon] = icon unless icon.nil?
  props[:ignore_mouse_events] = ignore_mouse_events unless ignore_mouse_events.nil?
  props[:key] = key unless key.nil?
  props[:left] = left unless left.nil?
  props[:max_height] = max_height unless max_height.nil?
  props[:max_width] = max_width unless max_width.nil?
  props[:maximizable] = maximizable unless maximizable.nil?
  props[:maximized] = maximized unless maximized.nil?
  props[:min_height] = min_height unless min_height.nil?
  props[:min_width] = min_width unless min_width.nil?
  props[:minimizable] = minimizable unless minimizable.nil?
  props[:minimized] = minimized unless minimized.nil?
  props[:movable] = movable unless movable.nil?
  props[:opacity] = opacity unless opacity.nil?
  props[:prevent_close] = prevent_close unless prevent_close.nil?
  props[:progress_bar] = progress_bar unless progress_bar.nil?
  props[:resizable] = resizable unless resizable.nil?
  props[:shadow] = shadow unless shadow.nil?
  props[:skip_task_bar] = skip_task_bar unless skip_task_bar.nil?
  props[:title_bar_buttons_hidden] = title_bar_buttons_hidden unless title_bar_buttons_hidden.nil?
  props[:title_bar_hidden] = title_bar_hidden unless title_bar_hidden.nil?
  props[:top] = top unless top.nil?
  props[:visible] = visible unless visible.nil?
  props[:width] = width unless width.nil?
  props[:on_event] = on_event unless on_event.nil?
  super(type: TYPE, id: id, **props)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ruflet::Control

Instance Method Details

#center(timeout: 10, on_result: nil) ⇒ Object



61
62
63
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 61

def center(timeout: 10, on_result: nil)
  invoke_window_method("center", timeout: timeout, on_result: on_result)
end

#close(timeout: 10, on_result: nil) ⇒ Object



65
66
67
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 65

def close(timeout: 10, on_result: nil)
  invoke_window_method("close", timeout: timeout, on_result: on_result)
end

#destroy(timeout: 10, on_result: nil) ⇒ Object



69
70
71
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 69

def destroy(timeout: 10, on_result: nil)
  invoke_window_method("destroy", timeout: timeout, on_result: on_result)
end

#start_dragging(timeout: 10, on_result: nil) ⇒ Object



73
74
75
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 73

def start_dragging(timeout: 10, on_result: nil)
  invoke_window_method("start_dragging", timeout: timeout, on_result: on_result)
end

#start_resizing(edge, timeout: 10, on_result: nil) ⇒ Object



77
78
79
80
81
82
83
84
85
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 77

def start_resizing(edge, timeout: 10, on_result: nil)
  runtime_page&.invoke(
    self,
    "start_resizing",
    args: { "edge" => edge },
    timeout: timeout,
    on_result: on_result
  )
end

#to_front(timeout: 10, on_result: nil) ⇒ Object



57
58
59
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 57

def to_front(timeout: 10, on_result: nil)
  invoke_window_method("to_front", timeout: timeout, on_result: on_result)
end

#wait_until_ready_to_show(timeout: 10, on_result: nil) ⇒ Object



53
54
55
# File 'lib/ruflet_ui/ruflet/ui/controls/shared/window_control.rb', line 53

def wait_until_ready_to_show(timeout: 10, on_result: nil)
  invoke_window_method("wait_until_ready_to_show", timeout: timeout, on_result: on_result)
end