UIPainter.st
changeset 1341 83fe4fae7c10
parent 1338 3c1a528c50db
child 1356 189c9cec8ce6
equal deleted inserted replaced
1340:4276358d937b 1341:83fe4fae7c10
  2370 !UIPainter methodsFor:'private'!
  2370 !UIPainter methodsFor:'private'!
  2371 
  2371 
  2372 askForModification
  2372 askForModification
  2373     "asks for window spec modification"
  2373     "asks for window spec modification"
  2374 
  2374 
       
  2375     |painter|
       
  2376 
       
  2377     painter := self painter.
       
  2378 
  2375     self askForSectionModification.    
  2379     self askForSectionModification.    
  2376 
  2380 
  2377     (modified or: [self painter isModified or: [self helpTool modified]])
  2381 
  2378     ifTrue:
  2382     (modified or: [painter isModified or: [self helpTool modified]])
  2379     [
  2383     ifTrue:[
  2380 	((YesNoBox title:(resources string:'Window Spec was modified !!'))        
  2384         ((YesNoBox title:(resources string:'Window Spec was modified !!'))        
  2381 	    noText:(resources string:'Cancel');
  2385             noText:(resources string:'Cancel');
  2382 	    yesText:(resources string:'Forget it and proceed');
  2386             yesText:(resources string:'Forget it and proceed');
  2383 	    showAtPointer;
  2387             showAtPointer;
  2384 	    accepted) ifFalse: [^false].
  2388             accepted) ifFalse: [^false].
  2385 	modified := false.
  2389         modified := false.
  2386 	self painter resetModification
  2390         painter resetModification
  2387     ].
  2391     ].
  2388     ^true
  2392     ^true
  2389 
  2393 
  2390     "Modified: / 20.5.1998 / 02:03:16 / cg"
  2394     "Modified: / 20.5.1998 / 02:03:16 / cg"
  2391 !
  2395 !
  3456     |code painter cls ns|
  3460     |code painter cls ns|
  3457 
  3461 
  3458     self askForSectionModification.
  3462     self askForSectionModification.
  3459 
  3463 
  3460     self hasSpecClassAndSelector ifFalse:[
  3464     self hasSpecClassAndSelector ifFalse:[
  3461 	self doDefineClassAndSelector isNil ifTrue: [^nil]
  3465         self doDefineClassAndSelector isNil ifTrue: [^nil]
  3462     ].
  3466     ].
  3463 
  3467 
  3464     (specClass notNil and: [(cls := Smalltalk at: specClass asSymbol) isClass]) ifFalse:[   
  3468     (specClass notNil and: [(cls := Smalltalk at: specClass asSymbol) isClass]) ifFalse:[   
  3465 	self warn:('Oops - cannot save - class not found: ' , specClass).
  3469         self warn:('Oops - cannot save - class not found: ' , specClass).
  3466 	^nil
  3470         ^nil
  3467     ].
  3471     ].
  3468 
  3472 
  3469 "/    specClass notNil ifTrue:[
  3473 "/    specClass notNil ifTrue:[
  3470 "/        (specClass includes:$:) ifFalse:[
  3474 "/        (specClass includes:$:) ifFalse:[
  3471 "/            (ns := Smalltalk defaultNameSpace) notNil ifTrue:[
  3475 "/            (ns := Smalltalk defaultNameSpace) notNil ifTrue:[
  3492 "/        specClass := cls name.
  3496 "/        specClass := cls name.
  3493 "/    ].
  3497 "/    ].
  3494 
  3498 
  3495     painter := self painter.
  3499     painter := self painter.
  3496     painter 
  3500     painter 
  3497 	className:specClass
  3501         className:specClass
  3498 	superclassName:specSuperclass
  3502         superclassName:specSuperclass
  3499 	selector:specSelector.
  3503         selector:specSelector.
  3500 
  3504 
  3501     code := painter generateWindowSpecMethodSource withCRs.
  3505     code := painter generateWindowSpecMethodSource withCRs.
  3502 
  3506 
  3503     Transcript showCR:'generating windowSpec code...'.
  3507     Transcript showCR:'generating windowSpec code...'.
  3504 
  3508 
  3507     self helpTool installHelpSpecsOnClass:specClass.
  3511     self helpTool installHelpSpecsOnClass:specClass.
  3508 
  3512 
  3509     self updateInfoLabel.
  3513     self updateInfoLabel.
  3510     modified := false.
  3514     modified := false.
  3511     painter resetModification.
  3515     painter resetModification.
  3512 
       
  3513     (cls class implements: specSelector) ifTrue:[
  3516     (cls class implements: specSelector) ifTrue:[
  3514 	self addToHistory: (specClass, ' ', specSelector) -> #loadFromMessage:.
  3517         self addToHistory: (specClass, ' ', specSelector) -> #loadFromMessage:.
  3515     ].
  3518     ].
  3516 
       
  3517 
  3519 
  3518 !
  3520 !
  3519 
  3521 
  3520 doSaveAs
  3522 doSaveAs
  3521     "opens a ResourceSelectionBrowser for saving the window spec on a class"
  3523     "opens a ResourceSelectionBrowser for saving the window spec on a class"