X-Git-Url: https://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.workbench.rap%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fworkbench%2Fparts%2FAbstractSuiteDashboard.java;h=cdb802f24fe887b9cf833d0b54a1960ebe7681f8;hp=1b0b9500eabc71c4f587dc8c7219530429f9529c;hb=65a8aa7ab3bc0243c0fbd4fb765364d0c9ad7565;hpb=5b7eb8ff423b0d9fe94aa823e0a844e4ffb0c27c 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 1b0b950..cdb802f 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.activities.ActivitiesService; +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.editors.util.EntityEditorInput; -import org.argeo.connect.ui.workbench.AppWorkbenchService; +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.util.EntityEditorInput; +import org.argeo.documents.DocumentsService; import org.argeo.eclipse.ui.EclipseUiUtils; import org.argeo.jcr.JcrUtils; +import org.argeo.people.PeopleService; 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 ResourcesService resourcesService; + private ActivitiesService activitiesService; private PeopleService peopleService; - private AppWorkbenchService appWorkbenchService; + private DocumentsService documentsService; + private SystemWorkbenchService systemWorkbenchService; private Session session; @@ -91,20 +106,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,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,28 @@ public abstract class AbstractSuiteDashboard extends EditorPart { } // Expose to implementing classes + protected Session getSession() { + return session; + } + + public ResourcesService getResourceService() { + return resourcesService; + } + + protected ActivitiesService getActivityService() { + return activitiesService; + } + protected PeopleService getPeopleService() { return peopleService; } - protected AppWorkbenchService getAppWorkbenchService() { - return appWorkbenchService; + protected DocumentsService getDocumentsService() { + return documentsService; } - protected Session getSession() { - return session; + protected SystemWorkbenchService getSystemWorkbenchService() { + return systemWorkbenchService; } protected Image getLogoImg() { @@ -174,11 +220,23 @@ public abstract class AbstractSuiteDashboard extends EditorPart { this.repository = repository; } - public void setAppWorkbenchService(AppWorkbenchService appWorkbenchService) { - this.appWorkbenchService = appWorkbenchService; + public void setResourcesService(ResourcesService resourcesService) { + this.resourcesService = resourcesService; + } + + public void setActivitiesService(ActivitiesService activitiesService) { + this.activitiesService = activitiesService; + } + + public void setDocumentsService(DocumentsService documentsService) { + this.documentsService = documentsService; } public void setPeopleService(PeopleService peopleService) { this.peopleService = peopleService; } + + public void setSystemWorkbenchService(SystemWorkbenchService systemWorkbenchService) { + this.systemWorkbenchService = systemWorkbenchService; + } }