freightrain 0.5.9

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.
Files changed (55) hide show
  1. data/README +4 -0
  2. data/Rakefile +33 -0
  3. data/lib/extensions/gtk/dialog_helper.rb +50 -0
  4. data/lib/extensions/gtk/gtk_bootstrapper.rb +32 -0
  5. data/lib/extensions/gtk/interface_builder.rb +54 -0
  6. data/lib/extensions/gtk/widgets/gtk_calendar.rb +18 -0
  7. data/lib/extensions/gtk/widgets/gtk_combo_box.rb +41 -0
  8. data/lib/extensions/gtk/widgets/gtk_image.rb +14 -0
  9. data/lib/extensions/gtk/widgets/gtk_layout.rb +99 -0
  10. data/lib/extensions/gtk/widgets/gtk_toggle_button.rb +13 -0
  11. data/lib/extensions/gtk/widgets/gtk_toggle_tool_button.rb +11 -0
  12. data/lib/extensions/gtk/widgets/gtk_treeview.rb +80 -0
  13. data/lib/extensions/gtk/widgets/gtk_treeviewcolumn.rb +29 -0
  14. data/lib/extensions/gtk/widgets/gtk_widget.rb +47 -0
  15. data/lib/freightrain/auto_requirer.rb +24 -0
  16. data/lib/freightrain/binding/binding_host.rb +35 -0
  17. data/lib/freightrain/binding/binding_loader.rb +36 -0
  18. data/lib/freightrain/binding/converters/boolean_converter.rb +15 -0
  19. data/lib/freightrain/binding/converters/converter_factory.rb +22 -0
  20. data/lib/freightrain/binding/converters/default_converter.rb +16 -0
  21. data/lib/freightrain/binding/converters/float_converter.rb +16 -0
  22. data/lib/freightrain/binding/converters/integer_converter.rb +16 -0
  23. data/lib/freightrain/binding/freight_binding.rb +65 -0
  24. data/lib/freightrain/bootstrapper.rb +35 -0
  25. data/lib/freightrain/dialog_extension.rb +27 -0
  26. data/lib/freightrain/elements/element_extension.rb +1 -0
  27. data/lib/freightrain/elements/freight_element_view.rb +23 -0
  28. data/lib/freightrain/elements/freight_element_view_model.rb +42 -0
  29. data/lib/freightrain/elements/layout_widget.rb +11 -0
  30. data/lib/freightrain/freight_view.rb +52 -0
  31. data/lib/freightrain/freight_view_model.rb +45 -0
  32. data/lib/freightrain/interface_builder.rb +23 -0
  33. data/lib/freightrain/ioc/container.rb +21 -0
  34. data/lib/freightrain/ioc/container_hookable.rb +32 -0
  35. data/lib/freightrain/regions/freight_region.rb +32 -0
  36. data/lib/freightrain/regions/region_host.rb +37 -0
  37. data/lib/freightrain/services/freight_service.rb +14 -0
  38. data/lib/freightrain/services/service_host.rb +30 -0
  39. data/lib/freightrain/signals/freight_signal.rb +23 -0
  40. data/lib/freightrain/signals/signal_host.rb +38 -0
  41. data/lib/freightrain/string_patch.rb +24 -0
  42. data/lib/freightrain/testhelpers/container_helpers.rb +22 -0
  43. data/lib/freightrain/testhelpers.rb +2 -0
  44. data/lib/freightrain.rb +8 -0
  45. data/lib/scaffolding/commands/app.rb +29 -0
  46. data/lib/scaffolding/commands/triad.rb +29 -0
  47. data/lib/scaffolding/ftrain.rb +23 -0
  48. data/lib/scaffolding/generator.rb +15 -0
  49. data/lib/scaffolding/templates/application.ftt +11 -0
  50. data/lib/scaffolding/templates/view.ftt +5 -0
  51. data/lib/scaffolding/templates/view_bnd.ftt +0 -0
  52. data/lib/scaffolding/templates/view_control_glade.ftt +16 -0
  53. data/lib/scaffolding/templates/view_model.ftt +7 -0
  54. data/lib/scaffolding/templates/view_toplevel_glade.ftt +12 -0
  55. metadata +127 -0
