X-Git-Url: http://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=1271b0df0fa311dcb2508f400d96b2023f4579c8;hp=96919019f66ef66a11789ec0d0df8db6a1c84687;hb=19301ef6555ee03f1d7b9b0764c2d40b5ef6654b;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..1271b0d 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,12 +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.Session; +import org.argeo.api.NodeConstants; import org.argeo.cms.ui.eclipse.forms.FormToolkit; -import org.argeo.cms.util.CmsUtils; +import org.argeo.cms.ui.util.CmsUiUtils; import org.argeo.connect.SystemAppService; import org.argeo.connect.resources.ResourcesService; import org.argeo.connect.ui.AppWorkbenchService; @@ -16,6 +18,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,29 +33,40 @@ 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; + private Session homeSession; + private Session mainSession; // UI Objects private FormToolkit toolkit; - public void init() { - session = ConnectJcrUtils.login(repository); -// updateTooltip(input); + // RAP specific + private BrowserNavigation browserNavigation; + + public void init() { + homeSession = ConnectJcrUtils.login(repository, NodeConstants.HOME_WORKSPACE); + mainSession = ConnectJcrUtils.login(repository); + // 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 +76,7 @@ public abstract class AbstractSuiteDashboard { public void createPartControl(Composite parent) { toolkit = new FormToolkit(Display.getCurrent()); init(); + browserNavigation = RWT.getClient().getService(BrowserNavigation.class); } // UTILS @@ -69,20 +86,20 @@ public abstract class AbstractSuiteDashboard { gd.widthHint = widthHint; gd.heightHint = heightHint; gadgetCmp.setLayoutData(gd); - CmsUtils.style(gadgetCmp, ConnectUiStyles.GADGET_BOX); + CmsUiUtils.style(gadgetCmp, ConnectUiStyles.GADGET_BOX); return gadgetCmp; } protected Composite createGadgetTitleCmp(Composite parent, String title) { Composite titleCmp = toolkit.createComposite(parent, SWT.BACKGROUND | SWT.INHERIT_NONE); - CmsUtils.style(titleCmp, ConnectUiStyles.GADGET_HEADER); + CmsUiUtils.style(titleCmp, ConnectUiStyles.GADGET_HEADER); titleCmp.setBackground(null); GridData gd = new GridData(SWT.FILL, SWT.TOP, true, false); titleCmp.setLayoutData(gd); titleCmp.setLayout(new GridLayout()); Label titleLbl = toolkit.createLabel(titleCmp, title + " ", SWT.BOLD); - CmsUtils.style(titleLbl, ConnectUiStyles.GADGET_HEADER); + CmsUiUtils.style(titleLbl, ConnectUiStyles.GADGET_HEADER); titleLbl.setBackground(null); return titleCmp; } @@ -117,13 +134,22 @@ public abstract class AbstractSuiteDashboard { // Life cycle @PreDestroy public void dispose() { - JcrUtils.logoutQuietly(session); + JcrUtils.logoutQuietly(homeSession); + JcrUtils.logoutQuietly(mainSession); } + @Focus + public void setFocus() { + browserNavigation.pushState("~", "Dashboard"); + } // Expose to implementing classes - protected Session getSession() { - return session; + protected Session getHomeSession() { + return homeSession; + } + + public Session getMainSession() { + return mainSession; } public ResourcesService getResourcesService() { @@ -143,19 +169,20 @@ public abstract class AbstractSuiteDashboard { } /* DEPENDENCY INJECTION */ - public void setRepository(Repository repository) { - this.repository = repository; - } - - public void setResourcesService(ResourcesService resourcesService) { - this.resourcesService = resourcesService; - } - - public void setSystemAppService(SystemAppService systemAppService) { - this.systemAppService = systemAppService; - } - - public void setSystemWorkbenchService(SystemWorkbenchService systemWorkbenchService) { - this.systemWorkbenchService = systemWorkbenchService; - } + // public void setRepository(Repository repository) { + // this.repository = repository; + // } + // + // public void setResourcesService(ResourcesService resourcesService) { + // this.resourcesService = resourcesService; + // } + // + // public void setSystemAppService(SystemAppService systemAppService) { + // this.systemAppService = systemAppService; + // } + // + // public void setSystemWorkbenchService(SystemWorkbenchService + // systemWorkbenchService) { + // this.systemWorkbenchService = systemWorkbenchService; + // } }