remember builders old spec&source, when reused to build a
authortm
Wed, 14 Jul 1999 12:43:53 +0200
changeset 1205 a631dc401a71
parent 1204 a043422d0565
child 1206 fe2354feee01
remember builders old spec&source, when reused to build a subcanvas.
AppModel.st
ApplicationModel.st
--- a/AppModel.st	Wed Jul 14 12:42:27 1999 +0200
+++ b/AppModel.st	Wed Jul 14 12:43:53 1999 +0200
@@ -1414,13 +1414,16 @@
 buildSubCanvas:spec withBuilder:aBuilder
     "build a subcanvases spec into aSubcanvas"
 
-    |sameApp|
+    |sameApp prevSpec prevSource|
 
     builder isNil ifTrue:[
         builder := aBuilder.
         aBuilder isNil ifTrue:[
             self createBuilder
         ]
+    ] ifFalse:[
+        prevSpec := aBuilder spec.
+        prevSource := aBuilder source.
     ].
 
     aBuilder source:self.
@@ -1444,6 +1447,13 @@
     ] ifFalse:[
         self postBuildWith:aBuilder.
     ].
+
+    prevSpec notNil ifTrue:[
+        "/ restore state in builder if original builder was used
+        aBuilder spec:prevSpec.
+        aBuilder source:prevSource.
+    ].
+
     ^ aBuilder
 
     "Created: / 18.6.1998 / 20:08:45 / cg"
@@ -2106,6 +2116,6 @@
 !ApplicationModel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/Attic/AppModel.st,v 1.107 1999-07-05 22:00:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/Attic/AppModel.st,v 1.108 1999-07-14 10:43:53 tm Exp $'
 ! !
 ApplicationModel initialize!
--- a/ApplicationModel.st	Wed Jul 14 12:42:27 1999 +0200
+++ b/ApplicationModel.st	Wed Jul 14 12:43:53 1999 +0200
@@ -1414,13 +1414,16 @@
 buildSubCanvas:spec withBuilder:aBuilder
     "build a subcanvases spec into aSubcanvas"
 
-    |sameApp|
+    |sameApp prevSpec prevSource|
 
     builder isNil ifTrue:[
         builder := aBuilder.
         aBuilder isNil ifTrue:[
             self createBuilder
         ]
+    ] ifFalse:[
+        prevSpec := aBuilder spec.
+        prevSource := aBuilder source.
     ].
 
     aBuilder source:self.
@@ -1444,6 +1447,13 @@
     ] ifFalse:[
         self postBuildWith:aBuilder.
     ].
+
+    prevSpec notNil ifTrue:[
+        "/ restore state in builder if original builder was used
+        aBuilder spec:prevSpec.
+        aBuilder source:prevSource.
+    ].
+
     ^ aBuilder
 
     "Created: / 18.6.1998 / 20:08:45 / cg"
@@ -2106,6 +2116,6 @@
 !ApplicationModel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libview2/ApplicationModel.st,v 1.107 1999-07-05 22:00:33 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libview2/ApplicationModel.st,v 1.108 1999-07-14 10:43:53 tm Exp $'
 ! !
 ApplicationModel initialize!