checkin from browser
authorClaus Gittinger <cg@exept.de>
Tue, 20 Jul 1999 18:00:00 +0200
changeset 4416 c6f292792b81
parent 4415 dff1649c072c
child 4417 6295d85911a7
checkin from browser
PosStream.st
PositionableStream.st
--- a/PosStream.st	Tue Jul 20 09:54:25 1999 +0200
+++ b/PosStream.st	Tue Jul 20 18:00:00 1999 +0200
@@ -379,6 +379,15 @@
     "launch a box asking if a debugger is wanted - used when an error
      occurs while filing in"
 
+    ^ self askForDebug:message canContinueForAll:false
+!
+
+askForDebug:message canContinueForAll:canContinueForAll
+    "launch a box asking if a debugger is wanted - used when an error
+     occurs while filing in"
+
+    |labels values|
+
     Smalltalk isInitialized ifFalse:[
         'PositionableStream [warning]: fileIn error during startup: ' errorPrint. message errorPrintCR.
         ^ #debug
@@ -391,12 +400,20 @@
         ^ #continue
     ].
 
+    canContinueForAll ifTrue:[
+          labels := #('cancel' 'skip' 'debug' 'dont ask again' 'continue').
+          values := #(#abort #skip #debug #continueForAll #continue).
+    ] ifFalse:[
+          labels := #('cancel' 'skip' 'debug' 'continue').
+          values := #(#abort #skip #debug #continue).
+    ].
+
     ^ OptionBox 
           request:message 
           label:'Error in fileIn'
           form:(WarningBox iconBitmap)
-          buttonLabels:#('cancel' 'skip' 'debug' 'continue')
-          values:#(#abort #skip #debug #continue)
+          buttonLabels:labels
+          values:values
           default:#continue.
 
     "Modified: 10.1.1997 / 18:00:56 / cg"
@@ -501,7 +518,8 @@
      packageQuerySignal nameSpaceQuerySignal usedNameSpaceQuerySignal
      changeDefaultApplicationNotificationSignal
      defaultApplicationQuerySignal defaultApplication
-     confirmationQuerySignal handledSignals|
+     confirmationQuerySignal handledSignals
+     dontAskSignals|
 
     "/ support for V'Age applications
     defaultApplicationQuerySignal := Class defaultApplicationQuerySignal.
@@ -546,7 +564,8 @@
     handledSignals add:(Class classRedefinitionSignal).
     handledSignals add:confirmationQuerySignal.
     handledSignals handle:[:ex |
-        |sig action what sender msg param oldPackage newPackage proceedValue|
+        |sig action what sender msg param oldPackage newPackage proceedValue
+         canContinueForAll|
 
         sig := ex signal.
         sig == changeDefaultApplicationNotificationSignal ifTrue:[
@@ -587,6 +606,8 @@
             ].
         ].
 
