checkin from browser
authorca
Wed, 05 Mar 1997 17:06:25 +0100
changeset 489 264ba86c52c1
parent 488 1686464333f6
child 490 ebe88e50b29a
checkin from browser
Menu.st
--- a/Menu.st	Wed Mar 05 13:24:26 1997 +0100
+++ b/Menu.st	Wed Mar 05 17:06:25 1997 +0100
@@ -26,6 +26,25 @@
 
 !Menu methodsFor:'accessing'!
 
+addItem:aMenuItem value:aValue
+    items isNil ifTrue:[
+        items := OrderedCollection new
+    ].
+    items add:aMenuItem.
+    aMenuItem value:aValue
+!
+
+addItemGroup:aGroup values:values
+    groupSizes isNil ifTrue:[
+        groupSizes := OrderedCollection new
+    ].
+    groupSizes add:items size.
+
+    aGroup with:values do:[:item :value |
+        self addItem:item value:value
+    ].
+!
+
 labels
     "return a collection of labels from my items"
 
@@ -34,6 +53,29 @@
     "Created: 25.2.1997 / 19:47:53 / cg"
 !
 
+lines
+        "Answer the indexes of the menu items that are the last menu item in their group (except the very last)."
+
+        | lines |
+        groupSizes size <= 1 ifTrue: [^Array new].
+        lines := Array new: groupSizes size - 1.
+        lines at: 1 put: groupSizes first.
+        2 to: groupSizes size -1 do: 
+                [:i |
+                lines at: i put: (lines at: i - 1) + (groupSizes at: i)].
+        ^lines
+
+
+!
+
+menuItemAt:index
+    ^ items at:index
+!
+
+menuItems
+    ^ items
+!
+
 menuItems:aCollectionOfMenuItems groupsSizes:sizes values:values
     |idx newItems nItems|
 
@@ -194,6 +236,19 @@
     "
 
     "Modified: 25.2.1997 / 21:05:06 / cg"
+!
+
+literalArrayEncoding
+    "return myself encoded as a literal array"
+
+    |coll|
+
+    coll := OrderedCollection new.
+    coll add:#Menu.
+    coll add:(items literalArrayEncoding).
+    coll add:(groupSizes literalArrayEncoding).
+    coll add:nil.
+    ^ coll asArray
 ! !
 
 !Menu methodsFor:'startup'!
@@ -271,5 +326,5 @@
 !Menu class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/Menu.st,v 1.5 1997-02-26 09:42:03 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/Menu.st,v 1.6 1997-03-05 16:06:25 ca Exp $'
 ! !