<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>anvil-gui-qt/MIT-LICENSE</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/README</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/Rakefile</filename>
    </added>
    <added>
      <filename>anvil-gui-qt/lib/anvil-gui-qt.rb</filename>
    </added>
    <added>
      <filename>anvil/spec/anvil/anvil_spec.rb</filename>
    </added>
    <added>
      <filename>anvil/spec/spec.opts</filename>
    </added>
    <added>
      <filename>anvil/spec/spec_helper.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,3 @@
 Anvil
 =====
-A desktop application framework that.. 
\ No newline at end of file
+A desktop application framework that is GUI Toolkit Independent.
\ No newline at end of file</diff>
      <filename>README</filename>
    </modified>
    <modified>
      <diff>@@ -7,7 +7,6 @@ module Anvil
     def window(name, options = {}, &amp;block)
       # Setting default GUI Toolkit to FOX for now. Need to change later
       toolkit_name = options[:toolkit] = :Fox
-      launch = launch_toolkit(toolkit_name)
       window = Window.new launcher.toolkit, name
       window.instance_eval(&amp;block) if block
       launch.run_app
@@ -17,9 +16,5 @@ module Anvil
       eval(&quot;#{toolkit.constant}::#{constant}&quot;)
     end
     
-    private
-    def launch_toolkit(toolkit)
-      Launcher.new toolkit
-    end
   end
 end
\ No newline at end of file</diff>
      <filename>anvil-gui/lib/anvil-gui.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,16 @@
 module Anvil
   module GUI
     class Toolkit
-      attr_reader :name, :initializer
+      attr_reader :name
       
-      def initialize(initializer, name)
-        @initializer = initializer
-        @name = name
+      def initialize(name)
+        @name = name.to_s
+        check_existance
         require_package
       end
 
       def package
-        &quot;anvil-gui-#{@name.to_s.downcase}&quot;
+        &quot;anvil-gui-#{@name.downcase}&quot;
       end
       
       def require_package
@@ -18,12 +18,18 @@ module Anvil
       end
       
       def constant
-        &quot;Anvil::GUI::#{@name}&quot;
+        eval &quot;Anvil::GUI::#{@name}&quot;
       end
       
       def exists?
         Anvil::GUI.const_defined?(@name)
       end
+      
+      def check_existance
+        unless exists?
+          raise &quot;#{name} is missing, please install the #{package} gem.&quot; 
+        end
+      end
     end
   end
 end
\ No newline at end of file</diff>
      <filename>anvil-gui/lib/anvil-gui/toolkit.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,7 +4,8 @@ include Anvil::GUI
 describe &quot;The DSL for&quot; do
   describe Anvil::GUI, &quot;window&quot; do  
     it &quot;should be friggin cool&quot; do
-      window &quot;Test Window&quot; do
+      window :test_window do
+        title &quot;Hello World&quot;
         button &quot;Click me!&quot;
       end
     end</diff>
      <filename>anvil-gui/spec/anvil-gui/view_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -73,13 +73,13 @@ end
 desc &quot;Run all specs&quot;
 Spec::Rake::SpecTask.new('spec') do |t|
   t.spec_files = FileList['spec/**/*_spec.rb']
-  t.spec_opts = ['--options', 'spec.opts']
+  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/**/*_spec.rb']
-  t.spec_opts = ['--options', 'spec.opts']
+  t.spec_opts = ['--options', 'spec/spec.opts']
   t.rcov = true
   t.rcov_dir = 'coverage'
   t.rcov_opts = ['--exclude', 'gems', '--exclude', 'spec']</diff>
      <filename>anvil/Rakefile</filename>
    </modified>
    <modified>
      <diff>@@ -8,12 +8,13 @@ end
 
 module Anvil
   class &lt;&lt; self
-    attr_accessor :environment, :root, :load_paths
+    attr_accessor :environment, :root, :load_paths, :toolkit_name
     
     def launch!(argv=ARGV)
       @config = Configuration.new
       Anvil.environment = @config[:environment]
       Anvil.root = @config[:root]
+      Anvil.toolkit_name = @config[:toolkit_name]
       Launcher.new(@config)
     end
     </diff>
      <filename>anvil/lib/anvil.rb</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,8 @@ module Anvil
       def defaults
         @defaults ||= {
           :environment    =&gt; &quot;development&quot;,
-          :anvil_root     =&gt; Dir.pwd
+          :anvil_root     =&gt; Dir.pwd,
+          :toolkit_name        =&gt; &quot;cocoa&quot;
         }
       end
       </diff>
      <filename>anvil/lib/anvil/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ module Anvil
     def initialize(config)
       @config = config
       configure_application
+      launch_toolkit
     end
     
     def configure_application
@@ -14,5 +15,9 @@ module Anvil
       Anvil.push_path(:config,       Anvil.root_path(&quot;config&quot;))
       Anvil.push_path(:log,          Anvil.log_path)
     end
+    
+    def launch_toolkit
+      Anvil::GUI::Toolkit.new Anvil.toolkit_name
+    end
   end
 end
\ No newline at end of file</diff>
      <filename>anvil/lib/anvil/launcher.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
 window :hello_world do
-  title(&quot;Hello World&quot;)
-  size(300, 400)
+  title &quot;Hello World&quot;
+  size 300, 400
 end
\ No newline at end of file</diff>
      <filename>demos/hello_world/app/views/windows/hello_world.window.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>anvil-gui/lib/anvil-gui/launcher.rb</filename>
    </removed>
    <removed>
      <filename>anvil-gui/lib/anvil-gui/view.rb</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>5ec262b58a93387908a253262fa7c9b9bd89bae4</id>
    </parent>
  </parents>
  <author>
    <name>Lance Carlson</name>
    <email>lancecarlson@gmail.com</email>
  </author>
  <url>http://github.com/lancecarlson/anvil/commit/1c465907f8af810b25d41050ef1d7b5ddff3c5f4</url>
  <id>1c465907f8af810b25d41050ef1d7b5ddff3c5f4</id>
  <committed-date>2008-07-27T02:21:01-07:00</committed-date>
  <authored-date>2008-07-27T02:21:01-07:00</authored-date>
  <message>Anvil specs, anvil-gui-qt skeleton, demo app mods</message>
  <tree>f69fb1d94427ba1d7d85c7c484b50e597b73134a</tree>
  <committer>
    <name>Lance Carlson</name>
    <email>lancecarlson@gmail.com</email>
  </committer>
</commit>
