X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.suite.ui%2Fsrc%2Forg%2Fargeo%2Fsuite%2Fui%2FDefaultLeadPane.java;h=48e6149d6af6aba132523a1b28e4cacf0356f890;hb=ff73a753e98016467d44c3a0beac79d590874520;hp=d84f69d5dd7b2a682ccd845c2c4fe1b857e5d655;hpb=a5ba54441da727f3965105a71b3a114b31dd34de;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java index d84f69d..48e6149 100644 --- a/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java +++ b/org.argeo.suite.ui/src/org/argeo/suite/ui/DefaultLeadPane.java @@ -1,31 +1,36 @@ package org.argeo.suite.ui; -import java.util.Dictionary; +import java.util.HashMap; import java.util.Map; import javax.jcr.Node; import javax.jcr.RepositoryException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.argeo.cms.Localized; import org.argeo.cms.ui.CmsTheme; import org.argeo.cms.ui.CmsUiProvider; +import org.argeo.cms.ui.CmsView; import org.argeo.cms.ui.util.CmsIcon; import org.argeo.cms.ui.util.CmsUiUtils; +import org.argeo.eclipse.ui.Selected; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; -import org.osgi.service.cm.ConfigurationException; -import org.osgi.service.cm.ManagedService; +import org.osgi.service.event.Event; +import org.osgi.service.event.EventAdmin; /** Side pane listing various perspectives. */ -public class DefaultLeadPane implements CmsUiProvider, ManagedService { - private CmsTheme theme; +public class DefaultLeadPane implements CmsUiProvider { + private final static Log log = LogFactory.getLog(DefaultLeadPane.class); + private EventAdmin eventAdmin; @Override public Control createUi(Composite parent, Node node) throws RepositoryException { - theme = CmsTheme.getCmsTheme(parent); + CmsView cmsView = CmsView.getCmsView(parent); GridLayout layout = new GridLayout(); layout.verticalSpacing = 10; layout.marginTop = 10; @@ -33,27 +38,31 @@ public class DefaultLeadPane implements CmsUiProvider, ManagedService { layout.marginRight = 10; parent.setLayout(layout); - Button dashboardB = createButton(parent, WorkMsg.dashboard, ArgeoSuiteIcon.dashboard); - createButton(parent, WorkMsg.people, ArgeoSuiteIcon.people); - createButton(parent, WorkMsg.documents, ArgeoSuiteIcon.documents); + Button dashboardB = createButton(parent, SuiteMsg.dashboard.name(), SuiteMsg.dashboard, SuiteIcon.dashboard); + if (!cmsView.isAnonymous()) { + createButton(parent, SuiteMsg.documents.name(), SuiteMsg.documents, SuiteIcon.documents); + createButton(parent, SuiteMsg.people.name(), SuiteMsg.people, SuiteIcon.people); + createButton(parent, SuiteMsg.locations.name(), SuiteMsg.locations, SuiteIcon.location); + } return dashboardB; } - protected Button createButton(Composite parent, Localized msg, CmsIcon icon) { - Button button = new Button(parent, SWT.FLAT); - CmsUiUtils.style(button, WorkStyles.leadPane); + protected Button createButton(Composite parent, String layer, Localized msg, CmsIcon icon) { + CmsTheme theme = CmsTheme.getCmsTheme(parent); + Button button = new Button(parent, SWT.PUSH); + CmsUiUtils.style(button, SuiteStyle.leadPane); button.setToolTipText(msg.lead()); button.setImage(icon.getBigIcon(theme)); + CmsUiUtils.sendEventOnSelect(button, SuiteEvent.switchLayer.topic(), SuiteEvent.LAYER_PARAM, layer); return button; } - @Override - public void updated(Dictionary properties) throws ConfigurationException { - // TODO Auto-generated method stub + public void init(Map properties) { } - public void init(Map properties) { - + public void setEventAdmin(EventAdmin eventAdmin) { + this.eventAdmin = eventAdmin; } + }