--- a/TabListEditor.st Tue Jun 15 14:32:15 1999 +0200
+++ b/TabListEditor.st Tue Jun 15 14:45:17 1999 +0200
@@ -787,19 +787,18 @@
buildFromClass:aClass andSelector:aSelector
"build from class and selector
"
- |cls spec list|
+ |cls spec list selectionHolder|
self testMode value: false.
- self selectionHolder value:0.
+ (selectionHolder := self selectionHolder) value:0.
"if opened on a tab list"
(aClass isNil and: [aSelector isNil and: [listOfTabs size > 0]])
- ifTrue:
- [
+ ifTrue:[
listOfTabs notEmpty ifTrue:[
- self selectionHolder value:1
+ selectionHolder value:1
].
- ^nil
+ ^ nil
].
self listOfLabels removeAll.
@@ -855,22 +854,24 @@
buildFromTabList: aTabList
"build from a aTabList"
+ |selectionHolder listOfLabels|
+
rebuildMode := true.
- self selectionHolder value: nil.
- self listOfLabels removeAll.
+ (selectionHolder := self selectionHolder) value: nil.
+ (listOfLabels := self listOfLabels) removeAll.
listOfTabs removeAll.
aTabList do:[:aTabItem|
listOfTabs add: aTabItem.
- self listOfLabels add: aTabItem label
+ listOfLabels add: aTabItem label
].
rebuildMode := false.
modified := false.
listOfTabs notEmpty ifTrue:[
- self selectionHolder value:1
+ selectionHolder value:1
].
self updateInfoLabel
@@ -884,8 +885,7 @@
super update:something with:aParameter from:someObject.
someObject = self testMode
- ifTrue:
- [
+ ifTrue:[
someObject value
ifTrue: [self doTest]
ifFalse:[testView lower. self selectionHolder value:1].
@@ -910,7 +910,7 @@
!
selectedIndex:anIndex
- |s oldSel|
+ |oldSel specChannel|
self listOfLabels notEmpty ifTrue: [self canShowTestMode value: true].
anIndex notNil ifTrue: [self testMode value: false].
@@ -920,11 +920,13 @@
selectedIndex == oldSel ifTrue:[^ self].
+ specChannel := self specChannel.
+
oldSel == 0 ifTrue:[
- self specChannel value:(self class tabSpec)
+ specChannel value:(self class tabSpec)
] ifFalse:[
selectedIndex == 0 ifTrue:[
- self specChannel value:nil
+ specChannel value:nil
]
].
self cancel.
@@ -944,15 +946,12 @@
initialize
"setup aspects used by column description specifications
"
- |holder|
super initialize.
listOfTabs := OrderedCollection new.
selectedIndex := 0.
rebuildMode := false.
-
-
!
openModalOnTabList: aTabList
@@ -977,8 +976,8 @@
"
|label|
- self acceptChannel value:true. "/ toggle to force inputFields to accept
- self acceptChannel value:false.
+ self acceptChannel
+ value:true; value:false. "/ toggle to force inputFields to accept
selectedIndex ~~ 0 ifTrue:[
rebuildMode := true.
@@ -1030,17 +1029,20 @@
doCreateTabItem
- |tab|
+ |tab selectionHolder|
+
self testMode value: false.
tab := TabItem label:'Tab Item ', (listOfTabs size + 1) printString.
listOfTabs add:tab afterIndex:selectedIndex.
self listOfLabels add:(tab label) afterIndex:selectedIndex.
+ selectionHolder := self selectionHolder.
+
selectedIndex == 0 ifTrue:[
- self selectionHolder value:1
+ selectionHolder value:1
] ifFalse:[
- self selectionHolder value:selectedIndex + 1.
+ selectionHolder value:selectedIndex + 1.
self cancel.
].
@@ -1050,20 +1052,20 @@
doCut
"cut selected tab
"
- |list index|
+ |listOfLabels index selectionHolder|
(index := selectedIndex) ~~ 0 ifTrue:[
self testMode value: false.
- list := self listOfLabels.
+ listOfLabels := self listOfLabels.
self clipboard:(listOfTabs at:index) deepCopy.
- self selectionHolder value:0.
+ (selectionHolder := self selectionHolder) value:0.
listOfTabs removeIndex:index.
- list removeIndex:index.
- index > list size ifTrue:[
+ listOfLabels removeIndex:index.
+ index > listOfLabels size ifTrue:[
index := index - 1
].
- self selectionHolder value:index.
- self listOfLabels isEmpty ifTrue: [self canShowTestMode value: false].
+ selectionHolder value:index.
+ listOfLabels isEmpty ifTrue: [self canShowTestMode value: false].
self updateAllToolInstances.
modified := true.
].
@@ -1073,17 +1075,17 @@
doDelete
"delete selected tab
"
- |list index|
+ |listOfLabels index selectionHolder|
(index := selectedIndex) ~~ 0 ifTrue:[
self testMode value: false.
- list := self listOfLabels.
- self selectionHolder value:0.
+ listOfLabels := self listOfLabels.
+ (selectionHolder := self selectionHolder) value:0.
listOfTabs removeIndex:index.
- list removeIndex:index.
- index > list size ifTrue:[index := index - 1].
- self selectionHolder value:index.
- self listOfLabels isEmpty ifTrue: [self canShowTestMode value: false].
+ listOfLabels removeIndex:index.
+ index > listOfLabels size ifTrue:[index := index - 1].
+ selectionHolder value:index.
+ listOfLabels isEmpty ifTrue: [self canShowTestMode value: false].
modified := true.
].
!
@@ -1134,27 +1136,29 @@
doMoveTabUpOrDown:what
"step up or down
"
- |tab list index|
+ |tab listOfLabels index nLabels|
(selectedIndex ~~ 0 and:[listOfTabs size > 1]) ifFalse:[
^ self
].
- list := self listOfLabels.
+ listOfLabels := self listOfLabels.
tab := listOfTabs at:selectedIndex.
- list removeIndex:selectedIndex.
+ listOfLabels removeIndex:selectedIndex.
listOfTabs removeIndex:selectedIndex.
+ nLabels := listOfLabels size.
+
what == #down ifTrue:[
- index := selectedIndex > list size ifTrue:[1]
- ifFalse:[selectedIndex + 1]
+ index := selectedIndex > nLabels ifTrue:[1]
+ ifFalse:[selectedIndex + 1]
] ifFalse:[
- index := selectedIndex == 1 ifTrue:[list size + 1]
+ index := selectedIndex == 1 ifTrue:[nLabels + 1]
ifFalse:[selectedIndex - 1]
].
- list add:(tab label) beforeIndex:index.
+ listOfLabels add:(tab label) beforeIndex:index.
listOfTabs add:tab beforeIndex:index.
rebuildMode := true.
@@ -1168,17 +1172,19 @@
doPaste
"paste a tab
"
- |tab|
+ |tab selectionHolder|
self testMode value: false.
(tab := self class clipboard deepCopy) isNil ifTrue: [^nil].
listOfTabs add:tab afterIndex:selectedIndex.
self listOfLabels add:(tab label) afterIndex:selectedIndex.
+ selectionHolder := self selectionHolder.
+
selectedIndex == 0 ifTrue:[
- self selectionHolder value:1
+ selectionHolder value:1
] ifFalse:[
- self selectionHolder value:selectedIndex + 1.
+ selectionHolder value:selectedIndex + 1.
self cancel.
].