freightrain 0.5.10 → 0.5.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Rakefile +1 -1
- data/lib/extensions/gtk/dialog_helper.rb +19 -0
- data/lib/extensions/gtk/widgets/gtk_treeview.rb +1 -0
- data/lib/freightrain/binding/freight_binding.rb +3 -3
- data/lib/freightrain/freight_view_model.rb +4 -2
- data/lib/freightrain/regions/freight_region.rb +1 -5
- data/lib/freightrain/services/freight_service.rb +2 -7
- data/lib/freightrain/services/service_host.rb +6 -2
- data/lib/freightrain/signals/signal_host.rb +11 -3
- metadata +2 -2
data/Rakefile
CHANGED
@@ -43,6 +43,25 @@ module Freightrain
|
|
43
43
|
|
44
44
|
end
|
45
45
|
|
46
|
+
def message_dialog(description, secondary_text = "", title = "Information")
|
47
|
+
raise "toplevel not implemented. If you want to use " +
|
48
|
+
"DialogHelper inside your class you should provide " +
|
49
|
+
"a toplevel widget via the toplevel method" unless respond_to? :toplevel
|
50
|
+
result = false
|
51
|
+
dialog = Gtk::MessageDialog.new(
|
52
|
+
toplevel,
|
53
|
+
Gtk::Dialog::MODAL,
|
54
|
+
Gtk::MessageDialog::INFO,
|
55
|
+
Gtk::MessageDialog::BUTTONS_OK,
|
56
|
+
description)
|
57
|
+
dialog.title = title
|
58
|
+
dialog.secondary_text = secondary_text
|
59
|
+
dialog.run
|
60
|
+
dialog.destroy
|
61
|
+
return result
|
62
|
+
|
63
|
+
end
|
64
|
+
|
46
65
|
end #DialogHelper
|
47
66
|
|
48
67
|
end #Toolkit
|
@@ -23,8 +23,10 @@ module Freightrain
|
|
23
23
|
get_services
|
24
24
|
build_regions
|
25
25
|
create_signals
|
26
|
-
@view.
|
27
|
-
|
26
|
+
@view.hook_to_signals(self)
|
27
|
+
services.each do |service_key|
|
28
|
+
service = instance_variable_get("@#{service_key}")
|
29
|
+
service.hook_to_signals(self, service_key)
|
28
30
|
end
|
29
31
|
@view.data_source = self
|
30
32
|
end
|
@@ -20,11 +20,7 @@ module Freightrain
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def connect_to(host)
|
23
|
-
@viewmodel.
|
24
|
-
if host.respond_to? "#{@name.to_s}_on_#{key.to_s}".to_sym
|
25
|
-
signal.connect(host.method("#{@name.to_s}_on_#{key.to_s}".to_sym))
|
26
|
-
end
|
27
|
-
end
|
23
|
+
@viewmodel.hook_to_signals(host, @name.to_s)
|
28
24
|
end
|
29
25
|
|
30
26
|
end
|
@@ -12,15 +12,10 @@ module Freightrain
|
|
12
12
|
|
13
13
|
def initialize
|
14
14
|
get_services
|
15
|
-
create_signals
|
16
|
-
services = self.class.instance_variable_get(:@services)
|
17
|
-
services ||= []
|
15
|
+
create_signals
|
18
16
|
services.each do |service_key|
|
19
17
|
service = instance_variable_get("@#{service_key}")
|
20
|
-
service.
|
21
|
-
method_name = "#{service_key}_on_#{signal_key}"
|
22
|
-
signal.connect(method_name) if self.respond_to?(method_name)
|
23
|
-
end
|
18
|
+
service.hook_to_signals(self, service_key)
|
24
19
|
end
|
25
20
|
end
|
26
21
|
|
@@ -15,7 +15,11 @@ module Freightrain
|
|
15
15
|
service_instance = Freightrain["#{service}_service".to_sym]
|
16
16
|
instance_variable_set("@#{service}".to_sym, service_instance)
|
17
17
|
end
|
18
|
-
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def services
|
21
|
+
return self.class.instance_variable_get(:@services) || []
|
22
|
+
end
|
19
23
|
|
20
24
|
end
|
21
25
|
end
|
@@ -23,7 +27,7 @@ module Freightrain
|
|
23
27
|
def service(name)
|
24
28
|
@services ||= []
|
25
29
|
@services << name.to_sym
|
26
|
-
end
|
30
|
+
end
|
27
31
|
|
28
32
|
end
|
29
33
|
|
@@ -18,13 +18,21 @@ module Freightrain
|
|
18
18
|
|
19
19
|
def create_signals
|
20
20
|
@signals = {}
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
signal_keys = self.class.instance_variable_get(:@signals)
|
22
|
+
signal_keys ||= []
|
23
|
+
signal_keys.each do |signal|
|
24
24
|
@signals[signal] = FreightSignal.new
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
+
def hook_to_signals(host, prefix = nil)
|
29
|
+
@signals.each do |signal_key, signal|
|
30
|
+
method_name = "on_#{signal_key}"
|
31
|
+
method_name = "#{prefix}_#{method_name}" if prefix
|
32
|
+
signal.connect(host.method(method_name)) if host.respond_to?(method_name)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
28
36
|
|
29
37
|
end
|
30
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freightrain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrea Dallera
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2010-03-
|
12
|
+
date: 2010-03-09 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|