]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.e4/src/org/argeo/cms/e4/handlers/OpenPerspective.java
Package SNAPSHOT sources.
[lgpl/argeo-commons.git] / org.argeo.cms.e4 / src / org / argeo / cms / e4 / handlers / OpenPerspective.java
1 package org.argeo.cms.e4.handlers;
2
3 import java.util.List;
4
5 import javax.inject.Inject;
6 import javax.inject.Named;
7
8 import org.eclipse.e4.core.di.annotations.Execute;
9 import org.eclipse.e4.ui.model.application.MApplication;
10 import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
11 import org.eclipse.e4.ui.workbench.modeling.EModelService;
12 import org.eclipse.e4.ui.workbench.modeling.EPartService;
13
14 public class OpenPerspective {
15 @Inject
16 MApplication application;
17 @Inject
18 EPartService partService;
19 @Inject
20 EModelService modelService;
21
22 @Execute
23 public void execute(@Named("perspectiveId") String perspectiveId) {
24 List<MPerspective> perspectives = modelService.findElements(application, perspectiveId, MPerspective.class,
25 null);
26 if (perspectives.size() == 0)
27 return;
28 MPerspective perspective = perspectives.get(0);
29 partService.switchPerspective(perspective);
30 }
31 }