[squeak-dev] The Inbox: Morphic-jr.1315.mcz

Jakob Reschke jakob.reschke at student.hpi.de
Thu Nov 3 13:01:27 UTC 2016


Hi all,

then I will probably keep that menu item for myself until the next
time the menu is changed in the update stream. ;-) Good to have made
the acquaintance of the toggle button, though.

Best,
Jakob

2016-11-03 9:58 GMT+01:00 Herbert König <herbertkoenig at gmx.net>:
> Hi Jakob,
>
> Inspectors do life update and are much quicker if your Object has large
> Collections. I use them more often than explorers.
>
> Cheers,
> Herbert
>
>
> -------- Ursprüngliche Nachricht --------
> Von: Jakob Reschke
> Datum:03.11.2016 01:19 (GMT+01:00)
> An: ma.chris.m at gmail.com,The general-purpose Squeak developers list
> Betreff: Re: [squeak-dev] The Inbox: Morphic-jr.1315.mcz
>
> There is a toggle button? Ah, yes, it did not cross my mind that the
> button in the lower right corner would change the tool itself.
> Actually I did not even really notice the button until now... you may
> call be routine-blinded. But at first glance I would imagine that
> button to be linked to the evaluation box left of the button, even if
> that makes no sense on second thought.
>
> For reference, the first place I searched for the toggle button was
> the SystemWindow title bar or rather the window menu, being prejudiced
> against the actual button. If there ever was a discussion about this
> feature and the button placement, I clearly missed that as well.
>
> However, coming back to the debug menu, I cannot imagine a reason to
> ever want an Inspector rather than an Explorer for the model, except
> when the Explorer screws up on that particular object, at least when
> using the StandardToolSet.
>
> 2016-11-03 0:58 GMT+01:00 Chris Muller <asqueaker at gmail.com>:
>> Now that we have the Inspect/Explore toggle button on both the
>> Inspector and Explorer, I wondered whether we would have the
>> opportunity to shorten this menu rather than continue doubling up
>> every menu item.  (inspect, explore) * ("it", world, morph, owner
>> chain, model) becomes a lot of combinations..
>>
>> On Wed, Nov 2, 2016 at 10:08 AM,  <commits at source.squeak.org> wrote:
>>> A new version of Morphic was added to project The Inbox:
>>> http://source.squeak.org/inbox/Morphic-jr.1315.mcz
>>>
>>> ==================== Summary ====================
>>>
>>> Name: Morphic-jr.1315
>>> Author: jr
>>> Time: 2 November 2016, 4:07:47.490156 pm
>>> UUID: b62211be-55cc-e34a-a7c5-add76ead2b6f
>>> Ancestors: Morphic-nice.1314
>>>
>>> add 'explore model' to a Morph's debug menu
>>>
>>> in addition to 'inspect model'
>>>
>>> =============== Diff against Morphic-nice.1314 ===============
>>>
>>> Item was changed:
>>>   ----- Method: MenuIcons class>>itemsIcons (in category 'menu
>>> decoration') -----
>>>   itemsIcons
>>>         "answer a collection of associations wordings -> icon to
>>>         decorate
>>>         the menus all over the image"
>>>         | icons |
>>>         icons := OrderedCollection new.
>>>
>>>         "icons add: #('Test Runner' ) -> self smallTrafficIcon."
>>>
>>>         "
>>>         world menu"
>>>         "icons add: #('previous project' 'go to previous project') ->
>>> self smallProjectBackIcon."
>>>         icons add: #('go to next project') -> self smallProjectNextIcon.
>>>         icons add: #('select' ) -> self smallSelectIcon.
>>>         icons add: #('jump to project...' ) -> self smallProjectJumpIcon.
>>>         icons add: #('open...' ) -> self smallOpenIcon.
>>>         icons add: #('appearance...' ) -> self smallConfigurationIcon.
>>>         icons add: #('help...' ) -> self smallHelpIcon.
>>>         "icons add: #('windows...' ) -> self smallWindowIcon."
>>>         icons add: #('changes...' ) -> self smallDocumentClockIcon.
>>>         icons add: #('print PS to file...' ) -> self smallPrintIcon.
>>>         icons add: #('debug...' ) -> self smallDebugIcon.
>>>         icons add: #('export...' ) -> self smallExportIcon.
>>>         icons add: #('save' ) -> self smallSaveIcon.
>>>         "icons add: #('save project on file...' ) -> self
>>> smallProjectSaveIcon."
>>>         "icons add: #('save as...') -> self smallSaveAsIcon.
>>>         icons add: #('save as new version') -> self smallSaveNewIcon.
>>>         icons add: #('save and quit' ) -> self smallQuitIcon."
>>>         icons add: #('quit') -> self smallQuitNoSaveIcon.
>>>         "icons add: #('load project from file...' ) -> self
>>> smallProjectLoadIcon."
>>>         ""
>>>         icons add: #('do it (d)' ) -> self smallDoItIcon.
>>> +       icons add: #('inspect it (i)' 'inspect world' 'explore world'
>>> 'inspect model' 'explore model' 'inspect morph' 'explore morph' 'inspect
>>> owner chain' 'explore' 'inspect' 'explore (I)' 'inspect (i)' 'basic inspect'
>>> ) -> self smallInspectItIcon.
>>> -       icons add: #('inspect it (i)' 'inspect world' 'explore world'
>>> 'inspect model' 'inspect morph' 'explore morph' 'inspect owner chain'
>>> 'explore' 'inspect' 'explore (I)' 'inspect (i)' 'basic inspect' ) -> self
>>> smallInspectItIcon.
>>>         icons add: #('print it (p)' ) -> self smallPrintIcon.
>>>         icons add: #('debug it (D)' ) -> self smallDebugIcon.
>>>         icons add: #('tally it' ) -> self smallTimerIcon.
>>>         ""
>>>         icons add: #('copy (c)' 'copy to paste buffer' 'copy text' ) ->
>>> self smallCopyIcon.
>>>         icons add: #('paste (v)') -> self smallPasteIcon.
>>>         icons add: #('cut (x)' ) -> self smallCutIcon.
>>>         ""
>>>         icons add: #('accept (s)' 'yes' 'Yes' ) -> self smallOkIcon.
>>>         icons add: #('cancel (l)' 'no' 'No' ) -> self smallCancelIcon.
>>>         ""
>>>         icons add: #('redo (Z)' ) -> self smallRedoIcon.
>>>         icons add: #('undo (z)' ) -> self smallUndoIcon.
>>>         ""
>>>         icons add: #( 'find class... (f)' 'find method...' ) -> self
>>> smallSearchIcon.
>>>         icons add: #('find...(f)') -> self smallFindIcon.
>>>         ""
>>>         icons add: #('remove' 'remove (x)' 'remove class (x)' 'delete
>>> method from changeset (d)' 'remove method from system (x)' 'delete class
>>> from change set (d)' 'remove class from system (x)' 'destroy change set (X)'
>>> ) -> self smallDeleteIcon.
>>>         icons add: #('add item...' 'new category...' 'new change set...
>>> (n)' ) -> self smallNewIcon.
>>>         ""
>>>         icons add: #('objects (o)' ) -> self smallObjectCatalogIcon.
>>>         icons add: #('authoring tools...')  -> self
>>> smallAuthoringToolsIcon.
>>>         icons add: #('projects...')  -> self smallProjectIcon.
>>>         ""
>>>         icons add: #('make screenshot')  -> self smallScreenshotIcon.
>>>
>>>         ""
>>>         icons add: #('leftFlush' ) -> self smallLeftFlushIcon.
>>>         icons add: #('rightFlush' ) -> self smallRightFlushIcon.
>>>         icons add: #('centered' 'set alignment... (u)' ) -> self
>>> smallCenteredIcon.
>>>         icons add: #('justified' ) -> self smallJustifiedIcon.
>>>         ""
>>>         icons add: #('set font... (k)' 'list font...' 'set subtitles
>>> font' 'change font' 'system fonts...' 'change font...' 'default text
>>> font...' 'flaps font...' 'eToys font...' 'eToys title font...' 'halo label
>>> font...' 'menu font...' 'window-title font...' 'balloon-help font...' 'code
>>> font...' 'button font...') -> self smallFontsIcon.
>>>         icons add: #('full screen on') -> self smallFullscreenOnIcon.
>>>         icons add: #('full screen off' ) -> self smallFullscreenOffIcon.
>>>         ""
>>>         ^ icons!
>>>
>>> Item was changed:
>>>   ----- Method: Morph>>buildDebugMenu: (in category 'debug and other')
>>> -----
>>>   buildDebugMenu: aHand
>>>         "Answer a debugging menu for the receiver.  The hand argument is
>>> seemingly historical and plays no role presently"
>>>
>>>         | aMenu aPlayer |
>>>         aMenu := MenuMorph new defaultTarget: self.
>>>         aMenu addStayUpItem.
>>>         (self hasProperty: #errorOnDraw) ifTrue:
>>>                 [aMenu add: 'start drawing again' translated action:
>>> #resumeAfterDrawError.
>>>                 aMenu addLine].
>>>         (self hasProperty: #errorOnStep) ifTrue:
>>>                 [aMenu add: 'start stepping again' translated action:
>>> #resumeAfterStepError.
>>>                 aMenu addLine].
>>>
>>>         aMenu add: 'inspect morph' translated action: #inspectInMorphic:.
>>>         aMenu add: 'inspect owner chain' translated action:
>>> #inspectOwnerChain.
>>>         Smalltalk isMorphic ifFalse:
>>>                 [aMenu add: 'inspect morph (in MVC)' translated action:
>>> #inspect].
>>>
>>>         self isMorphicModel ifTrue:
>>> +               [aMenu add: 'inspect model' translated target: self model
>>> action: #inspect;
>>> +                       add: 'explore model' translated target: self
>>> model action: #explore].
>>> -               [aMenu add: 'inspect model' translated target: self model
>>> action: #inspect].
>>>         (aPlayer := self player) ifNotNil:
>>>                 [aMenu add: 'inspect player' translated target: aPlayer
>>> action: #inspect].
>>>
>>>        aMenu add: 'explore morph' translated target: self selector:
>>> #exploreInMorphic:.
>>>
>>>         aMenu addLine.
>>>         aPlayer ifNotNil:
>>>                 [ aMenu add: 'viewer for Player' translated target: self
>>> player action: #beViewed.
>>>         aMenu balloonTextForLastItem: 'Opens a viewer on my Player --
>>> this is the same thing you get if you click on the cyan "View" halo handle'
>>> translated ].
>>>
>>>         aMenu add: 'viewer for Morph' translated target: self action:
>>> #viewMorphDirectly.
>>>         aMenu balloonTextForLastItem: 'Opens a Viewer on this Morph,
>>> rather than on its Player' translated.
>>>         aMenu addLine.
>>>
>>>         aPlayer ifNotNil:
>>>                 [aPlayer class isUniClass ifTrue: [
>>>                         aMenu add: 'browse player class' translated
>>> target: aPlayer selector: #haveFullProtocolBrowsedShowingSelector:
>>> argumentList: #(nil)]].
>>>         aMenu add: 'browse morph class' translated target: self selector:
>>> #browseHierarchy.
>>>         (self isMorphicModel)
>>>                 ifTrue: [aMenu
>>>                                 add: 'browse model class'
>>>                                 target: self model
>>>                                 selector: #browseHierarchy].
>>>         aMenu addLine.
>>>
>>>         self addViewingItemsTo: aMenu.
>>>         aMenu
>>>                 add: 'make own subclass' translated action:
>>> #subclassMorph;
>>>                 add: 'save morph in file' translated  action:
>>> #saveOnFile;
>>>                 addLine;
>>>                 add: 'call #tempCommand' translated action: #tempCommand;
>>>                 add: 'define #tempCommand' translated action:
>>> #defineTempCommand;
>>>                 addLine;
>>>
>>>                 add: 'control-menu...' translated target: self selector:
>>> #invokeMetaMenu:;
>>>                 add: 'edit balloon help' translated action:
>>> #editBalloonHelpText.
>>>
>>>         ^ aMenu!
>>>
>>>
>>
>


More information about the Squeak-dev mailing list