X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.e4%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fe4%2Fparts%2FAbstractSuiteDashboard.java;h=521c1fca8741f107ceeb57a2e3255ab72ceb3288;hp=96919019f66ef66a11789ec0d0df8db6a1c84687;hb=91ba500dcfe75cde313a513e341b7f9f57d64d75;hpb=46e85e4b2db0de3d3590af45af713ebeab040069 diff --git a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java index 9691901..521c1fc 100644 --- a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java +++ b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java @@ -2,10 +2,14 @@ package org.argeo.suite.e4.parts; import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; +import javax.inject.Inject; import javax.jcr.Node; import javax.jcr.Repository; +import javax.jcr.RepositoryException; import javax.jcr.Session; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.argeo.cms.ui.eclipse.forms.FormToolkit; import org.argeo.cms.util.CmsUtils; import org.argeo.connect.SystemAppService; @@ -16,6 +20,9 @@ import org.argeo.connect.ui.SystemWorkbenchService; import org.argeo.connect.util.ConnectJcrUtils; import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.jcr.JcrUtils; +import org.eclipse.e4.ui.di.Focus; +import org.eclipse.rap.rwt.RWT; +import org.eclipse.rap.rwt.client.service.BrowserNavigation; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -28,11 +35,16 @@ import org.eclipse.swt.widgets.Link; /** Generic dashboard for Argeo Suite applications */ public abstract class AbstractSuiteDashboard { + private final static Log log = LogFactory.getLog(AbstractSuiteDashboard.class); // DEPENDENCY INJECTION + @Inject private Repository repository; + @Inject private ResourcesService resourcesService; + @Inject private SystemAppService systemAppService; + @Inject private SystemWorkbenchService systemWorkbenchService; private Session session; @@ -40,17 +52,20 @@ public abstract class AbstractSuiteDashboard { // UI Objects private FormToolkit toolkit; - public void init() { + // RAP specific + private BrowserNavigation browserNavigation; + + public void init() { session = ConnectJcrUtils.login(repository); -// updateTooltip(input); + // updateTooltip(input); } -// private void updateTooltip(IEditorInput input) { -// if (input instanceof EntityEditorInput) { -// EntityEditorInput sei = (EntityEditorInput) input; -// sei.setTooltipText("My Dashboard"); -// } -// } + // private void updateTooltip(IEditorInput input) { + // if (input instanceof EntityEditorInput) { + // EntityEditorInput sei = (EntityEditorInput) input; + // sei.setTooltipText("My Dashboard"); + // } + // } /** * Implementing classes must call super in order to create the correct form @@ -60,6 +75,7 @@ public abstract class AbstractSuiteDashboard { public void createPartControl(Composite parent) { toolkit = new FormToolkit(Display.getCurrent()); init(); + browserNavigation = RWT.getClient().getService(BrowserNavigation.class); } // UTILS @@ -120,6 +136,10 @@ public abstract class AbstractSuiteDashboard { JcrUtils.logoutQuietly(session); } + @Focus + public void setFocus() { + browserNavigation.pushState("~", "Dashboard"); + } // Expose to implementing classes protected Session getSession() {