freightrain 0.8.2 → 0.8.3

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 CHANGED
@@ -8,7 +8,7 @@ require 'rake/testtask'
8
8
 
9
9
  spec = Gem::Specification.new do |s|
10
10
  s.name = 'freightrain'
11
- s.version = '0.8.2'
11
+ s.version = '0.8.3'
12
12
  s.add_dependency('require_all', '>= 1.1.0')
13
13
  s.has_rdoc = false
14
14
  s.homepage = "http://github.com/bolthar/freightrain"
@@ -1,3 +1,4 @@
1
+ require 'rexml/document'
1
2
 
2
3
  module Freightrain
3
4
 
@@ -14,7 +15,9 @@ module Freightrain
14
15
  end
15
16
 
16
17
  def create_objects_from_file(file_name)
17
- @builder.add_from_file(get_glade_file(file_name))
18
+ file = get_glade_file(file_name)
19
+ corrected_xml = replace_faulty_gtkboxes(File.read(file))
20
+ @builder.add_from_string(corrected_xml)
18
21
  objects = @builder.objects
19
22
  if objects.first.respond_to? :toplevel
20
23
  @control = objects.first.toplevel
@@ -51,6 +54,19 @@ module Freightrain
51
54
  results = Dir.glob(search_path)
52
55
  return results.first
53
56
  end
57
+
58
+ def replace_faulty_gtkboxes(xml)
59
+ document = REXML::Document.new(xml)
60
+ document.elements.each("//object[@class='GtkBox']") do |box|
61
+ substitute_class = nil
62
+ box.elements.each("property[@name='orientation']") do |orientation|
63
+ substitute_class = orientation == "vertical" ? "GtkVBox" : "GtkHBox"
64
+ end
65
+ p "here3"
66
+ box.attributes["class"] = substitute_class
67
+ end
68
+ return document.to_s
69
+ end
54
70
 
55
71
  def control
56
72
  return @control
@@ -9,6 +9,10 @@ module Gtk
9
9
  file.close
10
10
  self.pixbuf = Gdk::Pixbuf.new(File.join(Dir.tmpdir,"tempimg#{self.object_id.to_s}"))
11
11
  end
12
+
13
+ def image_file=(file_name)
14
+ self.image=(File.open(file_name).read)
15
+ end
12
16
 
13
17
  end
14
- end
18
+ end
@@ -14,6 +14,7 @@ module Freightrain
14
14
  end
15
15
 
16
16
  def resolve(class_name)
17
+ raise "Could not instance class #{class_name}" unless @classes.has_key?(class_name)
17
18
  return @cache[class_name] || @classes[class_name].new
18
19
  end
19
20
 
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.8.2
4
+ version: 0.8.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-18 00:00:00.000000000 Z
12
+ date: 2012-04-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: require_all
16
- requirement: &11079940 !ruby/object:Gem::Requirement
16
+ requirement: &13172380 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: 1.1.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *11079940
24
+ version_requirements: *13172380
25
25
  description: ruby desktop development made easy
26
26
  email: andrea@andreadallera.com
27
27
  executables:
@@ -32,78 +32,78 @@ files:
32
32
  - README.rdoc
33
33
  - Rakefile
34
34
  - bin/ftrain
35
- - lib/freightrain-dev/auto_stubber.rb
36
- - lib/freightrain/services/freight_service.rb
37
- - lib/freightrain/services/service_host.rb
38
- - lib/freightrain/signals/signal_host.rb
35
+ - lib/freightrain/viewmodels/freight_view_model.rb
36
+ - lib/freightrain/viewmodels/dialog_extension.rb
37
+ - lib/freightrain/auto_requirer.rb
38
+ - lib/freightrain/string_patch.rb
39
+ - lib/freightrain/bootstrapper.rb
39
40
  - lib/freightrain/signals/freight_signal.rb
