« Return to Thread: Re: [spring-desktop] Re: [Desktop] @Command style

Re: [spring-desktop] Re: [Desktop] @Command style

by Kevin Day :: Rate this Message:

Reply to Author | View in Thread

One thing that may not be immediately evident about the Action class is that it supports any arbtrary 'property' via putValue().  So you can use the Action object as is to add any extra properties.
 
 
One approach to consider:  In JSR 296, the prefered way of setting a label and msemonic for an action would be via resource injection, instead of hard coding those values into the source.  The resource file contains entries with the following convention:
 
<name>.Action.<propertyname>=<value>
 
So, there would be:
 
save.Action.label=Save
save.Action.mnemonic=S
 
 
This opens the possibility for I18N.  I could see where having those properties in the annotation itself would be useful for someone doing quick and dirty work where messing with resource files isn't desirable.
 
 
Finally, I know that most Swing components already have keyboard accelerator support - I haven't done enough with that to comment on whether their approach is good or not - but it is something that's already there.  I believe that they build a map between accelerators and actionmap entry names - so the accelerator looks up the *name* of the action.  Then they look the actual action up in the actionmap of the container and invoke it.  This decouples the accelerator implementation from the action implementation (separation of concerns and all).  The advantage of that separation is that it sets the stage for user defined keyboard mappings, etc...  It would be hard to achieve that if the accelerator is associated directly with the action (at least without a lot of close coupling).
 
- K 
 
----------------------- Original Message -----------------------
  
From: "Peter De Bruycker" peter.de.bruycker@...
To: springframework-rcp-dev@...
Cc: 
Date: Thu, 17 Jul 2008 20:12:39 +0200
Subject: Re: [Springframework-rcp-dev] [spring-desktop] Re: [Desktop] @Command style
  



Great idea, I'll update my code to reflect this. In addition to being compatible, we also have extra functionality: labels containing mnemonic info and accelerator info (&Save@Ctrl-S => label = Save, mnemonic=S, accelerator = Ctrl-S)

 

 

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Springframework-rcp-dev mailing list
Springframework-rcp-dev@...
https://lists.sourceforge.net/lists/listinfo/springframework-rcp-dev

 « Return to Thread: Re: [spring-desktop] Re: [Desktop] @Command style

LightInTheBox - Buy quality products at wholesale price!