+        canContinueForAll := false.
+
         "/ for your convenience ...
         (sig == Class methodRedefinitionSignal) ifTrue:[
             param := ex parameter. "/ an association: oldMethod -> newMethod
@@ -595,6 +616,7 @@
             msg := 'trying to overwrite method:\\    %1\\in package ''' 
                    , oldPackage , ''' with method from package ''' , newPackage , ''''.
             proceedValue := #keep.
+            canContinueForAll := true.
         ] ifFalse:[
             (sig == Class classRedefinitionSignal) ifTrue:[
                 param := ex parameter. "/ an association: oldClass -> newClass
@@ -603,11 +625,20 @@
                 msg := 'trying to redefine class:\\    %1\\in package ''' 
                        , oldPackage , ''' with new definition from package ''' , newPackage , ''''.
                 proceedValue := #keep.
+                canContinueForAll := true.
             ] ifFalse:[
                 msg := 'error in fileIn: %1'
             ]
         ].
 
+        (dontAskSignals notNil and:[dontAskSignals includes:sig]) ifTrue:[
+            proceedValue notNil ifTrue:[
+                ex proceedWith:proceedValue
+            ] ifFalse:[
+                ex proceed
+            ]
+        ].
+
         what := ex errorString.
         what isNil ifTrue:[
             what := ex signal notifierString.
@@ -634,7 +665,15 @@
         "/ otherwise ask what should be done now and either
         "/ continue or abort the fileIn
 
-        action := self askForDebug:msg withCRs.
+        action := self askForDebug:msg withCRs canContinueForAll:canContinueForAll.
+        action == #continueForAll ifTrue:[
+            dontAskSignals isNil ifTrue:[
+                dontAskSignals := OrderedCollection new.
+            ].
+            dontAskSignals add:sig.
+            action == #continue
+        ].
+
         action == #continue ifTrue:[
             proceedValue notNil ifTrue:[
                 ex proceedWith:proceedValue
@@ -944,6 +983,6 @@
 !PositionableStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.75 1999-07-19 16:31:48 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Attic/PosStream.st,v 1.76 1999-07-20 16:00:00 cg Exp $'
 ! !
 PositionableStream initialize!
--- a/PositionableStream.st	Tue Jul 20 09:54:25 1999 +0200
+++ b/PositionableStream.st	Tue Jul 20 18:00:00 1999 +0200
@@ -379,6 +379,15 @@
     "launch a box asking if a debugger is wanted - used when an error
      occurs while filing in"
 
+    ^ self askForDebug:message canContinueForAll:false
+!
+
+askForDebug:message canContinueForAll:canContinueForAll
+    "launch a box asking if a debugger is wanted - used when an error
+     occurs while filing in"
+
+    |labels values|
+
     Smalltalk isInitialized ifFalse:[
         'PositionableStream [warning]: fileIn error during startup: ' errorPrint. message errorPrintCR.
         ^ #debug
@@ -391,12 +400,20 @@
         ^ #continue
     ].
 
+    canContinueForAll ifTrue:[
+          labels := #('cancel' 'skip' 'debug' 'dont ask again' 'continue').
+          values := #(#abort #skip #debug #continueForAll #continue).
+    ] ifFalse:[
+          labels := #('cancel' 'skip' 'debug' 'continue').
+          values := #(#abort #skip #debug #continue).
+    ].
+
     ^ OptionBox 
           request:message 
           label:'Error in fileIn'
           form:(WarningBox iconBitmap)
-          buttonLabels:#('cancel' 'skip' 'debug' 'continue')
-          values:#(#abort #skip #debug #continue)
+          buttonLabels:labels
+          values:values
           default:#continue.
 
     "Modified: 10.1.1997 / 18:00:56 / cg"
@@ -501,7 +518,8 @@
      packageQuerySignal nameSpaceQuerySignal usedNameSpaceQuerySignal
      changeDefaultApplicationNotificationSignal
      defaultApplicationQuerySignal defaultApplication
-     confirmationQuerySignal handledSignals|
+     confirmationQuerySignal handledSignals
+     dontAskSignals|
 
     "/ support for V'Age applications
     defaultApplicationQuerySignal := Class defaultApplicationQuerySignal.
@@ -546,7 +564,8 @@
     handledSignals add:(Class classRedefinitionSignal).
     handledSignals add:confirmationQuerySignal.
     handledSignals handle:[:ex |
-        |sig action what sender msg param oldPackage newPackage proceedValue|
+        |sig action what sender msg param oldPackage newPackage proceedValue
+         canContinueForAll|
 
         sig := ex signal.
         sig == changeDefaultApplicationNotificationSignal ifTrue:[
@@ -587,6 +606,8 @@
             ].
         ].
 
+        canContinueForAll := false.
+
         "/ for your convenience ...
         (sig == Class methodRedefinitionSignal) ifTrue:[
             param := ex parameter. "/ an association: oldMethod -> newMethod
@@ -595,6 +616,7 @@
             msg := 'trying to overwrite method:\\    %1\\in package ''' 
                    , oldPackage , ''' with method from package ''' , newPackage , ''''.
             proceedValue := #keep.
+            canContinueForAll := true.
         ] ifFalse:[
             (sig == Class classRedefinitionSignal) ifTrue:[
                 param := ex parameter. "/ an association: oldClass -> newClass
@@ -603,11 +625,20 @@
                 msg := 'trying to redefine class:\\    %1\\in package ''' 
                        , oldPackage , ''' with new definition from package ''' , newPackage , ''''.
                 proceedValue := #keep.
+                canContinueForAll := true.
             ] ifFalse:[
                 msg := 'error in fileIn: %1'
             ]
         ].
 
+        (dontAskSignals notNil and:[dontAskSignals includes:sig]) ifTrue:[
+            proceedValue notNil ifTrue:[
+                ex proceedWith:proceedValue
+            ] ifFalse:[
+                ex proceed
+            ]
+        ].
+
         what := ex errorString.
         what isNil ifTrue:[
             what := ex signal notifierString.
@@ -634,7 +665,15 @@
         "/ otherwise ask what should be done now and either
         "/ continue or abort the fileIn
 
-        action := self askForDebug:msg withCRs.
+        action := self askForDebug:msg withCRs canContinueForAll:canContinueForAll.
+        action == #continueForAll ifTrue:[
+            dontAskSignals isNil ifTrue:[
+                dontAskSignals := OrderedCollection new.
+            ].
+            dontAskSignals add:sig.
+            action == #continue
+        ].
+
         action == #continue ifTrue:[
             proceedValue notNil ifTrue:[
                 ex proceedWith:proceedValue
@@ -944,6 +983,6 @@
 !PositionableStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.75 1999-07-19 16:31:48 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.76 1999-07-20 16:00:00 cg Exp $'
 ! !
 PositionableStream initialize!