--- a/MenuView.st Thu Jan 29 10:44:54 1998 +0100
+++ b/MenuView.st Thu Jan 29 12:59:11 1998 +0100
@@ -655,26 +655,26 @@
nMore "{ Class: SmallInteger }"|
list isNil ifTrue:[
- ^ self addLabels:moreLabels selectors:moreSelectors
+ ^ self addLabels:moreLabels selectors:moreSelectors
].
"
be user friendly - allow both label or selector
to be passed
"
aLabelOrSelectorOrNumber isNil ifTrue:[
- idx := 1
+ idx := 1
] ifFalse:[
- idx := self indexOf:aLabelOrSelectorOrNumber.
- (idx between:2 and:(list size + 1)) ifFalse:[
- "add to beginning"
- idx := 1
- ]
+ idx := self indexOf:aLabelOrSelectorOrNumber.
+ (idx between:2 and:(list size + 1)) ifFalse:[
+ "add to beginning"
+ idx := 1
+ ]
].
nMore := moreLabels size.
"/ just a check
moreSelectors size ~~ nMore ifTrue:[
- ^ self error
+ ^ self error
].
oldSize := list size.
@@ -682,70 +682,82 @@
list := list asOrderedCollection.
i := idx.
moreLabels do:[:aLabel |
- list add:aLabel beforeIndex:i. i := i + 1.
+ list add:aLabel beforeIndex:i. i := i + 1.
].
selectors := selectors asOrderedCollection.
i := idx.
moreSelectors do:[:sel |
- selectors add:sel beforeIndex:i. i := i + 1.
+ selectors add:sel beforeIndex:i. i := i + 1.
].
enableFlags := enableFlags asOrderedCollection.
i := idx.
nMore timesRepeat:[
- enableFlags add:true beforeIndex:i. i := i + 1.
+ enableFlags add:true beforeIndex:i. i := i + 1.
].
subMenus notNil ifTrue:[
- subMenus := subMenus asOrderedCollection.
- i := idx.
- nMore timesRepeat:[
- subMenus add:nil beforeIndex:i. i := i + 1.
- ].
+ subMenus := subMenus asOrderedCollection.
+ i := idx.
+ i >= subMenus size ifTrue:[
+ subMenus grow:i-1
+ ].
+ nMore timesRepeat:[
+ subMenus add:nil beforeIndex:i. i := i + 1.
+ ].
].
args notNil ifTrue:[
- args := args asOrderedCollection.
- i := idx.
- nMore timesRepeat:[
- args add:nil beforeIndex:i. i := i + 1.
- ]
+ args := args asOrderedCollection.
+ i := idx.
+ i >= args size ifTrue:[
+ args grow:i-1
+ ].
+ nMore timesRepeat:[
+ args add:nil beforeIndex:i. i := i + 1.
+ ]
].
actions notNil ifTrue:[
- actions := actions asOrderedCollection.
- i := idx.
- nMore timesRepeat:[
- actions add:nil beforeIndex:i. i := i + 1.
- ]
+ actions := actions asOrderedCollection.
+ i := idx.
+ i >= actions size ifTrue:[
+ actions grow:i-1
+ ].
+ nMore timesRepeat:[
+ actions add:nil beforeIndex:i. i := i + 1.
+ ]
].
onOffFlags notNil ifTrue:[
- onOffFlags := onOffFlags asOrderedCollection.
- i := idx.
- nMore timesRepeat:[
- onOffFlags add:nil beforeIndex:i. i := i + 1.
- ]
+ onOffFlags := onOffFlags asOrderedCollection.
+ i := idx.
+ i >= onOffFlags size ifTrue:[
+ onOffFlags grow:i-1
+ ].
+ nMore timesRepeat:[
+ onOffFlags add:nil beforeIndex:i. i := i + 1.
+ ]
].
shortKeys isNil ifTrue:[
- shortKeys := OrderedCollection new:oldSize.
- shortKeys grow:oldSize
+ shortKeys := OrderedCollection new:oldSize.
+ shortKeys grow:oldSize
].
shortKeys := shortKeys asOrderedCollection.
i := idx.
shorties isNil ifTrue:[
- nMore timesRepeat:[
- shortKeys add:nil beforeIndex:i. i := i + 1.
- ]
+ nMore timesRepeat:[
+ shortKeys add:nil beforeIndex:i. i := i + 1.
+ ]
] ifFalse:[
- maxShortKeyStringLen := nil.
- shorties do:[:sel |
- shortKeys add:sel beforeIndex:i. i := i + 1.
- ]
+ maxShortKeyStringLen := nil.
+ shorties do:[:sel |
+ shortKeys add:sel beforeIndex:i. i := i + 1.
+ ]
].
shown ifTrue:[
- self resize
+ self resize
] ifFalse:[
- needResize := true
+ needResize := true
].
"
@@ -759,36 +771,36 @@
v2 contents:'before copy'.
m := v2 editMenu.
m
- addLabels:#('new entry1' 'new entry2')
- selectors:#(foo bar)
- before:#copySelection
- accelerators:#(Copy Cut Paste).
+ addLabels:#('new entry1' 'new entry2')
+ selectors:#(foo bar)
+ before:#copySelection
+ accelerators:#(Copy Cut Paste).
v2 middleButtonMenu:m.
v3 := CodeView new open.
v3 contents:'before again '.
m := v3 editMenu.
m
- addLabels:#('new entry1' 'new entry2')
- selectors:#(foo bar)
- before:#again.
+ addLabels:#('new entry1' 'new entry2')
+ selectors:#(foo bar)
+ before:#again.
v3 middleButtonMenu:m.
v4 := CodeView new open.
v4 contents:'at beginning '.
m := v4 editMenu.
m
- addLabels:#('new entry1' 'new entry2' '-')
- selectors:#(foo bar nil)
- before:1.
+ addLabels:#('new entry1' 'new entry2' '-')
+ selectors:#(foo bar nil)
+ before:1.
v4 middleButtonMenu:m.
v5 := CodeView new open.
v5 contents:'at end '.
m := v5 editMenu.
m
- addLabels:#('-' 'new entry1' 'new entry2')
- selectors:#(nil foo bar).
+ addLabels:#('-' 'new entry1' 'new entry2')
+ selectors:#(nil foo bar).
v5 middleButtonMenu:m.
"
@@ -2674,5 +2686,5 @@
!MenuView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg/MenuView.st,v 1.111 1997-11-20 18:02:17 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg/MenuView.st,v 1.112 1998-01-29 11:59:11 ca Exp $'
! !