40
- - lib/freightrain/regions/freight_region.rb
41
- - lib/freightrain/regions/region_host.rb
41
+ - lib/freightrain/signals/signal_host.rb
42
+ - lib/freightrain/views/freight_view.rb
43
+ - lib/freightrain/views/code_interface_builder.rb
44
+ - lib/freightrain/views/interface_builder.rb
45
+ - lib/freightrain/views/callback_wrapper.rb
46
+ - lib/freightrain/services/service_host.rb
47
+ - lib/freightrain/services/freight_service.rb
42
48
  - lib/freightrain/ioc/container.rb
43
49
  - lib/freightrain/ioc/registry.rb
44
50
  - lib/freightrain/ioc/container_hookable.rb
45
- - lib/freightrain/string_patch.rb
51
+ - lib/freightrain/elements/freight_element_view_model.rb
46
52
  - lib/freightrain/elements/layout_widget.rb
47
53
  - lib/freightrain/elements/freight_element_view.rb
48
- - lib/freightrain/elements/freight_element_view_model.rb
49
- - lib/freightrain/bootstrapper.rb
50
- - lib/freightrain/auto_requirer.rb
51
- - lib/freightrain/views/interface_builder.rb
52
- - lib/freightrain/views/freight_view.rb
53
- - lib/freightrain/views/code_interface_builder.rb
54
- - lib/freightrain/views/callback_wrapper.rb
55
- - lib/freightrain/viewmodels/freight_view_model.rb
56
- - lib/freightrain/viewmodels/dialog_extension.rb
57
- - lib/freightrain/freight_color.rb
54
+ - lib/freightrain/regions/freight_region.rb
55
+ - lib/freightrain/regions/region_host.rb
58
56
  - lib/freightrain/binding/freight_binding.rb
59
- - lib/freightrain/binding/binding_base.rb
57
+ - lib/freightrain/binding/binding_host.rb
60
58
  - lib/freightrain/binding/binding_loader.rb
61
- - lib/freightrain/binding/converters/float_converter.rb
62
- - lib/freightrain/binding/converters/boolean_converter.rb
59
+ - lib/freightrain/binding/binding_base.rb
63
60
  - lib/freightrain/binding/converters/converter_factory.rb
61
+ - lib/freightrain/binding/converters/boolean_converter.rb
62
+ - lib/freightrain/binding/converters/float_converter.rb
64
63
  - lib/freightrain/binding/converters/integer_converter.rb
65
64
  - lib/freightrain/binding/converters/default_converter.rb
66
- - lib/freightrain/binding/binding_host.rb
67
- - lib/freightrain.rb
68
- - lib/scaffolding/scaffolding.rb
69
- - lib/scaffolding/commands/triad.rb
70
- - lib/scaffolding/commands/app.rb
71
- - lib/scaffolding/templates/view_bnd.ftt
72
- - lib/scaffolding/templates/view_toplevel.ftt
73
- - lib/scaffolding/templates/view_model.ftt
74
- - lib/scaffolding/templates/viewmodel_toplevel.ftt
75
- - lib/scaffolding/templates/view_control_glade.ftt
76
- - lib/scaffolding/templates/view.ftt
77
- - lib/scaffolding/templates/view_toplevel_glade.ftt
78
- - lib/scaffolding/templates/application.ftt
79
- - lib/scaffolding/generator.rb
80
- - lib/extensions/qt/widgets/qt_base.rb
65
+ - lib/freightrain/freight_color.rb
66
+ - lib/extensions/qt/qt_bootstrapper.rb
67
+ - lib/extensions/qt/interface_builder.rb
81
68
  - lib/extensions/qt/widgets/qt_line_edit.rb
69
+ - lib/extensions/qt/widgets/qt_layout.rb
70
+ - lib/extensions/qt/widgets/qt_abstract_button.rb
71
+ - lib/extensions/qt/widgets/qt_base.rb
82
72
  - lib/extensions/qt/widgets/qt_label.rb
