freightrain 0.5.9

Sign up to get free protection for your applications and to get access to all the features.
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
+