[squeak-dev] Re: The Trunk: Morphic-mt.1179.mcz

marcel.taeumel Marcel.Taeumel at hpi.de
Thu Jun 16 03:57:55 UTC 2016


David T. Lewis wrote
> Wouldn't the new Do-menu fit naturally under the exising Extras category?
> This is a collection of useful menu entries that do not fit under Tools or
> Apps. If we add the new Do menu as a sub-menu under Extras, then it would
> be
> easy to find, and no preference would be needed.
> 
> Dave
> 
> 
> On Wed, Jun 15, 2016 at 08:36:07AM -0700, Chris Cunningham wrote:
>> Hmm.  Direct manipulation.
>> What if we had a spot in the halo menu to 'remove from DockingBar
>> forever'
>> which then set the preference?  One time direct manipulation without
>> having
>> to redo it later.
>> Of course, it would be added back in later via the preferences.
>> -cbc
>> 
>> On Wed, Jun 15, 2016 at 8:28 AM, Chris Muller <

> asqueaker@

> > wrote:
>> 
>> > I was wondering whether Preferences are the best way to control these
>> > or whether the user could simply remove the ones they don't want by
>> > blue-clicking and then clicking the close halo (X)...
>> >
>> > I know when the DockingBar is regenerated they would have to re-remove
>> > them, but still...  we do have a live, direct-manuipulation system,
>> > sometimes we should be able to fall back on it..?
>> >
>> > On Wed, Jun 15, 2016 at 1:29 AM,  <

> commits at .squeak

> > wrote:
>> > > Marcel Taeumel uploaded a new version of Morphic to project The
>> Trunk:
>> > > http://source.squeak.org/trunk/Morphic-mt.1179.mcz
>> > >
>> > > ==================== Summary ====================
>> > >
>> > > Name: Morphic-mt.1179
>> > > Author: mt
>> > > Time: 15 June 2016, 8:28:59.901896 am
>> > > UUID: 798fffba-733f-3444-840e-84baabd04da4
>> > > Ancestors: Morphic-mt.1178
>> > >
>> > > Add the world's Do-menu to the world main docking bar. Can be hidden
>> via
>> > preferences.
>> > >
>> > > =============== Diff against Morphic-mt.1178 ===============
>> > >
>> > > Item was added:
>> > > + ----- Method: TheWorldMainDockingBar
>> > class>>showDoMenuInWorldMainDockingBar (in category 'preferences')
>> -----
>> > > + showDoMenuInWorldMainDockingBar
>> > > +
>> > > +       
> <preference: 'Show ''Do'' menu in world main docking bar'
>>
>  > > +               category: 'docking bars'
>> > > +               description: 'Whether world''s main docking bar
>> should
>> > show the ''Do'' menu.'
>> > > +               type: #Boolean>
>> > > +       ^ self getMenuPreference: #showDoMenuInWorldMainDockingBar
>> > ifAbsent: [true]
>> > > + !
>> > >
>> > > Item was added:
>> > > + ----- Method: TheWorldMainDockingBar
>> > class>>showDoMenuInWorldMainDockingBar: (in category 'preferences')
>> -----
>> > > + showDoMenuInWorldMainDockingBar: aBoolean
>> > > +
>> > > +       self
>> > > +               setMenuPreference: #showDoMenuInWorldMainDockingBar
>> > > +               to: aBoolean.
>> > > + !
>> > >
>> > > Item was added:
>> > > + ----- Method: TheWorldMainDockingBar>>doMenuOn: (in category
>> > 'construction') -----
>> > > + doMenuOn: aDockingBar
>> > > +
>> > > +       aDockingBar addItem: [ :item |
>> > > +               item
>> > > +                       contents: 'Do' translated;
>> > > +                       subMenuUpdater: self
>> > > +                       selector: #listCommonRequestsOn: ]!
>> > >
>> > > Item was added:
>> > > + ----- Method: TheWorldMainDockingBar>>listCommonRequestsOn: (in
>> > category 'submenu - do') -----
>> > > + listCommonRequestsOn: aMenu
>> > > +
>> > > +       | strings |
>> > > +       strings := Utilities commonRequestStrings contents.
>> > > +
>> > > +       strings asString linesDo: [:aString |
>> > > +               aString = '-'
>> > > +                       ifTrue: [aMenu addLine]
>> > > +                       ifFalse: [aMenu add: (aString ifEmpty: [' '])
>> > target: Utilities selector: #eval: argument: aString]].
>> > > +
>> > > +       aMenu addLine.
>> > > +       aMenu add: 'edit this list' translated target: Utilities
>> action:
>> > #editCommonRequestStrings.!
>> > >
>> > > Item was changed:
>> > >   ----- Method: TheWorldMainDockingBar>>menusOn: (in category
>> > 'construction') -----
>> > >   menusOn: aDockingBar
>> > >
>> > >         self class showMainMenuInWorldMainDockingBar ifTrue: [
>> > >                 self squeakMenuOn: aDockingBar].
>> > >
>> > >         self class showProjectsMenuInWorldMainDockingBar ifTrue: [
>> > >                 self projectsMenuOn: aDockingBar].
>> > >
>> > >         self class showToolsMenuInWorldMainDockingBar ifTrue: [
>> > >                 self toolsMenuOn: aDockingBar].
>> > >
>> > >         self class showAppsMenuInWorldMainDockingBar ifTrue: [
>> > >                 self appsMenuOn: aDockingBar].
>> > >
>> > > +       self class showDoMenuInWorldMainDockingBar ifTrue: [
>> > > +               self doMenuOn: aDockingBar].
>> > > +
>> > >         self class showExtrasMenuInWorldMainDockingBar ifTrue: [
>> > >                 self extrasMenuOn: aDockingBar].
>> > >
>> > >         self class showWindowsMenuInWorldMainDockingBar ifTrue: [
>> > >                 self windowsMenuOn: aDockingBar].
>> > >
>> > >         self class showHelpMenuInWorldMainDockingBar ifTrue: [
>> > >                 self helpMenuOn: aDockingBar].!
>> > >
>> > > Item was changed:
>> > >   (PackageInfo named: 'Morphic') postscript: '"Fixes the event
>> handling
>> > that occurs in the same control flow after loading this code."
>> > >   HandMorph allInstancesDo: [:ea | ea initForEvents].
>> > >
>> > >   "Deploy mouse-wheel event handling to existing scrollpanes and
>> hands."
>> > >   Project allMorphicProjects do: [:morphicProject |
>> > >         morphicProject world handsDo: [:hand |
>> > >                 hand addKeyboardCaptureFilter: hand]].
>> > >   ScrollPane allSubInstancesDo: [:ea |
>> > > +       ea addKeyboardCaptureFilter: ea].
>> > > +
>> > > + "Add Do-menu."
>> > > + TheWorldMainDockingBar updateInstances.'!
>> > > -       ea addKeyboardCaptureFilter: ea].'!
>> > >
>> > >
>> >
>> >
> 
>>

Hi Dave,

the Do-menu deserves to be top-level. It is the only menu being extensible
in a quite simple way. If we hide it in some other sub-menu then it wouldn't
be more prominent than it is right now in the world menu.

Accessibility could be even more improved by automatically assigning a
shortcut per line once open. Or by prefixing its label with its line number
to make the menu-keyboard-filter more powerful there.

Try this:
- Hit CTRL+5
- Type 'de'
- Hit return.

It will close all open debuggers. Or it will do anything that first matches
the query.

Best,
Marcel



--
View this message in context: http://forum.world.st/The-Trunk-Morphic-mt-1179-mcz-tp4900942p4901123.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.


More information about the Squeak-dev mailing list