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

Chris Muller asqueaker at gmail.com
Wed Nov 2 23:58:14 UTC 2016


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