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;
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;
/** 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);
+ 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
public void createPartControl(Composite parent) {
toolkit = new FormToolkit(Display.getCurrent());
init();
+ browserNavigation = RWT.getClient().getService(BrowserNavigation.class);
}
// UTILS
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;
}
// 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() {
}
/* 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;
+ // }
}