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=29c5672440eeb0db04b6c6c54df4996945c6855f;hp=6cf2bd3218ec540d0774129664481cc57ea0e89b;hb=f3bbb463529b06de6ba0093b65d948d875bec6a2;hpb=1fb1ccc2edbf7cfbdd37efc618c52b8eebe4e6be 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..29c5672 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.AppWorkbenchService; +import org.argeo.connect.ui.ConnectEditor; +import org.argeo.connect.ui.ConnectUiStyles; +import org.argeo.connect.ui.SystemWorkbenchService; import org.argeo.connect.util.ConnectJcrUtils; +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(ConnectEditor.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; } }