X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.workbench.rap%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fworkbench%2Fparts%2FAbstractSuiteDashboard.java;h=e18d202e035e6aea4b16c493fd83550c5267bb48;hb=aa4589e3623bd00210ce1a9f56153beee45e6c1d;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..e18d202 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,35 @@
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.documents.DocumentsService;
+import org.argeo.connect.resources.ResourceService;
+import org.argeo.connect.activities.ActivityService;
+import org.argeo.connect.activities.ActivitiesTypes;
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.ui.workbench.AppWorkbenchService;
import org.argeo.connect.util.ConnectJcrUtils;
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.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
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,8 +41,11 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
// DEPENDENCY INJECTION
private Repository repository;
+ private ResourceService resourceService;
+ private ActivityService activityService;
private PeopleService peopleService;
- private PeopleWorkbenchService peopleWorkbenchService;
+ private DocumentsService documentsService;
+ private AppWorkbenchService appWorkbenchService;
private Session session;
@@ -116,6 +131,25 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
return bodyCmp;
}
+ 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();
+ // FIXME
+ params.put("param.jcrId", ConnectJcrUtils.getIdentifier(entity));
+ CommandUtils.callCommand(peopleUiService.getOpenEntityEditorCmdId(), params);
+ }
+ });
+ return link;
+ }
+
// LIFE CYCLE
@Override
public void dispose() {
@@ -149,16 +183,29 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
}
// Expose to implementing classes
+ protected Session getSession() {
+ return session;
+ }
+
+ public ResourceService getResourceService() {
+ return resourceService;
+ }
+
+ protected ActivityService getActivityService() {
+ return activityService;
+ }
+
protected PeopleService getPeopleService() {
return peopleService;
}
- protected PeopleWorkbenchService getPeopleWorkbenchService() {
- return peopleWorkbenchService;
+ protected DocumentsService getDocumentsService() {
+ return documentsService;
}
- protected Session getSession() {
- return session;
+
+ protected AppWorkbenchService getAppWorkbenchService() {
+ return appWorkbenchService;
}
protected Image getLogoImg() {
@@ -174,11 +221,25 @@ public abstract class AbstractSuiteDashboard extends EditorPart {
this.repository = repository;
}
- public void setPeopleWorkbenchService(PeopleWorkbenchService peopleWorkbenchService) {
- this.peopleWorkbenchService = peopleWorkbenchService;
+ public void setResourceService(ResourceService resourceService) {
+ this.resourceService = resourceService;
+ }
+
+ public void setActivityService(ActivityService activityService) {
+ this.activityService = activityService;
+ }
+
+ public void setDocumentsService(DocumentsService documentsService) {
+ this.documentsService = documentsService;
}
public void setPeopleService(PeopleService peopleService) {
this.peopleService = peopleService;
}
+
+
+ public void setAppWorkbenchService(AppWorkbenchService appWorkbenchService) {
+ this.appWorkbenchService = appWorkbenchService;
+ }
+
}