--- 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!