ChangeSetBrowser.st
changeset 1474 a791314e2e1d
parent 1470 6c0fc11207fe
child 2862 ae3f14623d62
--- a/ChangeSetBrowser.st	Sat Feb 07 20:01:02 1998 +0100
+++ b/ChangeSetBrowser.st	Sat Feb 07 20:01:32 1998 +0100
@@ -109,12 +109,63 @@
     "Modified: 3.12.1995 / 18:13:06 / cg"
 ! !
 
+!ChangeSetBrowser ignoredMethodsFor:'private'!
+
+applyChange:changeNr
+    "fileIn a change"
+
+    |nm applyAction|
+
+    nm := self classNameOfChange:changeNr.
+    nm notNil ifTrue:[
+        |cls|
+
+        cls := Smalltalk at:(nm asSymbol) ifAbsent:[].
+        cls notNil ifTrue:[
+            cls isLoaded ifFalse:[
+                cls autoload
+            ]
+        ]
+    ].
+
+    changeNrProcessed := changeNr.
+
+    applyAction := [
+        |sig|
+
+        (skipSignal notNil) ifTrue:[
+            sig := skipSignal
+        ] ifFalse:[
+            sig := Object abortSignal
+        ].
+        sig catch:[
+            |change reader doItChunk methodsForChunk|
+
+            (changeSet at:changeNr) applyChange.
+        ].
+        changeNrProcessed := nil.
+    ].
+
+    "/
+    "/ if I am showing the changes file, dont update it
+    "/
+    changeFileName = ObjectMemory nameForChanges ifTrue:[
+        Class withoutUpdatingChangesDo:applyAction
+    ] ifFalse:[
+        applyAction value
+    ].
+
+    "Created: / 7.2.1998 / 19:32:35 / cg"
+    "Modified: / 7.2.1998 / 19:35:11 / cg"
+! !
+
 !ChangeSetBrowser methodsFor:'private'!
 
 changeIsFollowupMethodChange:changeNr
     ^ false
 
     "Created: / 6.2.1998 / 13:04:59 / cg"
+    "Modified: / 7.2.1998 / 19:28:52 / cg"
 !
 
 changeSet:aChangeSet
@@ -144,10 +195,10 @@
 !
 
 classNameOfChange:nr
-    ^ (changeSet at:nr) class name
+    ^ (changeSet at:nr) className
 
-    "Created: 3.12.1995 / 18:15:56 / cg"
-    "Modified: 3.12.1995 / 18:20:12 / cg"
+    "Created: / 3.12.1995 / 18:15:56 / cg"
+    "Modified: / 7.2.1998 / 19:24:29 / cg"
 !
 
 fullClassNameOfChange:nr
@@ -210,24 +261,39 @@
 silentDeleteChange:changeNr
     "delete a change do not update changeListView"
 
-    anyChanges := true.
-    changeChunks removeIndex:changeNr.
-    changeHeaderLines removeIndex:changeNr.
-"/    changeClassNames removeIndex:changeNr.
-    changeSet removeIndex:changeNr
+    changeSet removeIndex:changeNr.
+    super silentDeleteChange:changeNr.
+
+    "Created: / 3.12.1995 / 18:14:17 / cg"
+    "Modified: / 7.2.1998 / 19:57:57 / cg"
+!
 
-    "Created: 3.12.1995 / 18:14:17 / cg"
-    "Modified: 3.12.1995 / 18:18:42 / cg"
+silentDeleteInternalChange:changeNr
+    "delete a change do not update changeListView"
+
+    changeSet removeIndex:changeNr.
+    super silentDeleteInternalChange:changeNr.
+
+    "Modified: / 7.2.1998 / 19:44:45 / cg"
+    "Created: / 7.2.1998 / 19:58:02 / cg"
 !
 
 streamForChange:changeNr
     "answer a stream for change"
 
-    |change|
+    |change s|
 
     change := changeSet at:changeNr.
     change isNil ifTrue:[^nil].
+    change isMethodChange ifTrue:[
+        s := '!!' , change className , 
+             ' methodsFor:''' , change methodCategory , '''!!\' withCRs ,
+             change source , '\' withCRs , '!! !!\' withCRs.
+        ^ ReadStream on:s
+    ].
     ^ ReadStream on:(change source)
+
+    "Modified: / 7.2.1998 / 19:52:44 / cg"
 ! !
 
 !ChangeSetBrowser methodsFor:'user actions'!
@@ -254,5 +320,5 @@
 !ChangeSetBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.12 1998-02-07 18:11:26 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangeSetBrowser.st,v 1.13 1998-02-07 19:01:32 cg Exp $'
 ! !