--- a/Menu.st Mon May 24 19:45:01 2004 +0200
+++ b/Menu.st Fri Jun 04 14:37:58 2004 +0200
@@ -226,6 +226,10 @@
groupSizes := something.
!
+items
+ ^ items
+!
+
labelAt:anIndex
"gets the label of the menu item at the given index or nil
"
@@ -481,18 +485,32 @@
findGuiResourcesIn:aResourceContainerOrApplication rememberResourcesIn:aValueHolderOrNil
"setup a resource owner
"
- aResourceContainerOrApplication notNil ifTrue:[
- receiver isNil ifTrue:[
- receiver := aResourceContainerOrApplication
+ |resolvedItems|
+
+ receiver isNil ifTrue:[
+ receiver := aResourceContainerOrApplication
+ ].
+ items isEmptyOrNil ifTrue:[^ self].
+
+ resolvedItems := OrderedCollection new.
+
+ items do:[:anItem |
+ anItem isMenuSlice ifTrue:[ |resItems|
+ resItems := anItem resolveSliceMenuItemsIn:aResourceContainerOrApplication
+ rememberResourcesIn:aValueHolderOrNil.
+
+ resItems notEmptyOrNil ifTrue:[
+ resolvedItems addAll:resItems.
+ ]
+ ] ifFalse:[
+ anItem
+ findGuiResourcesIn:aResourceContainerOrApplication
+ rememberResourcesIn:aValueHolderOrNil.
+
+ resolvedItems add:anItem.
].
- items notNil ifTrue:[
- items do:[:anItem |
- anItem
- findGuiResourcesIn:aResourceContainerOrApplication
- rememberResourcesIn:aValueHolderOrNil
- ]
- ]
- ]
+ ].
+ items := resolvedItems.
! !
!Menu methodsFor:'adding & removing'!
@@ -1054,5 +1072,5 @@
!Menu class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libview2/Menu.st,v 1.57 2003-05-26 11:30:33 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libview2/Menu.st,v 1.58 2004-06-04 12:37:52 ca Exp $'
! !