Class: Freightrain::FreightView
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from SignalHost
extended, signal
classes, container_options, extended, inherited, subclasses
#bindings, #commit, #data_source=, #load_bindings_from_file
#load_from_file
Constructor Details
Returns a new instance of FreightView.
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/freightrain/views/freight_view.rb', line 46
def initialize()
create_signals
@widgets = []
if(Freightrain.toolkit)
self.class.instance_eval("include Toolkit::DialogHelper")
if builder != :none
@builder = Freightrain.get_interface_builder
else
@builder = CodeInterfaceBuilder.new
end
load_from_file(self.class.name, @builder)
end
hook_to_layout_widgets()
load_bindings_from_file(@widgets)
end
|
Class Method Details
.builder(config_value) ⇒ Object
38
39
40
|
# File 'lib/freightrain/views/freight_view.rb', line 38
def self.builder(config_value)
@builder_to_use = config_value
end
|
.container_options ⇒ Object
20
21
22
|
# File 'lib/freightrain/views/freight_view.rb', line 20
def self.container_options
return {:model => :prototype}
end
|
Instance Method Details
#builder ⇒ Object
42
43
44
|
# File 'lib/freightrain/views/freight_view.rb', line 42
def builder
return self.class.instance_variable_get(:@builder_to_use) || Freightrain::Toolkit.default_builder
end
|
#control ⇒ Object
24
25
26
|
# File 'lib/freightrain/views/freight_view.rb', line 24
def control
return @builder.control
end
|
#get_all_callbacks ⇒ Object
14
15
16
17
18
|
# File 'lib/freightrain/views/freight_view.rb', line 14
def get_all_callbacks
return self.methods.select do |method_name|
method_name =~ /_on_/i
end.map { |method_name| CallbackWrapper.new(method(method_name)) }
end
|
62
63
64
65
66
67
68
69
70
|
# File 'lib/freightrain/views/freight_view.rb', line 62
def hook_to_layout_widgets
@widgets.select{ |widget| widget.is_a? LayoutWidget }.each do |widget|
method_prefix = widget.name + "_on_"
self.methods.select { |method_name| method_name =~ /#{method_prefix}/}.each do |method_name|
signal_name = method_name.to_s.sub(method_prefix, "")
widget.add_signal_callback(signal_name.to_sym, method(method_name))
end
end
end
|
#toplevel ⇒ Object
34
35
36
|
# File 'lib/freightrain/views/freight_view.rb', line 34
def toplevel
return control.toplevel
end
|
#update ⇒ Object
28
29
30
31
32
|
# File 'lib/freightrain/views/freight_view.rb', line 28
def update
@signals.values.each { |signal| signal.stifle }
bindings.each { |binding| binding.update }
@signals.values.each { |signal| signal.unleash }
end
|
10
11
12
|
# File 'lib/freightrain/views/freight_view.rb', line 10
def widgets
return @widgets.select { |widget| widget.kind_of? BindingBase }
end
|