freightrain 0.6.6 → 0.6.7
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/README.rdoc +1 -1
- data/Rakefile +1 -1
- data/lib/extensions/gtk/widgets/gtk_widget.rb +9 -0
- data/lib/extensions/wx/interface_builder.rb +17 -7
- data/lib/extensions/wx/widgets/wx_sizer.rb +12 -0
- data/lib/extensions/wx/wx_bootstrapper.rb +1 -0
- data/lib/freightrain/regions/freight_region.rb +1 -1
- data/lib/freightrain/viewmodels/freight_view_model.rb +7 -2
- metadata +84 -68
data/README.rdoc
CHANGED
@@ -15,7 +15,7 @@ Long story short: you should get the latest version from the ruby/gnome2 svn. At
|
|
15
15
|
== HOW DO I USE IT?
|
16
16
|
For now, you should take a look at http://github.com/bolthar/rubydraulica
|
17
17
|
(broken - callback handling doesn't work like that anymore. doc coming really really soon)
|
18
|
-
|
18
|
+
An up to date example : http://github.com/bolthar/intersect
|
19
19
|
Note that the project is currently in ALPHA state. Use it in production at your own risk :-)
|
20
20
|
|
21
21
|
To get a working stub, install the gem and then:
|
data/Rakefile
CHANGED
@@ -4,6 +4,15 @@ module Gtk
|
|
4
4
|
class Widget
|
5
5
|
include Freightrain::BindingBase
|
6
6
|
|
7
|
+
#made for easier compatibility (other toolkits use show/hide)
|
8
|
+
def show
|
9
|
+
self.visible = true
|
10
|
+
end
|
11
|
+
|
12
|
+
def hide
|
13
|
+
self.visible = false
|
14
|
+
end
|
15
|
+
|
7
16
|
def color_from_rgb(rgb_array)
|
8
17
|
red = rgb_array[0] * 255
|
9
18
|
green = rgb_array[1] * 255
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'rexml/document'
|
1
2
|
|
2
3
|
module Freightrain
|
3
4
|
module Toolkit
|
@@ -21,22 +22,28 @@ module Freightrain
|
|
21
22
|
end
|
22
23
|
|
23
24
|
def create_objects_from_file(file_name)
|
24
|
-
|
25
|
-
|
25
|
+
xrc_file = get_xrc_files(file_name)
|
26
|
+
builder = Wx::XmlResource.new(xrc_file)
|
27
|
+
toplevel_name = get_toplevel_name(xrc_file)
|
26
28
|
@toplevel = builder.load_frame(nil, toplevel_name)
|
27
29
|
return get_all_objects(@toplevel)
|
28
30
|
end
|
29
31
|
|
30
32
|
def create_object_accessors(widgets, view)
|
31
33
|
widgets.each do |widget|
|
32
|
-
view.instance_eval "def #{name}; @widgets.select { |w| w.name == '#{widget.name}' }.first ;end;"
|
34
|
+
view.instance_eval "def #{widget.name}; @widgets.select { |w| w.name == '#{widget.name}' }.first ;end;"
|
33
35
|
end
|
34
36
|
end
|
35
37
|
|
36
38
|
def connect_to_callback(widget, event_name, callback)
|
37
|
-
|
38
|
-
|
39
|
-
|
39
|
+
connector_method_name = "evt_#{event_name}".to_sym
|
40
|
+
if widget.respond_to? connector_method_name
|
41
|
+
connector_method = widget.method(connector_method_name)
|
42
|
+
args = [widget]
|
43
|
+
connector_method.call(*args.take(connector_method.arity.abs - 1)) do |event|
|
44
|
+
callback.call(*[event].take(callback.arity))
|
45
|
+
end
|
46
|
+
end
|
40
47
|
end
|
41
48
|
|
42
49
|
def control
|
@@ -53,7 +60,10 @@ module Freightrain
|
|
53
60
|
end
|
54
61
|
|
55
62
|
def get_toplevel_name(file_name)
|
56
|
-
|
63
|
+
File.open(file_name, "r") do |file|
|
64
|
+
doc = REXML::Document.new(file)
|
65
|
+
return doc.root.children[1].attributes['name']
|
66
|
+
end
|
57
67
|
end
|
58
68
|
|
59
69
|
end
|
@@ -40,16 +40,21 @@ module Freightrain
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def show
|
43
|
-
@view.control.
|
43
|
+
@view.control.show
|
44
44
|
@regions.values.each do |region|
|
45
45
|
region.on_show(@view)
|
46
|
+
region.viewmodel.show
|
46
47
|
end
|
47
48
|
return @view.control
|
48
49
|
end
|
49
50
|
|
50
51
|
def hide
|
51
|
-
@view.control.
|
52
|
+
@view.control.hide
|
52
53
|
end
|
53
54
|
|
55
|
+
def view
|
56
|
+
return @view
|
57
|
+
end
|
58
|
+
|
54
59
|
end
|
55
60
|
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: freightrain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 6
|
8
|
+
- 7
|
9
|
+
version: 0.6.7
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Andrea Dallera
|
@@ -9,29 +14,37 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date: 2010-
|
17
|
+
date: 2010-06-01 00:00:00 +02:00
|
13
18
|
default_executable:
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: require_all
|
17
|
-
|
18
|
-
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
22
|
+
prerelease: false
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
24
|
requirements:
|
21
25
|
- - ">="
|
22
26
|
- !ruby/object:Gem::Version
|
27
|
+
segments:
|
28
|
+
- 1
|
29
|
+
- 1
|
30
|
+
- 0
|
23
31
|
version: 1.1.0
|
24
|
-
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id001
|
25
34
|
- !ruby/object:Gem::Dependency
|
26
35
|
name: needle
|
27
|
-
|
28
|
-
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
38
|
requirements:
|
31
39
|
- - ">="
|
32
40
|
- !ruby/object:Gem::Version
|
41
|
+
segments:
|
42
|
+
- 1
|
43
|
+
- 3
|
44
|
+
- 0
|
33
45
|
version: 1.3.0
|
34
|
-
|
46
|
+
type: :runtime
|
47
|
+
version_requirements: *id002
|
35
48
|
description: ruby desktop development made easy
|
36
49
|
email: andrea@andreadallera.com
|
37
50
|
executables:
|
@@ -44,74 +57,75 @@ files:
|
|
44
57
|
- README.rdoc
|
45
58
|
- Rakefile
|
46
59
|
- bin/ftrain
|
47
|
-
- lib/
|
60
|
+
- lib/scaffolding/commands/triad.rb
|
61
|
+
- lib/scaffolding/commands/app.rb
|
48
62
|
- lib/scaffolding/scaffolding.rb
|
49
63
|
- lib/scaffolding/generator.rb
|
64
|
+
- lib/scaffolding/templates/view_bnd.ftt
|
50
65
|
- lib/scaffolding/templates/view_toplevel.ftt
|
51
|
-
- lib/scaffolding/templates/view_model.ftt
|
52
|
-
- lib/scaffolding/templates/viewmodel_toplevel.ftt
|
53
66
|
- lib/scaffolding/templates/view_toplevel_glade.ftt
|
67
|
+
- lib/scaffolding/templates/view_model.ftt
|
54
68
|
- lib/scaffolding/templates/view_control_glade.ftt
|
55
|
-
- lib/scaffolding/templates/
|
56
|
-
- lib/scaffolding/templates/view_bnd.ftt
|
69
|
+
- lib/scaffolding/templates/viewmodel_toplevel.ftt
|
57
70
|
- lib/scaffolding/templates/view.ftt
|
58
|
-
- lib/scaffolding/
|
59
|
-
- lib/scaffolding/commands/app.rb
|
60
|
-
- lib/extensions/wx/interface_builder.rb
|
61
|
-
- lib/extensions/wx/wx_bootstrapper.rb
|
62
|
-
- lib/extensions/wx/dialog_helper.rb
|
63
|
-
- lib/extensions/gtk/interface_builder.rb
|
64
|
-
- lib/extensions/gtk/dialog_helper.rb
|
65
|
-
- lib/extensions/gtk/widgets/gtk_toggle_button.rb
|
66
|
-
- lib/extensions/gtk/widgets/gtk_toggle_tool_button.rb
|
67
|
-
- lib/extensions/gtk/widgets/gtk_treeview.rb
|
68
|
-
- lib/extensions/gtk/widgets/gtk_widget.rb
|
69
|
-
- lib/extensions/gtk/widgets/gtk_image.rb
|
70
|
-
- lib/extensions/gtk/widgets/gtk_treeviewcolumn.rb
|
71
|
-
- lib/extensions/gtk/widgets/gtk_calendar.rb
|
72
|
-
- lib/extensions/gtk/widgets/gtk_layout.rb
|
73
|
-
- lib/extensions/gtk/widgets/gtk_combo_box.rb
|
74
|
-
- lib/extensions/gtk/widgets/gtk_statusicon.rb
|
75
|
-
- lib/extensions/gtk/gtk_bootstrapper.rb
|
76
|
-
- lib/extensions/qt/interface_builder.rb
|
77
|
-
- lib/extensions/qt/dialog_helper.rb
|
78
|
-
- lib/extensions/qt/widgets/qt_calendar_widget.rb
|
79
|
-
- lib/extensions/qt/widgets/qt_abstract_button.rb
|
80
|
-
- lib/extensions/qt/widgets/qt_base.rb
|
81
|
-
- lib/extensions/qt/widgets/qt_layout.rb
|
82
|
-
- lib/extensions/qt/widgets/qt_line_edit.rb
|
83
|
-
- lib/extensions/qt/widgets/qt_label.rb
|
84
|
-
- lib/extensions/qt/qt_bootstrapper.rb
|
85
|
-
- lib/freightrain/testhelpers/auto_stubber.rb
|
86
|
-
- lib/freightrain/viewmodels/dialog_extension.rb
|
87
|
-
- lib/freightrain/viewmodels/freight_view_model.rb
|
88
|
-
- lib/freightrain/ioc/container.rb
|
89
|
-
- lib/freightrain/ioc/container_hookable.rb
|
90
|
-
- lib/freightrain/testhelpers.rb
|
91
|
-
- lib/freightrain/string_patch.rb
|
92
|
-
- lib/freightrain/regions/freight_region.rb
|
93
|
-
- lib/freightrain/regions/region_host.rb
|
94
|
-
- lib/freightrain/services/freight_service.rb
|
95
|
-
- lib/freightrain/services/service_host.rb
|
96
|
-
- lib/freightrain/binding/converters/float_converter.rb
|
71
|
+
- lib/scaffolding/templates/application.ftt
|
97
72
|
- lib/freightrain/binding/converters/boolean_converter.rb
|
98
|
-
- lib/freightrain/binding/converters/
|
99
|
-
- lib/freightrain/binding/converters/default_converter.rb
|
73
|
+
- lib/freightrain/binding/converters/float_converter.rb
|
100
74
|
- lib/freightrain/binding/converters/integer_converter.rb
|
101
|
-
- lib/freightrain/binding/
|
102
|
-
- lib/freightrain/binding/
|
103
|
-
- lib/freightrain/binding/binding_base.rb
|
75
|
+
- lib/freightrain/binding/converters/default_converter.rb
|
76
|
+
- lib/freightrain/binding/converters/converter_factory.rb
|
104
77
|
- lib/freightrain/binding/freight_binding.rb
|
78
|
+
- lib/freightrain/binding/binding_base.rb
|
79
|
+
- lib/freightrain/binding/binding_loader.rb
|
80
|
+
- lib/freightrain/binding/binding_host.rb
|
81
|
+
- lib/freightrain/views/interface_builder.rb
|
82
|
+
- lib/freightrain/views/callback_wrapper.rb
|
83
|
+
- lib/freightrain/views/freight_view.rb
|
105
84
|
- lib/freightrain/bootstrapper.rb
|
106
|
-
- lib/freightrain/
|
85
|
+
- lib/freightrain/string_patch.rb
|
86
|
+
- lib/freightrain/regions/freight_region.rb
|
87
|
+
- lib/freightrain/regions/region_host.rb
|
107
88
|
- lib/freightrain/signals/freight_signal.rb
|
108
|
-
- lib/freightrain/
|
89
|
+
- lib/freightrain/signals/signal_host.rb
|
90
|
+
- lib/freightrain/viewmodels/freight_view_model.rb
|
91
|
+
- lib/freightrain/viewmodels/dialog_extension.rb
|
92
|
+
- lib/freightrain/auto_requirer.rb
|
93
|
+
- lib/freightrain/testhelpers.rb
|
94
|
+
- lib/freightrain/testhelpers/auto_stubber.rb
|
95
|
+
- lib/freightrain/ioc/container.rb
|
96
|
+
- lib/freightrain/ioc/container_hookable.rb
|
97
|
+
- lib/freightrain/services/service_host.rb
|
98
|
+
- lib/freightrain/services/freight_service.rb
|
109
99
|
- lib/freightrain/elements/freight_element_view.rb
|
110
100
|
- lib/freightrain/elements/freight_element_view_model.rb
|
111
|
-
- lib/freightrain/
|
112
|
-
- lib/
|
113
|
-
- lib/
|
114
|
-
- lib/
|
101
|
+
- lib/freightrain/elements/layout_widget.rb
|
102
|
+
- lib/extensions/qt/widgets/qt_calendar_widget.rb
|
103
|
+
- lib/extensions/qt/widgets/qt_layout.rb
|
104
|
+
- lib/extensions/qt/widgets/qt_label.rb
|
105
|
+
- lib/extensions/qt/widgets/qt_base.rb
|
106
|
+
- lib/extensions/qt/widgets/qt_line_edit.rb
|
107
|
+
- lib/extensions/qt/widgets/qt_abstract_button.rb
|
108
|
+
- lib/extensions/qt/interface_builder.rb
|
109
|
+
- lib/extensions/qt/dialog_helper.rb
|
110
|
+
- lib/extensions/qt/qt_bootstrapper.rb
|
111
|
+
- lib/extensions/wx/widgets/wx_sizer.rb
|
112
|
+
- lib/extensions/wx/interface_builder.rb
|
113
|
+
- lib/extensions/wx/dialog_helper.rb
|
114
|
+
- lib/extensions/wx/wx_bootstrapper.rb
|
115
|
+
- lib/extensions/gtk/gtk_bootstrapper.rb
|
116
|
+
- lib/extensions/gtk/widgets/gtk_calendar.rb
|
117
|
+
- lib/extensions/gtk/widgets/gtk_toggle_button.rb
|
118
|
+
- lib/extensions/gtk/widgets/gtk_treeviewcolumn.rb
|
119
|
+
- lib/extensions/gtk/widgets/gtk_layout.rb
|
120
|
+
- lib/extensions/gtk/widgets/gtk_statusicon.rb
|
121
|
+
- lib/extensions/gtk/widgets/gtk_toggle_tool_button.rb
|
122
|
+
- lib/extensions/gtk/widgets/gtk_widget.rb
|
123
|
+
- lib/extensions/gtk/widgets/gtk_image.rb
|
124
|
+
- lib/extensions/gtk/widgets/gtk_treeview.rb
|
125
|
+
- lib/extensions/gtk/widgets/gtk_combo_box.rb
|
126
|
+
- lib/extensions/gtk/interface_builder.rb
|
127
|
+
- lib/extensions/gtk/dialog_helper.rb
|
128
|
+
- lib/freightrain.rb
|
115
129
|
has_rdoc: true
|
116
130
|
homepage: http://github.com/bolthar/freightrain
|
117
131
|
licenses: []
|
@@ -125,18 +139,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
139
|
requirements:
|
126
140
|
- - ">="
|
127
141
|
- !ruby/object:Gem::Version
|
142
|
+
segments:
|
143
|
+
- 0
|
128
144
|
version: "0"
|
129
|
-
version:
|
130
145
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
131
146
|
requirements:
|
132
147
|
- - ">="
|
133
148
|
- !ruby/object:Gem::Version
|
149
|
+
segments:
|
150
|
+
- 0
|
134
151
|
version: "0"
|
135
|
-
version:
|
136
152
|
requirements: []
|
137
153
|
|
138
154
|
rubyforge_project:
|
139
|
-
rubygems_version: 1.3.
|
155
|
+
rubygems_version: 1.3.6
|
140
156
|
signing_key:
|
141
157
|
specification_version: 3
|
142
158
|
summary: ruby desktop development made easy
|