[squeak-dev] Re: Menu structure (Re: The Trunk: System-mha.167.mcz)

Andreas Raab andreas.raab at gmx.de
Fri Nov 20 04:04:11 UTC 2009


Balázs Kósi wrote:
> I uploaded a first stab to The Inbox (Morphic-kb.238).
> What do you think?

I think it's a *great* start. A couple of things I noticed:

* Having TheWorldMainDockingBar updateInstances automatically is too 
aggressive. We should do this via an #initialize method which can be 
touched as needed and will only be executed when we have to. The way it 
is right now makes it very hard to add new stuff that temporarily break 
things (I break stuff all the time :-)

* For consistency I think we should be using the same pattern that is 
generally utilized via MenuMorph>>addList:, i.e.

squeakMenu
	^{
		{'About' translated. #aboutSqueak}.
		{'Update translated. #updateSqueak}.
		-.
		{'Save Image' translated. #saveImage}.
...

instead of the custom scheme you've been using. I think this way it's 
more recognizable.

* The Projects menu should come before the Tools menu and should include 
a submenu for "New Project" listing all the available types of projects 
(i.e., Project allSubclasses). (I can help you with this)

* We definitely also need a Help menu which should include things like 
the command key help (shortcuts), probably a window with additional 
resources (i.e., links to the free Smalltalk books) a quick reference 
card for syntax. Any takers?

* The menu items should have a few pixel additional vertical spacing.

* There seems to be a bit inconsistency about how to shake off an open 
menu depending on how exactly you mouse over / in / out. I haven't been 
able to make this happen reliably but in some situations it won't go away.

* Finally, I'm not sure but the TheWorldMainDockingBar seems to be a 
singleton. It shouldn't - we can have different menus for different 
kinds of projects, and one of the first things I'm going to try to do is 
to make an EtoysProject subclass of MorphicProject which wouldn't 
contain the various Tools but rather replace them by an Authoring menu.

Cheers,
   - Andreas



More information about the Squeak-dev mailing list