Module: Glimmer::UI::CustomShell
Defined Under Namespace
Modules: ClassMethods
Instance Attribute Summary
Attributes included from CustomWidget
#body_root, #options, #parent, #swt_style
Class Method Summary
collapse
Instance Method Summary
collapse
add_custom_widget_namespaces_for, #add_observer, #async_exec, #attribute_setter, #can_add_observer?, #can_handle_observation_request?, #content, custom_widget_namespaces, for, #get_attribute, #handle_observation_request, #has_attribute?, #has_instance_method?, #has_style?, #local_respond_to?, #method_missing, namespaces_for_class, #post_initialize_child, reset_custom_widget_namespaces, #respond_to?, #set_attribute, #sync_exec
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Glimmer::UI::CustomWidget
Class Method Details
.encoded_request_parameter_string ⇒ Object
55
56
57
|
# File 'lib/glimmer/ui/custom_shell.rb', line 55
def encoded_request_parameter_string
`document.location.href`.match(/\?(.*)$/).to_a[1].to_s
end
|
.included(klass) ⇒ Object
42
43
44
45
46
47
48
49
|
# File 'lib/glimmer/ui/custom_shell.rb', line 42
def included(klass)
klass.extend(CustomWidget::ClassMethods)
klass.extend(CustomShell::ClassMethods)
klass.include(Glimmer)
Glimmer::UI::CustomWidget.add_custom_widget_namespaces_for(klass)
keyword = klass.name.split(':').last.underscore
LocalStorage[keyword] = $LOADED_FEATURES.last
end
|
.request_parameter_string ⇒ Object
51
52
53
|
# File 'lib/glimmer/ui/custom_shell.rb', line 51
def request_parameter_string
URI.decode_www_form_component(`document.location.href`.match(/\?(.*)$/).to_a[1].to_s)
end
|
.requested? ⇒ Boolean
63
64
65
|
# File 'lib/glimmer/ui/custom_shell.rb', line 63
def requested?
request_parameter_string.include?('custom_shell=')
end
|
.requested_and_not_handled? ⇒ Boolean
59
60
61
|
# File 'lib/glimmer/ui/custom_shell.rb', line 59
def requested_and_not_handled?
requested? && !request_parameter_string.include?('custom_shell_handled=true')
end
|
Instance Method Details
#center ⇒ Object
102
103
104
|
# File 'lib/glimmer/ui/custom_shell.rb', line 102
def center
body_root.center
end
|
#close ⇒ Object
90
91
92
|
# File 'lib/glimmer/ui/custom_shell.rb', line 90
def close
body_root.close
end
|
#hide ⇒ Object
94
95
96
|
# File 'lib/glimmer/ui/custom_shell.rb', line 94
def hide
body_root.hide
end
|
#initialize(parent, args, options, &content) ⇒ Object
68
69
70
71
|
# File 'lib/glimmer/ui/custom_shell.rb', line 68
def initialize(parent, args, options, &content)
super(parent, args, options, &content)
raise Error, 'Invalid custom shell body root! Must be a shell or another custom shell.' unless body_root.is_a?(Glimmer::SWT::ShellProxy) || body_root.is_a?(Glimmer::UI::CustomShell)
end
|
#open(async: true) ⇒ Object
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/glimmer/ui/custom_shell.rb', line 73
def open(async: true)
work = lambda do
body_root.open
end
if async
Glimmer::SWT::DisplayProxy.instance.async_exec(&work)
else
work.call
end
end
|
#show ⇒ Object
DO NOT OVERRIDE. JUST AN ALIAS FOR ‘#open`. OVERRIDE `#open` INSTEAD.
86
87
88
|
# File 'lib/glimmer/ui/custom_shell.rb', line 86
def show
open
end
|
#start_event_loop ⇒ Object
106
107
108
|
# File 'lib/glimmer/ui/custom_shell.rb', line 106
def start_event_loop
body_root.start_event_loop
end
|
#visible? ⇒ Boolean
98
99
100
|
# File 'lib/glimmer/ui/custom_shell.rb', line 98
def visible?
body_root.visible?
end
|