@@ -0,0 +1,29 @@
1
+
2
+ class TriadCommand
3
+
4
+ def initialize(*args)
5
+ raise "name parameter must be specified" if args.length < 1
6
+ @name = args[0]
7
+ @path = Dir.pwd
8
+ end
9
+
10
+ def check
11
+ raise "not a freightrain application" unless File.exist?(File.join(@path, "views"))
12
+ raise "not a freightrain application" unless File.exist?(File.join(@path, "viewmodels"))
13
+ raise "#{@name} view already exists" if File.exist?(File.join(@path, "views", "#{@name}_view.rb"))
14
+ raise "#{@name} view definition already exists" if File.exist?(File.join(@path, "views", "#{@name}_view.glade"))
15
+ raise "#{@name} view binding file already exists" if File.exist?(File.join(@path, "views", "#{@name}_view.bnd.yml"))
16
+ raise "#{@name} viewmodel already exists" if File.exist?(File.join(@path, "viewmodels", "#{@name}_view_model.rb"))
17
+
18
+ end
19
+
20
+ def execute
21
+ Generator.create_stub(File.join(@path, "views", "#{@name}_view.rb"), "view", :name => @name.capitalize)
22
+ Generator.create_stub(File.join(@path, "views", "#{@name}_view.glade"), "view_control_glade",:name => @name)
23
+ Generator.create_stub(File.join(@path, "views", "#{@name}_view.bnd.yml"), "view_bnd", :name => @name)
24
+ Generator.create_stub(File.join(@path, "viewmodels", "#{@name}_view_model.rb"), "view_model", :name => @name.capitalize)
25
+ print "#{@name} triad created\n"
26
+ end
27
+
28
+
29
+ end
@@ -0,0 +1,23 @@
1
+
2
+ require "rubygems"
3
+ require "require_all"
4
+
5
+ require_all File.dirname(__FILE__) + "/commands"
6
+
7
+ require File.dirname(__FILE__) + "/generator.rb"
8
+
9
+ begin
10
+ klass = eval("#{ARGV[0].capitalize}Command")
11
+ rescue
12
+ print "No command '#{ARGV[0]}'\n"
13
+ end
14
+
15
+ begin
16
+ command = klass.new(*ARGV[1...ARGV.length])
17
+ command.check
18
+ command.execute
19
+ rescue Exception => ex
20
+ print ex.message + "\n"
21
+ end
22
+
23
+
@@ -0,0 +1,15 @@
1
+
2
+ class Generator
3
+
4
+ def self.create_stub(filename, template, options)
5
+ template_content = ""
6
+ File.open(File.dirname(__FILE__) + "/templates/#{template}.ftt") do |file|
7
+ template_content = file.lines.to_a.join
8
+ end
9
+ template_content.gsub!("$NAME", options[:name])
10
+ File.open(filename, 'w+') do |file|
11
+ file << template_content
12
+ end
13
+ end
14
+
15
+ end
@@ -0,0 +1,11 @@
1
+ #generated by ftrain
2
+
3
+ require 'rubygems'
4
+ require 'freightrain'
5
+
6
+ include Freightrain
7
+
8
+ Freightrain.app_path = File.dirname(__FILE__)
9
+
10
+ Freightrain.toolkit = :gtk
11
+ Freightrain.start(:$NAME)
@@ -0,0 +1,5 @@
1
+ #generated by ftrain
2
+
3
+ class $NAMEView < FreightView
4
+
5
+ end
File without changes
@@ -0,0 +1,16 @@
1
+ <?xml version="1.0"?>
2
+ <interface>
3
+ <requires lib="gtk+" version="2.16"/>
4
+ <object class="GtkHBox" id="$NAME">
5
+ <property name="visible">True</property>
6
+ <child>
7
+ <placeholder/>
8
+ </child>
9
+ <child>
10
+ <placeholder/>
11
+ </child>
12
+ <child>
13
+ <placeholder/>
14
+ </child>
15
+ </object>
16
+ </interface>
@@ -0,0 +1,7 @@
1
+ #generated by ftrain
2
+
3
+ class $NAMEViewModel < FreightViewModel
4
+
5
+ $REGIONS
6
+
7
+ end
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0"?>
2
+ <interface>
3
+ <requires lib="gtk+" version="2.16"/>
4
+ <object class="GtkWindow" id="$NAME">
5
+ <property name="width_request">600</property>
6
+ <property name="height_request">400</property>
7
+ <property name="visible">True</property>
8
+ <child>
9
+ <placeholder/>
10
+ </child>
11
+ </object>
12
+ </interface>
metadata ADDED
@@ -0,0 +1,127 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: freightrain
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.5.9
5
+ platform: ruby
6
+ authors:
7
+ - Andrea Dallera
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2010-02-16 00:00:00 +01:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: require_all
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.1.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: needle
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.3.0
34
+ version:
35
+ description: ruby desktop development made easy
36
+ email: andrea@andreadallera.com
37
+ executables: []
38
+
39
+ extensions: []
40
+
41
+ extra_rdoc_files: []
42
+
43
+ files:
44
+ - README
45
+ - Rakefile
46
+ - lib/scaffolding/generator.rb
47
+ - lib/scaffolding/commands/app.rb
48
+ - lib/scaffolding/commands/triad.rb
49
+ - lib/scaffolding/ftrain.rb
50
+ - lib/scaffolding/templates/view_control_glade.ftt
51
+ - lib/scaffolding/templates/view_toplevel_glade.ftt
52
+ - lib/scaffolding/templates/view_bnd.ftt
53
+ - lib/scaffolding/templates/view.ftt
54
+ - lib/scaffolding/templates/application.ftt
55
+ - lib/scaffolding/templates/view_model.ftt
56
+ - lib/extensions/gtk/interface_builder.rb
57
+ - lib/extensions/gtk/dialog_helper.rb
58
+ - lib/extensions/gtk/gtk_bootstrapper.rb
59
+ - lib/extensions/gtk/widgets/gtk_layout.rb
60
+ - lib/extensions/gtk/widgets/gtk_image.rb
61
+ - lib/extensions/gtk/widgets/gtk_combo_box.rb
62
+ - lib/extensions/gtk/widgets/gtk_calendar.rb
63
+ - lib/extensions/gtk/widgets/gtk_treeview.rb
64
+ - lib/extensions/gtk/widgets/gtk_widget.rb
65
+ - lib/extensions/gtk/widgets/gtk_toggle_button.rb
66
+ - lib/extensions/gtk/widgets/gtk_treeviewcolumn.rb
67
+ - lib/extensions/gtk/widgets/gtk_toggle_tool_button.rb
68
+ - lib/freightrain.rb
69
+ - lib/freightrain/elements/layout_widget.rb
70
+ - lib/freightrain/elements/freight_element_view.rb
71
+ - lib/freightrain/elements/freight_element_view_model.rb
72
+ - lib/freightrain/elements/element_extension.rb
73
+ - lib/freightrain/binding/binding_loader.rb
74
+ - lib/freightrain/binding/freight_binding.rb
75
+ - lib/freightrain/binding/binding_host.rb
76
+ - lib/freightrain/binding/converters/boolean_converter.rb
77
+ - lib/freightrain/binding/converters/integer_converter.rb
78
+ - lib/freightrain/binding/converters/default_converter.rb
79
+ - lib/freightrain/binding/converters/float_converter.rb
80
+ - lib/freightrain/binding/converters/converter_factory.rb
81
+ - lib/freightrain/interface_builder.rb
82
+ - lib/freightrain/testhelpers/container_helpers.rb
83
+ - lib/freightrain/string_patch.rb
84
+ - lib/freightrain/dialog_extension.rb
85
+ - lib/freightrain/regions/region_host.rb
86
+ - lib/freightrain/regions/freight_region.rb
87
+ - lib/freightrain/freight_view_model.rb
88
+ - lib/freightrain/services/service_host.rb
89
+ - lib/freightrain/services/freight_service.rb
90
+ - lib/freightrain/testhelpers.rb
91
+ - lib/freightrain/ioc/container.rb
92
+ - lib/freightrain/ioc/container_hookable.rb
93
+ - lib/freightrain/freight_view.rb
94
+ - lib/freightrain/auto_requirer.rb
95
+ - lib/freightrain/bootstrapper.rb
96
+ - lib/freightrain/signals/freight_signal.rb
97
+ - lib/freightrain/signals/signal_host.rb
98
+ has_rdoc: true
99
+ homepage:
100
+ licenses: []
101
+
102
+ post_install_message:
103
+ rdoc_options: []
104
+
105
+ require_paths:
106
+ - lib
107
+ required_ruby_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: "0"
112
+ version:
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: "0"
118
+ version:
119
+ requirements: []
120
+
121
+ rubyforge_project:
122
+ rubygems_version: 1.3.5
123
+ signing_key:
124
+ specification_version: 3
125
+ summary: ruby desktop development made easy
126
+ test_files: []
127
+