*** empty log message ***
authorClaus Gittinger <cg@exept.de>
Wed, 23 Aug 2006 16:14:04 +0200
changeset 3354 98ef31b9f367
parent 3353 bdb444052c4b
child 3355 abe6b60871f2
*** empty log message ***
ObjectView.st
--- a/ObjectView.st	Wed Aug 23 16:06:07 2006 +0200
+++ b/ObjectView.st	Wed Aug 23 16:14:04 2006 +0200
@@ -2610,6 +2610,52 @@
     self fileInContentsFrom:aStream redraw:redraw new:new binary:false
 !
 
+fileInContentsFrom:aStream redraw:redraw new:new binary:binary
+    "if the new argument is true, remove all objects.
+     Then load objects from aStream. If redraw is false, no redraw
+     is done
+     (allows fileIn of multiple files doing a single redraw at the end)."
+
+    binary ifTrue:[
+        aStream binary
+    ].
+    self topView withReadCursorDo:[
+        |newObject chunk individualRedraw|
+
+        self unselect.
+        individualRedraw := redraw.
+        new ifTrue:[
+            self removeAll.
+            individualRedraw := false.
+        ].
+        [aStream atEnd] whileFalse:[
+            binary ifTrue:[
+                newObject := Object readBinaryFrom:aStream
+            ] ifFalse:[
+                chunk := aStream nextChunk.
+                (chunk size > 0) ifTrue:[
+                    newObject := Compiler evaluate:chunk compile:false.
+                ] ifFalse:[
+                    newObject := nil
+                ]
+            ].
+            newObject notNil ifTrue:[
+                self initializeFileInObject:newObject.
+                individualRedraw ifFalse:[
+                    self addObjectWithoutRedraw:newObject
+                ] ifTrue:[
+                    self addObject:newObject
+                ]
+            ]
+        ].
+        (new and:[redraw]) ifTrue:[
+            self invalidate
+        ]
+    ]
+
+    "Modified: / 30.1.1998 / 01:02:16 / cg"
+!
+
 initializeFileInObject:anObject
     "each object may be processed here after its being filed-in
      - subclasses may do whatever they want here ...
@@ -3361,5 +3407,5 @@
 !ObjectView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/ObjectView.st,v 1.120 2006-08-23 14:06:07 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/ObjectView.st,v 1.121 2006-08-23 14:14:04 cg Exp $'
 ! !