@Pawel According to this IMHO it should work: http://www.vogella.com/tutorials/EclipseRCP/article.html#commandsmore_coreexpressions
I used this some time ago and the Visible-When Core Expression is working fine so far. @Tom Why was it wrong to add it to the application model? The use cases for visible-when exist. Is it just the implementation you think that is wrong? IMHO the visible-when concept in E4 is really not easy to understand. And you still need the plugin.xml to get it working with the application model. It feels a bit too complicated the way it is now. @Nicolas You could set a value for the active perspective to the IEclipseContext as described in the tutorial I posted above. And then let your expression evaluate your custom value. In that case you would need to implement a listener that reacts on perspective change so you are able to change the value for your expression in the context. I didn't found a special perspective change event, but as a starting point you could try to listen for UIEvents.Perspective.TOPIC_ALL and evaluate the current active perspective. To be honest, I didn't try this myself, but from my understanding this would be the first thing to try. On Mon, Jan 20, 2014 at 12:11 PM, Tom Schindl <[email protected]>wrote: > I think it was wrong to add the visible-when expression to the model. > > Tom > > On 20.01.14 12:09, Paweł Doleciński wrote: > > Hi Nicolas, > > > > what you need to do is to implement and register your own Visible-When > > Expression which will look up Active Perspective. To do so, you simple > > can inject MPerspectiveStack from which you can retrieve selected > > perspective. > > > > But this is only one step. Next one is that expressions are not > > supported if your menu item is directly placed in Application Model > > under MenuToolbar. > > To have it working, your menu item with visible-when expression needs to > > be under Menu Contributions node. > > > > Anyway, it seems to be a bug. Either visble-when expression should be > > evaluated if menu is somewhere in Windows node or option to set one > > should be not available. > > > > Cheers, > > Paweł. > > > > -- > > Pozdrawiam / Best regards > > Paweł Doleciński > > > > > > On 20 January 2014 11:57, Nicolas Sarazin <[email protected] > > <mailto:[email protected]>> wrote: > > > > Thank you for answer ! > > > > But : > > > > MPerspective mpOffers = (MPerspective) > > modelService.find("fr.sogeti.e4.sogeti.perspective.vdoffers", > > application); > > MMenu mmOffers = (MMenu) > > modelService.find("fr.sogeti.e4.sogeti.menu.business", application); > > partService.switchPerspective(mpOffers); > > mmOffers.setEnabled(false); > > > > In this code, mmOffers is null, and I think that it is bound to this > > bug : https://bugs.eclipse.org/bugs/show_bug.cgi?id=383403 > > > > I think that I can't change programatically the state of menu. No ? > > > > Thank you in advance > > > > > > 2014/1/20 Dirk Fauth <[email protected] > > <mailto:[email protected]>> > > > > Hi, > > > > this question was asked on the forum a while ago: > > > > http://www.eclipse.org/forums/index.php/t/627845/ > > > > > > There is no equivalent for that, as there is no workbenchWindow > > in e4. You could try to workaround that by providing your own > > value for the definition which is set by a event listener that > > reacts on perspective changes for example. > > > > Greez, > > Dirk > > > > > > On Mon, Jan 20, 2014 at 10:32 AM, Nicolas Sarazin > > <[email protected] > > <mailto:[email protected]>> wrote: > > > > Hello, > > > > I use Eclipse 4.3.1 and Eclipse e4 Tools 0.14.0. > > > > How can I show / hide a menu according to the current > > perspective ? > > > > Menu : Trimmed Window -> Main Menu -> Menu > > > > I looked for "Visible-When Expression", but I don't find the > > variable equivalent of > > "|activeWorkbenchWindow.activePerspective|" in e4. > > > > Thanks in advance ! > > > > _______________________________________________ > > e4-dev mailing list > > [email protected] <mailto:[email protected]> > > https://dev.eclipse.org/mailman/listinfo/e4-dev > > > > > > > > _______________________________________________ > > e4-dev mailing list > > [email protected] <mailto:[email protected]> > > https://dev.eclipse.org/mailman/listinfo/e4-dev > > > > > > > > _______________________________________________ > > e4-dev mailing list > > [email protected] <mailto:[email protected]> > > https://dev.eclipse.org/mailman/listinfo/e4-dev > > > > > > > > > > _______________________________________________ > > e4-dev mailing list > > [email protected] > > https://dev.eclipse.org/mailman/listinfo/e4-dev > > > > _______________________________________________ > e4-dev mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/e4-dev >
_______________________________________________ e4-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/e4-dev
