--- a/DataSetBuilder.st Fri Jul 02 16:39:21 1999 +0200
+++ b/DataSetBuilder.st Fri Jul 02 17:35:21 1999 +0200
@@ -16,7 +16,7 @@
ResourceSpecEditor subclass:#DataSetBuilder
instanceVariableNames:'rowClass rowSuperClass columnView columns selectedColumnIndex
- modalOpened noteBook'
+ modalOpened noteBook listOfSpecViews'
classVariableNames:''
poolDictionaries:''
category:'Interface-UIPainter'
@@ -2082,9 +2082,7 @@
self seqList removeAll.
self updateColumnView.
self updateInfoLabel.
- noteBook client:self spec:nil builder:builder.
- self isColumnSelected value: false.
- ^self
+ ^ self isColumnSelected value: false.
].
specSelector isNil ifTrue: [updateBlock value. ^self].
@@ -2483,7 +2481,10 @@
selectedColumnIndex := 0.
columns := OrderedCollection new.
modalOpened := false.
- noteBook := SubCanvas new.
+ noteBook := View new.
+
+ listOfSpecViews := Array new:(1 + self class slices size).
+ listOfSpecViews at:1 put:(View origin:0.0@0.0 corner:1.0@1.0 in:noteBook).
! !
@@ -2597,7 +2598,7 @@
tabSelection:something
"changes selected tab and set corresponding specification"
- |specSelector|
+ |specSelector view spec|
something == tabSelection ifTrue:[^self].
@@ -2605,11 +2606,22 @@
tabSelection == 0 ifTrue:[^self].
tabSelection := 0
] ifFalse:[
- (tabSelection := something) ~~ 0 ifTrue:[
- specSelector := (self class slices at:tabSelection) last
- ]
+ tabSelection := something.
].
- noteBook client:self spec:specSelector builder:builder.
+ view := listOfSpecViews at:(tabSelection + 1).
+
+ view isNil ifTrue:[
+ view := View origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
+ specSelector := (self class slices at:tabSelection) last.
+ spec := self class interfaceSpecFor:specSelector.
+ self builder buildFromSpec:spec in:view.
+
+ noteBook realized ifTrue:[
+ noteBook realizeAllSubViews
+ ].
+ listOfSpecViews at:(tabSelection + 1) put:view.
+ ].
+ view raise.
! !
!DataSetBuilder methodsFor:'startup / release'!