[squeak-dev] The Trunk: Tools-cmm.823.mcz

Eliot Miranda eliot.miranda at gmail.com
Mon Jun 25 21:11:49 UTC 2018


Hi Chris, Hi All,

On Sat, Jun 23, 2018 at 4:06 PM, <commits at source.squeak.org> wrote:

> Chris Muller uploaded a new version of Tools to project The Trunk:
> http://source.squeak.org/trunk/Tools-cmm.823.mcz
>
> ==================== Summary ====================
>
> Name: Tools-cmm.823
> Author: cmm
> Time: 23 June 2018, 6:05:38.664539 pm
> UUID: 8f7a7bf2-a8e3-497c-a90f-fb2522c558dc
> Ancestors: Tools-eem.822
>
> Added Debugger class>>#rememberExtent: to allow toggling the debuggers
> initial extent between either classic RealEstateManager preferences or the
> extent of the most-recently-closed Debugger.
>
> =============== Diff against Tools-eem.822 ===============
>
> Item was added:
> + ----- Method: Debugger class>>rememberExtent: (in category 'opening')
> -----
> + rememberExtent: aBoolean
> +       "Set whether to try to remember the last size of the debugger."
> +       SavedExtent := aBoolean ifTrue:
> +               [ SavedExtent ifNil:
> +                       [ "Start at a 33% width, 95% height of the
> desktop.  Use division for its built-in truncation."
> +                       Project current world extent // (3 at 1.05) ] ]!
>

I don't get this.  You've added this but I don't see it sent anywhere.
And what of the default 33%@95% height?  What if the display is  2560 at 1440
?  Isn't there some sensible maximum here?

I wish instead someone would extend RealEstateManager so that this all but
essential feature is available to all system tool windows.  Yes, things
need resetting or updating on display extent change (for example, scan,ling
saved extents by the change in display extent).


> Item was changed:
>   ----- Method: Debugger>>buildFullWith: (in category 'toolbuilder') -----
>   buildFullWith: builder
>         | windowSpec listSpec textSpec |
>         windowSpec := builder pluggableWindowSpec new
>                 model: self;
>                 label: 'Debugger';
>                 children: OrderedCollection new.
> -       SavedExtent ifNotNil:
> -               [windowSpec extent: SavedExtent].
>
>         listSpec := builder pluggableListSpec new.
>         listSpec
>                 model: self;
>                 list: #contextStackList;
>                 getIndex: #contextStackIndex;
>                 setIndex: #toggleContextStackIndex:;
>                 menu: #contextStackMenu:shifted:;
>                 icon: #messageIconAt:;
>                 helpItem: #messageHelpAt:;
>                 keyPress: #contextStackKey:from:;
>                 frame: (0 at 0 corner: 1 at 0.22).
>         windowSpec children add: listSpec.
>
>
>         textSpec := self buildCodePaneWith: builder.
>         textSpec frame: (0 at 0.22corner: 1 at 0.8).
>         windowSpec children add: textSpec.
>
>         listSpec := builder pluggableListSpec new.
>         listSpec
>                 model: self receiverInspector;
>                 list: #fieldList;
>                 getIndex: #selectionIndex;
>                 setIndex: #toggleIndex:;
>                 menu: #fieldListMenu:;
>                 keyPress: #inspectorKey:from:;
>                 frame: (0 at 0.8 corner: 0.2 at 1);
>                 help: 'Receiver''s\Instance\Variables' withCRs.
>         windowSpec children add: listSpec.
>
>         textSpec := builder pluggableTextSpec new.
>         textSpec
>                 model: self receiverInspector;
>                 getText: #contents;
>                 setText: #accept:;
>                 help: '<- Select receiver''s field' translated;
>                 selection: #contentsSelection;
>                 menu: #codePaneMenu:shifted:;
>                 frame: (0.2 at 0.8 corner: 0.5 at 1).
>         windowSpec children add: textSpec.
>
>         listSpec := builder pluggableListSpec new.
>         listSpec
>                 model: self contextVariablesInspector;
>                 list: #fieldList;
>                 getIndex: #selectionIndex;
>                 setIndex: #toggleIndex:;
>                 menu: #fieldListMenu:;
>                 keyPress: #inspectorKey:from:;
>                 frame: (0.5 at 0.8 corner: 0.7 at 1);
>                 help: 'Other\Context\Bindings' withCRs.
>         windowSpec children add: listSpec.
>
>         textSpec := builder pluggableTextSpec new.
>         textSpec
>                 model: self contextVariablesInspector;
>                 getText: #contents;
>                 setText: #accept:;
>                 help: '<- Select context''s field' translated;
>                 selection: #contentsSelection;
>                 menu: #codePaneMenu:shifted:;
>                 frame: (0.7 at 0.8 corner: 1 at 1).
>         windowSpec children add: textSpec.
>
>         ^builder build: windowSpec!
>
> Item was changed:
>   ----- Method: Debugger>>initialExtent (in category 'initialize') -----
>   initialExtent
>         "Initial extent for the full debugger. For the notifier's extent
> see #initialExtentForNotifier."
>
> +       ^ SavedExtent ifNil: [ 600 at 700]!
> -       ^ 600 at 700!
>
> Item was changed:
>   ----- Method: Debugger>>windowIsClosing (in category 'initialize') -----
>   windowIsClosing
> +       "My window is being closed; if debugging save its extent.  Clean
> up.  Restart the low space watcher."
> +       interruptedProcess ifNil: [ ^ self ].
> +       SavedExtent ifNotNil:
> +               [ self dependents
> +                       detect:
> +                               [ : each | each isWindowForModel: self ]
> +                       ifFound:
> +                               [ : topWindow | | isDebuggerNotNotifier |
> +                               isDebuggerNotNotifier := self dependents
> anySatisfy:
> +                                       [ : each | each isTextView ].
> +                               isDebuggerNotNotifier ifTrue: [
> SavedExtent := topWindow extent ] ]
> +                       ifNone: [ "do nothing" ] ].
> -       "My window is being closed; if debugging save its extent.
> -        Clean up.  Restart the low space watcher."
> -
> -       interruptedProcess ifNil: [^self].
> -       (self dependents detect: [:m| m isWindowForModel: self] ifNone:
> []) ifNotNil:
> -               [:topWindow| | isDebuggerNotNotifier |
> -                isDebuggerNotNotifier := self dependents anySatisfy: [:m|
> m isTextView].
> -                isDebuggerNotNotifier ifTrue:
> -                       [SavedExtent := topWindow extent]].
>         interruptedProcess terminate.
> +       interruptedProcess := interruptedController := contextStack :=
> receiverInspector := contextVariablesInspector := nil.
> +       "Restart low space watcher."
> +       Smalltalk installLowSpaceWatcher!
> -       interruptedProcess := nil.
> -       interruptedController := nil.
> -       contextStack := nil.
> -       receiverInspector := nil.
> -       contextVariablesInspector := nil.
> -       Smalltalk installLowSpaceWatcher  "restart low space handler"
> - !
>
>
>


-- 
_,,,^..^,,,_
best, Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20180625/6dac7fad/attachment.html>


More information about the Squeak-dev mailing list