[macruby-changes] [327] MacRuby/trunk/lib/hotcocoa/mappings/popup.rb
source_changes at macosforge.org
source_changes at macosforge.org
Mon Jul 7 21:42:16 PDT 2008
Revision: 327
http://trac.macosforge.org/projects/ruby/changeset/327
Author: rich at infoether.com
Date: 2008-07-07 21:42:16 -0700 (Mon, 07 Jul 2008)
Log Message:
-----------
add MenuItem methods to popup button
Modified Paths:
--------------
MacRuby/trunk/lib/hotcocoa/mappings/popup.rb
Modified: MacRuby/trunk/lib/hotcocoa/mappings/popup.rb
===================================================================
--- MacRuby/trunk/lib/hotcocoa/mappings/popup.rb 2008-07-08 03:39:30 UTC (rev 326)
+++ MacRuby/trunk/lib/hotcocoa/mappings/popup.rb 2008-07-08 04:42:16 UTC (rev 327)
@@ -11,6 +11,8 @@
class ItemList
+ include Enumerable
+
attr_reader :control
def initialize(control)
@@ -21,8 +23,16 @@
control.addItemWithTitle(title)
end
+ def [](index)
+ control.itemTitleAtIndex(index)
+ end
+
def delete(title)
- control.removeItemWithTitle(title)
+ if title.kind_of?(Fixnum)
+ control.removeItemAtIndex(title)
+ else
+ control.removeItemWithTitle(title)
+ end
end
def insert(title, at:index)
@@ -33,6 +43,14 @@
control.titleOfSelectedItem
end
+ def selected=(title)
+ if title.kind_of?(Fixnum)
+ control.selectItemAtIndex(title)
+ else
+ control.selectItemWithTitle(title)
+ end
+ end
+
def selected_index
control.indexOfSelectedItem
end
@@ -40,8 +58,37 @@
def size
control.numberOfItems
end
+
+ def each(&block)
+ control.itemTitles.each(&block)
+ end
+
end
+ class MenuItemList < ItemList
+ include Enumerable
+
+ def selected
+ control.selectedItem
+ end
+
+ def selected=(title)
+ if title.kind_of?(Fixnum)
+ control.selectItemAtIndex(title)
+ else
+ control.selectItem(title)
+ end
+ end
+
+ def [](index)
+ control.itemAtIndex(index)
+ end
+
+ def each(&block)
+ control.itemArray.each(&block)
+ end
+ end
+
def items=(values)
removeAllItems
addItemsWithTitles(values)
@@ -51,6 +98,10 @@
@_item_list ||= ItemList.new(self)
end
+ def menu_items
+ @_menu_item_list ||= MenuItemList.new(self)
+ end
+
end
end
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080707/0098a405/attachment.html
More information about the macruby-changes
mailing list