The Inbox: Morphic-jr.1315.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Morphic-jr.1315.mcz

commits-2
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!


Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-jr.1315.mcz

Chris Muller-3
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,  <[hidden email]> 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!
>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-jr.1315.mcz

Jakob Reschke-2
In reply to this post by commits-2
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 <[hidden email]>:

> 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,  <[hidden email]> 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!
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-jr.1315.mcz

timrowledge

> On 02-11-2016, at 5:19 PM, Jakob Reschke <[hidden email]> wrote:
> 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.

I’ve had a number of bugs to solve in the past that were actually caused by the explorer trying to render Forms in a tiny thumbnail in order to display it within said explorer. A plain inspector was rather useful then...

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Useful random insult:- Diarrhea of the mouth; constipation of the ideas.



Reply | Threaded
Open this post in threaded view
|

Re: The Inbox: Morphic-jr.1315.mcz

David T. Lewis
On Wed, Nov 02, 2016 at 05:25:28PM -0700, tim Rowledge wrote:
>
> > On 02-11-2016, at 5:19 PM, Jakob Reschke <[hidden email]> wrote:
> > 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.
>
> I???ve had a number of bugs to solve in the past that were actually caused by the explorer trying to render Forms in a tiny thumbnail in order to display it within said explorer. A plain inspector was rather useful then...
>

Right, the explorer is great, but it can be slow (to the point of appearing to hang
the system) in displaying large collections. It also cannot update the display in real
time in the way that a simple inspector is able to do. That is why it makes sense
or a simple inspector to be the default, and to use the toggle button to switch to
inspector mode.

I do like the idea of reducing menu clutter by just opening one kind of inspector
thing, and letting the user toggle to explorer mode. On the other hand, I suspect
that having separate "inspect it" and "explore it" menu options makes it easier
for an inexperienced user to find the explorer, which is what most people would
want to see most of the time. So a little menu clutter may be worth the price in
this case.

Dave