[macruby-changes] [378] MacRuby/trunk/lib/hotcocoa/mappings

source_changes at macosforge.org source_changes at macosforge.org
Tue Jul 15 08:10:10 PDT 2008


Revision: 378
          http://trac.macosforge.org/projects/ruby/changeset/378
Author:   rich at infoether.com
Date:     2008-07-15 08:10:09 -0700 (Tue, 15 Jul 2008)
Log Message:
-----------
add array controller mapping and do not include webkit framework by default

Modified Paths:
--------------
    MacRuby/trunk/lib/hotcocoa/mappings/web_view.rb

Added Paths:
-----------
    MacRuby/trunk/lib/hotcocoa/mappings/array_controller.rb

Added: MacRuby/trunk/lib/hotcocoa/mappings/array_controller.rb
===================================================================
--- MacRuby/trunk/lib/hotcocoa/mappings/array_controller.rb	                        (rev 0)
+++ MacRuby/trunk/lib/hotcocoa/mappings/array_controller.rb	2008-07-15 15:10:09 UTC (rev 378)
@@ -0,0 +1,95 @@
+HotCocoa::Mappings.map :array_controller => :NSArrayController do
+
+  def init_with_options(array_controller, options)
+    result = array_controller.init
+    if options.has_key?(:for)
+      result.addObjects(options.delete(:for))
+    end
+    result
+  end
+
+  custom_methods do
+    
+    def avoids_empty_selection=(value)
+      setAvoidsEmptySelection(value)
+    end
+    
+    def avoids_empty_selection?
+      avoidsEmptySelection
+    end
+    
+    def preserves_selection=(value)
+      setPreservesSelection(value)
+    end
+    
+    def preserves_selection?
+      preservesSelection
+    end
+    
+    def rearrange_automatically=(value)
+      setAutomaticallyRearrangesObjects(value)
+    end
+    
+    def rearrange_automatically?
+      automaticallyRearrangesObjects
+    end
+    
+    def selects_inserted=(value)
+      setSelectsInsertedObjects(value)
+    end
+    
+    def selects_inserted?
+      selectsInsertedObjects
+    end
+    
+    def <<(object)
+      addObject(object)
+    end
+    
+    def [](index)
+      arrangedObjects[index]
+    end
+    
+    def each(&block)
+      arrangedObjects.each(&block)
+    end
+    
+    def selected
+      selectedObjects.first
+    end
+    
+    def sort_by=(sort_descriptors)
+      sort_descriptors = [sort_descriptors] if sort_descriptors.kind_of?(Hash)
+      descriptors = sort_descriptors.collect do |descriptor|
+        selector = descriptor.delete(:selector)
+        ascending = (descriptor.values.first == :ascending)
+        if selector
+          NSSortDescriptor.alloc.initWithKey(descriptor.keys.first.to_s, ascending: ascending, selector: selector)
+        else
+          NSSortDescriptor.alloc.initWithKey(descriptor.keys.first.to_s, ascending: ascending)
+        end
+      end
+      setSortDescriptors(descriptors)
+    end
+    
+  end
+
+end
+
+=begin
+array :avoids_empty_selection => true, 
+      :preserves_selection => false, 
+      :selects_inserted => false, 
+      :rearrange_automatically => true,
+      :sort_by => {:name => :ascending}
+
+array_controller = NSArrayController.new
+
+array_controller.setAvoidsEmptySelection(false)
+array_controller.setPreservesSelection(false)
+array_controller.setSelectsInsertedObjects(false)
+array_controller.setAutomaticallyRearrangesObjects(true)
+
+array_controller.setSortDescriptors(NSArray.arrayWithObject(NSSortDescriptor.alloc.initWithKey("name", ascending: false)))
+array_controller.addObject Icon.new("Rich", image(:file => "rich.jpg"))
+=end
\ No newline at end of file

Modified: MacRuby/trunk/lib/hotcocoa/mappings/web_view.rb
===================================================================
--- MacRuby/trunk/lib/hotcocoa/mappings/web_view.rb	2008-07-15 15:08:29 UTC (rev 377)
+++ MacRuby/trunk/lib/hotcocoa/mappings/web_view.rb	2008-07-15 15:10:09 UTC (rev 378)
@@ -1,5 +1,3 @@
-framework 'WebKit'
-
 HotCocoa::Mappings.map :web_view => :WebView , :framework => :WebKit do
 
   defaults :auto_size => true, :layout => {}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080715/84f95379/attachment.html 


More information about the macruby-changes mailing list