83
73
  - lib/extensions/qt/widgets/qt_calendar_widget.rb
84
- - lib/extensions/qt/widgets/qt_abstract_button.rb
85
- - lib/extensions/qt/widgets/qt_layout.rb
86
- - lib/extensions/qt/interface_builder.rb
87
74
  - lib/extensions/qt/dialog_helper.rb
88
- - lib/extensions/qt/qt_bootstrapper.rb
89
- - lib/extensions/gtk/widgets/gtk_widget.rb
75
+ - lib/extensions/wx/interface_builder.rb
76
+ - lib/extensions/wx/wx_bootstrapper.rb
77
+ - lib/extensions/wx/widgets/wx_panel.rb
78
+ - lib/extensions/wx/widgets/wx_object.rb
79
+ - lib/extensions/wx/dialog_helper.rb
80
+ - lib/extensions/gtk/interface_builder.rb
81
+ - lib/extensions/gtk/widgets/gtk_combo_box.rb
90
82
  - lib/extensions/gtk/widgets/gtk_image.rb
91
- - lib/extensions/gtk/widgets/gtk_treeview.rb
92
- - lib/extensions/gtk/widgets/gtk_calendar.rb
83
+ - lib/extensions/gtk/widgets/gtk_widget.rb
93
84
  - lib/extensions/gtk/widgets/gtk_toggle_button.rb
94
- - lib/extensions/gtk/widgets/gtk_toggle_tool_button.rb
85
+ - lib/extensions/gtk/widgets/gtk_calendar.rb
95
86
  - lib/extensions/gtk/widgets/gtk_layout.rb
87
+ - lib/extensions/gtk/widgets/gtk_treeview.rb
88
+ - lib/extensions/gtk/widgets/gtk_toggle_tool_button.rb
96
89
  - lib/extensions/gtk/widgets/gtk_statusicon.rb
97
- - lib/extensions/gtk/widgets/gtk_combo_box.rb
98
90
  - lib/extensions/gtk/widgets/gtk_treeviewcolumn.rb
99
- - lib/extensions/gtk/interface_builder.rb
100
91
  - lib/extensions/gtk/gtk_bootstrapper.rb
101
92
  - lib/extensions/gtk/dialog_helper.rb
102
- - lib/extensions/wx/wx_bootstrapper.rb
103
- - lib/extensions/wx/widgets/wx_panel.rb
104
- - lib/extensions/wx/widgets/wx_object.rb
105
- - lib/extensions/wx/interface_builder.rb
106
- - lib/extensions/wx/dialog_helper.rb
93
+ - lib/freightrain-dev/auto_stubber.rb
94
+ - lib/freightrain.rb
95
+ - lib/scaffolding/generator.rb
96
+ - lib/scaffolding/commands/app.rb
97
+ - lib/scaffolding/commands/triad.rb
98
+ - lib/scaffolding/scaffolding.rb
99
+ - lib/scaffolding/templates/view_toplevel_glade.ftt
100
+ - lib/scaffolding/templates/view.ftt
101
+ - lib/scaffolding/templates/view_toplevel.ftt
102
+ - lib/scaffolding/templates/viewmodel_toplevel.ftt
103
+ - lib/scaffolding/templates/application.ftt
104
+ - lib/scaffolding/templates/view_control_glade.ftt
105
+ - lib/scaffolding/templates/view_bnd.ftt
106
+ - lib/scaffolding/templates/view_model.ftt
107
107
  homepage: http://github.com/bolthar/freightrain
108
108
  licenses: []
109
109
  post_install_message:
@@ -124,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  version: '0'
125
125
  requirements: []
126
126
  rubyforge_project:
127
- rubygems_version: 1.8.10
127
+ rubygems_version: 1.8.17
128
128
  signing_key:
129
129
  specification_version: 3
130
130
  summary: ruby desktop development made easy