X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.suite.workbench.rap%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fworkbench%2Fparts%2FAbstractSuiteDashboard.java;h=7e0c4a6613924c86bde3933bee283021d54f4b64;hb=f29206b576a5fbc9715e89377ed8f7c04f623ef1;hp=6cf2bd3218ec540d0774129664481cc57ea0e89b;hpb=1fb1ccc2edbf7cfbdd37efc618c52b8eebe4e6be;p=gpl%2Fargeo-suite.git
diff --git a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java
index 6cf2bd3..7e0c4a6 100644
--- a/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java
+++ b/org.argeo.suite.workbench.rap/src/org/argeo/suite/workbench/parts/AbstractSuiteDashboard.java
@@ -1,23 +1,33 @@
package org.argeo.suite.workbench.parts;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.jcr.Node;
import javax.jcr.Repository;
import javax.jcr.Session;
+import org.argeo.cms.ui.workbench.util.CommandUtils;
import org.argeo.cms.util.CmsUtils;
-import org.argeo.connect.people.PeopleService;
-import org.argeo.connect.people.workbench.rap.PeopleStyles;
-import org.argeo.connect.people.workbench.rap.PeopleWorkbenchService;
-import org.argeo.connect.people.workbench.rap.editors.util.EntityEditorInput;
+import org.argeo.connect.SystemAppService;
+import org.argeo.connect.resources.ResourcesService;
+import org.argeo.connect.ui.ConnectUiStyles;
import org.argeo.connect.util.ConnectJcrUtils;
+import org.argeo.connect.workbench.AppWorkbenchService;
+import org.argeo.connect.workbench.SystemWorkbenchService;
+import org.argeo.connect.workbench.commands.OpenEntityEditor;
+import org.argeo.connect.workbench.util.EntityEditorInput;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.jcr.JcrUtils;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Link;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
@@ -29,13 +39,13 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
// DEPENDENCY INJECTION
private Repository repository;
- private PeopleService peopleService;
- private PeopleWorkbenchService peopleWorkbenchService;
+ private ResourcesService resourcesService;
+ private SystemAppService systemAppService;
+ private SystemWorkbenchService systemWorkbenchService;
private Session session;
// UI Objects
- private Image logoImg;
private FormToolkit toolkit;
@Override
@@ -44,7 +54,6 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
setInput(input);
session = ConnectJcrUtils.login(repository);
- // initialiseImg();
updateTooltip(input);
}
@@ -55,26 +64,6 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
}
}
- // private void initialiseImg() {
- // InputStream is = null;
- // try {
- // String imgPath = peopleService.getInstanceConfPath() + "/"
- // + AoNames.AO_DEFAULT_LOGO;
- // if (session.nodeExists(imgPath)) {
- // Node imageNode = session.getNode(imgPath).getNode(
- // Node.JCR_CONTENT);
- // is = imageNode.getProperty(Property.JCR_DATA).getBinary()
- // .getStream();
- // logoImg = new Image(this.getSite().getShell().getDisplay(), is);
- // }
- // } catch (RepositoryException re) {
- // throw new AoException(
- // "Unable to initialise specific logo for demo app", re);
- // } finally {
- // IOUtils.closeQuietly(is);
- // }
- // }
-
/**
* Implementing classes must call super in order to create the correct form
* toolkit
@@ -91,20 +80,20 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
gd.widthHint = widthHint;
gd.heightHint = heightHint;
gadgetCmp.setLayoutData(gd);
- CmsUtils.style(gadgetCmp, PeopleStyles.PEOPLE_CLASS_GADGET);
+ CmsUtils.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, PeopleStyles.GADGET_HEADER);
+ CmsUtils.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, PeopleStyles.GADGET_HEADER);
+ CmsUtils.style(titleLbl, ConnectUiStyles.GADGET_HEADER);
titleLbl.setBackground(null);
return titleCmp;
}
@@ -116,12 +105,28 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
return bodyCmp;
}
- // LIFE CYCLE
+ protected Link createOpenEntityEditorLink(final AppWorkbenchService peopleUiService, Composite parent,
+ final String label, final Node entity) {
+ Link link = new Link(parent, SWT.NONE);
+ link.setText("" + label + "");
+ link.setLayoutData(EclipseUiUtils.fillWidth());
+ link.addSelectionListener(new SelectionAdapter() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public void widgetSelected(final SelectionEvent event) {
+ Map params = new HashMap();
+ params.put(OpenEntityEditor.PARAM_JCR_ID, ConnectJcrUtils.getIdentifier(entity));
+ CommandUtils.callCommand(peopleUiService.getOpenEntityEditorCmdId(), params);
+ }
+ });
+ return link;
+ }
+
+ // Life cycle
@Override
public void dispose() {
JcrUtils.logoutQuietly(session);
- if (logoImg != null)
- logoImg.dispose();
super.dispose();
}
@@ -149,20 +154,20 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
}
// Expose to implementing classes
- protected PeopleService getPeopleService() {
- return peopleService;
+ protected Session getSession() {
+ return session;
}
- protected PeopleWorkbenchService getPeopleWorkbenchService() {
- return peopleWorkbenchService;
+ public ResourcesService getResourcesService() {
+ return resourcesService;
}
- protected Session getSession() {
- return session;
+ protected SystemAppService getSystemAppService() {
+ return systemAppService;
}
- protected Image getLogoImg() {
- return logoImg;
+ protected SystemWorkbenchService getSystemWorkbenchService() {
+ return systemWorkbenchService;
}
protected FormToolkit getFormToolkit() {
@@ -174,11 +179,15 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
this.repository = repository;
}
- public void setPeopleWorkbenchService(PeopleWorkbenchService peopleWorkbenchService) {
- this.peopleWorkbenchService = peopleWorkbenchService;
+ public void setResourcesService(ResourcesService resourcesService) {
+ this.resourcesService = resourcesService;
+ }
+
+ public void setSystemAppService(SystemAppService systemAppService) {
+ this.systemAppService = systemAppService;
}
- public void setPeopleService(PeopleService peopleService) {
- this.peopleService = peopleService;
+ public void setSystemWorkbenchService(SystemWorkbenchService systemWorkbenchService) {
+ this.systemWorkbenchService = systemWorkbenchService;
}
}