[squeak-dev] The Trunk: Monticello-bf.535.mcz

Chris Muller asqueaker at gmail.com
Sun Apr 14 16:09:55 UTC 2013


Arrrgghh!!!   I just don't understand why you seem to LOVE modal
warnings and messages don't you?  The problem here is the modality of
the dialog in the first place, the solution should be to get rid of
that not to layer on more modality.

The user should be directing the computer, not vice-versa.

On Thu, Apr 11, 2013 at 7:42 PM,  <commits at source.squeak.org> wrote:
> Bert Freudenberg uploaded a new version of Monticello to project The Trunk:
> http://source.squeak.org/trunk/Monticello-bf.535.mcz
>
> ==================== Summary ====================
>
> Name: Monticello-bf.535
> Author: bf
> Time: 11 April 2013, 5:42:14.486 pm
> UUID: 29816693-6d94-4dd7-ab81-c8ede42620ef
> Ancestors: Monticello-bf.534
>
> Warn user about an interrupted modal dialog.
>
> =============== Diff against Monticello-bf.534 ===============
>
> Item was changed:
>   Model subclass: #MCTool
> +       instanceVariableNames: 'morph label modalProcess modalValue'
> -       instanceVariableNames: 'morph label modal modalValue'
>         classVariableNames: ''
>         poolDictionaries: ''
>         category: 'Monticello-UI'!
>
> Item was changed:
>   ----- Method: MCTool>>answer: (in category 'morphic ui') -----
>   answer: anObject
> +       (modalProcess notNil and: [modalProcess ~~ Processor activeProcess])
> +               ifTrue: [^self inform: 'This modal dialog was interrupted, please close it'].
>         modalValue := anObject.
>         self close.!
>
> Item was changed:
>   ----- Method: MCTool>>show (in category 'morphic ui') -----
>   show
> +       modalProcess := nil.
> -       modal := false.
>         Smalltalk at: #ToolBuilder ifPresent: [:tb | tb open: self. ^ self].
>         ^self window openInWorldExtent: self defaultExtent; yourself!
>
> Item was changed:
>   ----- Method: MCTool>>showLabelled: (in category 'morphic ui') -----
>   showLabelled: labelString
> +       modalProcess := nil.
> -       modal := false.
>         self label: labelString.
>         ^(self window)
>                 openInWorldExtent: self defaultExtent;
>                 yourself!
>
> Item was changed:
>   ----- Method: MCTool>>showModally (in category 'morphic ui') -----
>   showModally
> +       modalProcess := Processor activeProcess.
> -       modal := true.
>         self window openInWorldExtent: (400 at 400).
>         [self window world notNil] whileTrue: [
>                 self window outermostWorldMorph doOneCycle.
>         ].
>         morph := nil.
>         ^ modalValue!
>
>


More information about the Squeak-dev mailing list