diff -r 36916e4ce9ab -r ed108e53c783 UIPainter.st --- a/UIPainter.st Thu Dec 07 08:50:17 2000 +0100 +++ b/UIPainter.st Thu Dec 07 14:43:47 2000 +0100 @@ -3579,28 +3579,32 @@ |cls application| self hasSpecClassAndSelector ifFalse:[ - self doSave isNil ifTrue: [^nil]. + self doSave isNil ifTrue: [^nil]. ] ifTrue: [ - self askForSectionModification. - (modified or: [self painter isModified or: [self helpTool modified]]) - ifTrue: - [ - ((YesNoBox title:'Window Spec was modified!!') - noText:'Cancel'; - yesText:'Save it and start'; - showAtPointer; - accepted) ifFalse: [^nil]. - self doSave isNil ifTrue: [^nil] - ] + self askForSectionModification. + (modified or: [self painter isModified or: [self helpTool modified]]) + ifTrue: + [ + ((YesNoBox title:'Window Spec was modified!!') + noText:'Cancel'; + yesText:'Save it and start'; + showAtPointer; + accepted) ifFalse: [^nil]. + self doSave isNil ifTrue: [^nil] + ] ]. cls := self resolveName:specClass. cls isNil ifTrue:[ - self warn:'Oops cannot start application - no class:' , specClass. - ^ nil + self warn:'Oops cannot start application - no class:' , specClass. + ^ nil ]. ((application := cls new) respondsTo:#openInterface:) ifFalse:[ - ^ self warn:('The application does not respond to the ''openInterface:'' message.\\(maybe the spec is supposed to be used as subApplication/subCanvas)') withCRs. + (self confirm:('The application does not respond to the ''openInterface:'' message.\(maybe the spec is supposed to be used as subApplication/subCanvas)\\Shall I try to open this as a standAlone dialog ?') withCRs) + ifTrue:[ + SimpleDialog new openSpec:(cls perform:specSelector) withBindings:nil. + ]. + ^ self. ]. application openInterface:specSelector !