<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa/app.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa/delegates.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa/delegates/app.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa/object.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa/version.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa/window.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/spec/anvil-gui-cocoa/window_spec.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/spec/spec.opts</filename>
    </added>
    <added>
      <filename>anvil-gui-cocoa/spec/spec_helper.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/lib/anvil-gui-qt/app.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/lib/anvil-gui-qt/object.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/lib/anvil-gui-qt/version.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/lib/anvil-gui-qt/widget.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/lib/anvil-gui-qt/window.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/spec/anvil-gui-qt/app_spec.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/spec/anvil-gui-qt/window_spec.rb</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/spec/spec.opts</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/spec/spec_helper.rb</filename>
    </added>
    <added>
      <filename>demos/hello_world/app/views/hello_worlds/show.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -2,4 +2,6 @@ anvil/pkg/
 anvil-db/pkg/
 anvil-gen/pkg/
 anvil-gui/pkg/
+anvil-gui-cocoa/pkg/
 anvil-gui-fox/pkg/
+anvil-gui-qt/pkg/</diff>
      <filename>.gitignore</filename>
    </modified>
    <modified>
      <diff>@@ -3,9 +3,9 @@ require 'rake/gempackagetask'
 require 'rake/rdoctask'
 require 'rake/testtask'
 require 'spec/rake/spectask'
+require 'lib/anvil-gui-cocoa/version'
 
 NAME = &quot;anvil-gui-cocoa&quot;
-VERSION = &quot;0.0.1&quot;
 AUTHOR = &quot;Lance Carlson&quot;
 EMAIL = &quot;lancecarlson@gmail.com&quot;
 HOMEPAGE = &quot;http://anvil.rubyforge.org&quot;
@@ -17,7 +17,7 @@ dist_dirs = [ &quot;lib&quot;, &quot;spec&quot; ]
 
 spec = Gem::Specification.new do |s|
   s.name = NAME
-  s.version = VERSION
+  s.version = Anvil::GUI::Cocoa::VERSION
   s.platform = Gem::Platform::RUBY
   s.summary = SUMMARY
   s.description = s.summary
@@ -54,7 +54,7 @@ end
 
 desc 'Run :package and install the resulting .gem'
 task :install =&gt; :package do
