|Cut,Copy commands enabledWhen [message #915235]
||Sun, 16 September 2012 18:08
| Stephen Jones
Registered: September 2012
I am trying to get my cut, copy main menu commands working in the same way that the default context menu works when focused on a Text widget. i.e. if no text is selected on the focused Text widget, cut and copy should not be enabled.
I am able to enable the handler when the activePartId is my editor, so far so good. However, the commands are always active in the main menu, where in the context menu they are disabled correctly.
I've tried using the selection variable and count with no success so far.
Could someone please point me in the right direction, or let me know if this is a limitation?
|Re: Cut,Copy commands enabledWhen [message #917329 is a reply to message #916664]
||Wed, 19 September 2012 22:01
|| Jeeeyul Lee
Registered: July 2009
Yes, that should be most logical way.|
But I want you to consider advantage of command/menuContribution/core-expression and it's cost.
Remarkable Advantages are:
* Lazy: Can creates UI(menu/toolbar) without class loading, so no plugin will be started, no dependencies are resolved till handler will work.
* Extensible: 3rd party can extends menu or can modify behavior of command in specific context.
* Ease to manage: You can list all actions from plugin.xml, it's pretty good entry point to manage or co-operate then hard coded.
If an action which should not have to be initialized lazy(Declarative UI from plugin.xml first and load business logic later, it prevents plugin starting to just create UI)
or it has globally same policy(there is no chance to extended by client or co-worker),
or actions are reasonable in some specific view or editors only (initializing part causes expensive plugin start),
then There is no advantage with command/menuContribution/core-expression.
In your case, ui context is much more complex then business logic.
And your variable provider from service extension should start your plugin. (it's expensive since it has own dependencies)
So, to make advantage real, you should isolate service plugin which provides variables.
And publishing new variables and teach them to your co-worker or client is not so small task.
Powered by FUDForum
. Page generated in 0.32324 seconds