X-Git-Url: http://git.argeo.org/?p=gpl%2Fargeo-suite.git;a=blobdiff_plain;f=org.argeo.suite.e4%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fe4%2Fparts%2FAbstractSuiteDashboard.java;fp=org.argeo.suite.e4%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fe4%2Fparts%2FAbstractSuiteDashboard.java;h=0000000000000000000000000000000000000000;hp=1271b0df0fa311dcb2508f400d96b2023f4579c8;hb=30f7e4a5a1bdb27156511eb9ea88d2ec492d7e01;hpb=a55bb0dc7e9fbcefb645d34ce24b326d1506a623 diff --git a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java b/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java deleted file mode 100644 index 1271b0d..0000000 --- a/org.argeo.suite.e4/src/org/argeo/suite/e4/parts/AbstractSuiteDashboard.java +++ /dev/null @@ -1,188 +0,0 @@ -package org.argeo.suite.e4.parts; - -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.ui.util.CmsUiUtils; -import org.argeo.connect.SystemAppService; -import org.argeo.connect.resources.ResourcesService; -import org.argeo.connect.ui.AppWorkbenchService; -import org.argeo.connect.ui.ConnectUiStyles; -import org.argeo.connect.ui.SystemWorkbenchService; -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; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Link; - -/** 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 homeSession; - private Session mainSession; - - // UI Objects - private FormToolkit toolkit; - - // RAP specific - private BrowserNavigation browserNavigation; - - public void init() { - homeSession = ConnectJcrUtils.login(repository, NodeConstants.HOME_WORKSPACE); - mainSession = ConnectJcrUtils.login(repository); - // updateTooltip(input); - } - - // 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 - * toolkit - */ - @PostConstruct - public void createPartControl(Composite parent) { - toolkit = new FormToolkit(Display.getCurrent()); - init(); - browserNavigation = RWT.getClient().getService(BrowserNavigation.class); - } - - // UTILS - protected Composite createGadgetCmp(Composite parent, int widthHint, int heightHint) { - Composite gadgetCmp = toolkit.createComposite(parent, SWT.BORDER); - GridData gd = new GridData(SWT.CENTER, SWT.CENTER, false, false); - gd.widthHint = widthHint; - gd.heightHint = heightHint; - gadgetCmp.setLayoutData(gd); - 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); - 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); - CmsUiUtils.style(titleLbl, ConnectUiStyles.GADGET_HEADER); - titleLbl.setBackground(null); - return titleCmp; - } - - protected Composite createGadgetBodyCmp(Composite parent) { - Composite bodyCmp = toolkit.createComposite(parent, SWT.BACKGROUND | SWT.INHERIT_NONE); - bodyCmp.setLayoutData(EclipseUiUtils.fillAll()); - bodyCmp.setLayout(new GridLayout()); - 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(); - // params.put(ConnectEditor.PARAM_JCR_ID, - // ConnectJcrUtils.getIdentifier(entity)); - // CommandUtils.callCommand(peopleUiService.getOpenEntityEditorCmdId(), params); - peopleUiService.openEntityEditor(entity); - } - }); - return link; - } - - // Life cycle - @PreDestroy - public void dispose() { - JcrUtils.logoutQuietly(homeSession); - JcrUtils.logoutQuietly(mainSession); - } - - @Focus - public void setFocus() { - browserNavigation.pushState("~", "Dashboard"); - } - - // Expose to implementing classes - protected Session getHomeSession() { - return homeSession; - } - - public Session getMainSession() { - return mainSession; - } - - public ResourcesService getResourcesService() { - return resourcesService; - } - - protected SystemAppService getSystemAppService() { - return systemAppService; - } - - protected SystemWorkbenchService getSystemWorkbenchService() { - return systemWorkbenchService; - } - - protected FormToolkit getFormToolkit() { - return toolkit; - } - - /* 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; - // } -}