-  sh %{#{SUDO} gem install pkg/#{NAME}-#{VERSION} --no-rdoc --no-ri}
+  sh %{#{SUDO} gem install pkg/#{NAME}-#{Anvil::GUI::Cocoa::VERSION} --no-rdoc --no-ri}
 end
 
 desc 'Run :clean and uninstall the .gem'
@@ -64,13 +64,13 @@ end
 
 desc &quot;Run all specs&quot;
 Spec::Rake::SpecTask.new('spec') do |t|
-  t.spec_files = FileList['spec/anvil-gui-fox/**/*_spec.rb']
+  t.spec_files = FileList['spec/anvil-gui-cocoa/**/*_spec.rb']
   t.spec_opts = ['--options', 'spec/spec.opts']
 end
 
 desc &quot;Run all specs and generate an rcov report&quot;
 Spec::Rake::SpecTask.new('spec:rcov') do |t|
-  t.spec_files = FileList['spec/anvil-gui-fox/**/*_spec.rb']
+  t.spec_files = FileList['spec/anvil-gui-cocoa/**/*_spec.rb']
   t.spec_opts = ['--options', 'spec/spec.opts']
   t.rcov = true
   t.rcov_dir = 'coverage'
@@ -78,5 +78,5 @@ Spec::Rake::SpecTask.new('spec:rcov') do |t|
 end
 
 task :release =&gt; :package do
-  sh %{rubyforge add_release #{NAME} #{NAME} &quot;#{VERSION}&quot; pkg/#{NAME}-#{VERSION}.gem}
+  sh %{rubyforge add_release #{NAME} #{NAME} &quot;#{Anvil::GUI::Cocoa::VERSION}&quot; pkg/#{NAME}-#{Anvil::GUI::Cocoa::VERSION}.gem}
 end
\ No newline at end of file</diff>
      <filename>anvil-gui-cocoa/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,6 @@
-require 'osx/cocoa'
\ No newline at end of file
+require 'anvil-gui'
+require 'osx/cocoa'
+
+%w(app delegates version window).each do |file|
+  require File.join(File.dirname(__FILE__), &quot;anvil-gui-cocoa&quot;, file)
+end</diff>
      <filename>anvil-gui-cocoa/lib/anvil-gui-cocoa.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,6 @@
+require 'anvil-gui'
 require 'fox16'
 
 %w(app window button).each do |file|
   require File.join(File.dirname(__FILE__), &quot;anvil-gui-fox&quot;, file)
-end
-
-require 'anvil-gui' unless Anvil::GUI.const_defined? &quot;Initializer&quot;
\ No newline at end of file
+end
\ No newline at end of file</diff>
      <filename>anvil-gui-fox/lib/anvil-gui-fox.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,19 +3,23 @@ require 'rake/gempackagetask'
 require 'rake/rdoctask'
 require 'rake/testtask'
 require 'spec/rake/spectask'
+require 'lib/anvil-gui-qt/version'
 
 NAME = &quot;anvil-gui-qt&quot;
-VERSION = &quot;0.0.1&quot;
 AUTHOR = &quot;Lance Carlson&quot;
 EMAIL = &quot;lancecarlson@gmail.com&quot;
 HOMEPAGE = &quot;http://anvil.rubyforge.org&quot;
 SUMMARY = &quot;Anvil adapter for the Qt library&quot;
 
+windows = (PLATFORM =~ /win32|cygwin/)
+
+SUDO = windows ? &quot;&quot; : &quot;sudo&quot;
+
 dist_dirs = [ &quot;lib&quot;, &quot;spec&quot; ]
 
 spec = Gem::Specification.new do |s|
   s.name = NAME
-  s.version = VERSION
+  s.version = Anvil::GUI::Qt::VERSION
   s.platform = Gem::Platform::RUBY
   s.summary = SUMMARY
   s.description = s.summary
@@ -25,7 +29,6 @@ spec = Gem::Specification.new do |s|
   s.has_rdoc = true
 
   s.add_dependency('anvil-gui')
-  s.add_dependency('Qt')
   s.add_dependency('rspec')
   s.add_dependency('rake')
 
@@ -52,7 +55,7 @@ end
 
 desc 'Run :package and install the resulting .gem'
 task :install =&gt; :package do
-  sh %{#{SUDO} gem install pkg/#{NAME}-#{VERSION} --no-rdoc --no-ri}
+  sh %{#{SUDO} gem install pkg/#{NAME}-#{Anvil::GUI::Qt::VERSION} --no-rdoc --no-ri}
 end
 
 desc 'Run :clean and uninstall the .gem'
@@ -62,13 +65,13 @@ end
 
 desc &quot;Run all specs&quot;
 Spec::Rake::SpecTask.new('spec') do |t|
-  t.spec_files = FileList['spec/anvil-gui-fox/**/*_spec.rb']
+  t.spec_files = FileList['spec/anvil-gui-qt/**/*_spec.rb']
   t.spec_opts = ['--options', 'spec/spec.opts']
 end
 
 desc &quot;Run all specs and generate an rcov report&quot;
 Spec::Rake::SpecTask.new('spec:rcov') do |t|
-  t.spec_files = FileList['spec/anvil-gui-fox/**/*_spec.rb']
+  t.spec_files = FileList['spec/anvil-gui-qt/**/*_spec.rb']
   t.spec_opts = ['--options', 'spec/spec.opts']
   t.rcov = true
   t.rcov_dir = 'coverage'
@@ -76,5 +79,5 @@ Spec::Rake::SpecTask.new('spec:rcov') do |t|
 end
 
 task :release =&gt; :package do
-  sh %{rubyforge add_release #{NAME} #{NAME} &quot;#{VERSION}&quot; pkg/#{NAME}-#{VERSION}.gem}
+  sh %{rubyforge add_release #{NAME} #{NAME} &quot;#{Anvil::GUI::Qt::VERSION}&quot; pkg/#{NAME}-#{Anvil::GUI::Qt::VERSION}.gem}
 end
\ No newline at end of file</diff>
      <filename>anvil-gui-qt/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -0,0 +1,6 @@
+require 'anvil-gui'
+require 'qt'
+
+%w(app version window).each do |file|
+  require File.join(File.dirname(__FILE__), &quot;anvil-gui-qt&quot;, file)
+end</diff>
      <filename>anvil-gui-qt/lib/anvil-gui-qt.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,8 @@
 module Anvil
   module GUI
     class Window
+      attr_accessor :properties
+      
       def initialize(name)
         @toolkit = Toolkit
         @name = name
@@ -11,10 +13,19 @@ module Anvil
         @toolkit.window @name
       end
       
-      def title(title)
+      def title=(title)
+        @properties[:title] = title
+        @real_window.title=(title)
+      end
+      
+      def size=(width, height)
+        @properties[:size] = { :width =&gt; width, :height =&gt; height }
+        @real_window.size = width, height
       end
       
-      def size(width, height)
+      def method_missing(method, *args)
+        @properties[method] = *args
+        @real_window.send(method, *args)
       end
       
       def button(name, options = {})</diff>
      <filename>anvil-gui/lib/anvil-gui/window.rb</filename>
    </modified>
    <modified>
      <diff>@@ -9,7 +9,8 @@ describe &quot;The DSL for&quot; do
   describe Anvil::GUI, &quot;window&quot; do      
     it &quot;should be friggin cool&quot; do
       Anvil::GUI.window :test_window do
-        title &quot;Hello World&quot;
+        title = &quot;Hello World&quot;
+        size = 300, 400
       end
     end
   end</diff>
      <filename>anvil-gui/spec/anvil-gui/window_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -11,7 +11,7 @@ module Anvil
         @defaults ||= {
           :environment    =&gt; &quot;development&quot;,
           :anvil_root     =&gt; Dir.pwd,
-          :toolkit_name        =&gt; &quot;Cocoa&quot; # Fox or Cocoa or Qt
+          :toolkit_name        =&gt; &quot;Qt&quot; # Fox or Cocoa or Qt
         }
       end
       </diff>
      <filename>anvil/lib/anvil/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -13,5 +13,9 @@ module Anvil
     def _run(action)
       self.action_name = action
     end
+    
+    def render(action)
+      
+    end
   end
 end
\ No newline at end of file</diff>
      <filename>anvil/lib/anvil/controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,10 +1,11 @@
 module Anvil
   # To be cool, we use the launcher class. BootLoader and Initializer were taken (Merb/Rails)
-  class Launcher
+  class Launcher      
     def initialize(config)
       @config = config
       configure_application
       launch_toolkit
+      load_files
     end
     
     def configure_application
@@ -17,7 +18,18 @@ module Anvil
     end
     
     def launch_toolkit
-      Anvil::GUI::Toolkit.new Anvil.toolkit_name
+      Anvil::GUI::Toolkit.register! Anvil.toolkit_name
     end
+    
+    def load_files
+      # Require all the files in the registered load paths
+      Anvil.load_paths.each do |name, path|
+        next unless path.last
+        Dir[path.first / path.last].each do |file|
+          load file
+        end
+      end
+    end
+
   end
 end
\ No newline at end of file</diff>
      <filename>anvil/lib/anvil/launcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -3,10 +3,19 @@ require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;spec_helper&quot;)
 describe Anvil do
   before do
     @toolkit = mock(Anvil::GUI::Toolkit)
+    @app_path = File.expand_path(File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;..&quot;))
   end
   
   it &quot;should launch the project&quot; do
-    Anvil::GUI::Toolkit.should_receive(:new).and_return(@toolkit)
+    Anvil::GUI::Toolkit.should_receive(:register!).and_return(@toolkit)
     Anvil.launch!
+    Anvil.load_paths.should == { 
+      :view=&gt;[&quot;#{@app_path}/app/views&quot;, &quot;**/*.rb&quot;], 
+      :application=&gt;[&quot;#{@app_path}/app/controllers/application.rb&quot;, &quot;**/*.rb&quot;], 
+      :log=&gt;[&quot;#{@app_path}/log&quot;, &quot;**/*.rb&quot;], 
+      :model=&gt;[&quot;#{@app_path}/app/models&quot;, &quot;**/*.rb&quot;], 
+      :controller=&gt;[&quot;#{@app_path}/app/controllers&quot;, &quot;**/*.rb&quot;], 
+      :config=&gt;[&quot;#{@app_path}/config&quot;, &quot;**/*.rb&quot;] 
+    }
   end
 end
\ No newline at end of file</diff>
      <filename>anvil/spec/anvil/anvil_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,5 +1,4 @@
 class HelloWorldController &lt; ApplicationController
   def show
-    display :hello_world
   end
 end
\ No newline at end of file</diff>
      <filename>demos/hello_world/app/controllers/hello_world_controller.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>demos/hello_world/app/views/windows/hello_world.window.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>b7d0ce1396808f9a474c961a9e34f2537cc261b6</id>
    </parent>
  </parents>
  <author>
    <name>Lance Carlson</name>
    <email>lancecarlson@gmail.com</email>
  </author>
  <url>http://github.com/lancecarlson/anvil/commit/745ae3390b66ba960141229bb5e68494e9743333</url>
  <id>745ae3390b66ba960141229bb5e68494e9743333</id>
  <committed-date>2008-08-03T09:38:58-07:00</committed-date>
  <authored-date>2008-08-03T09:38:58-07:00</authored-date>
  <message>Initial integration</message>
  <tree>7620c37cb0e12038583d0c1b75f5b32580ea199e</tree>
  <committer>
    <name>Lance Carlson</name>
    <email>lancecarlson@gmail.com</email>
  </committer>
</commit>
