thanks alain

I was a bit on vacation because we have some troubles with our house.

Stef
On Mar 26, 2009, at 12:28 AM, Alain Plantec wrote:

> Hi all,
>
> Here my last setting package version
> with a test package (Tests-System-Settings) :)
>
> I've also added a Menu part which allows the using of
> pragma for menu discovering and assembling on the fly.
> This addon fully reuse what is done for settings.
> The idea is the same: use pragma within particular methods
> which are defining menu items (thanks to Lukas again for the  
> idea  ;-) )
> The menu assembler is able to collect them and to popup the menu
> dynamically.
>
> The consequences are
> - no need for TheWorldMenu class and
> - this would be the end of #registerOpenCommand: and  
> #unregisterOpenCommand:.
>
> As for settings, the main benefit is that menu items are brought by  
> packages.
> An application specific menu can be added anywhere in the world menu.
> One could also use this feature in order to allow user-defined menu  
> entries.
>
> As an example, I've re-defined a part of the world menu.
> it is implemented in MenuSettings class (package SettingSandBox1).
> Such a menu is dynamically assembled and is popup very quickly.
> So I think that there would be no more need for a world menu instance
> kept alive in the system.
>
> you can try it with:
>
> WorldMenuAssembler new doPopUpMenu
>
> You can also use
>
> SystemMenuTree new open
>
> in order to browse all menu entries.
> It is only a very simple version.
> Maybe it could be used in order to implement a 'menu editor' tool:
> define your menus and generate corresponding code.
>
>
> Here are two examples of methods with menu pragma from MenuSettings  
> class.
>
> - the Save item : a simple item with one target and one selector
> wmSave
>   <worldMenu>
>   ^ (SettingManager newMenu: 'Save') target: SmalltalkImage current;
>        selector: #saveSession;
>        previous: #wmSystemSettings;
>        description: 'save the current version of the image on disk'
>
> - the ToolsSet item set : a multi node with a collection of menu items
> wmToolSet
>   <worldMenu>
>   ^ (SettingManager newMenuSiblings name: 'Toolset')
>       line: true;
>       menus: (ToolSet default mainMenuItems
>               collect: [:item | (SettingManager newMenu: item first)
>                       target: ToolSet default;
>                       selector: item second])
>
> Cheers
>
> alain
>
>
>
>
>
>
>
>
>
> <SettingSandBox1-alain_plantec.4.mcz><SettingSandBox2-alain_plantec. 
> 2.mcz><System-Settings-alain_plantec.22.mcz><Tests-System-Settings- 
> alain_plantec. 
> 4.mcz><Menu.gif>_______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to