Improve Argeo Suite theming.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / DefaultLeadPane.java
index 73b81b0248105b4788ca99195b1745e652fdccde..d84f69d5dd7b2a682ccd845c2c4fe1b857e5d655 100644 (file)
@@ -1,30 +1,50 @@
 package org.argeo.suite.ui;
 
 import java.util.Dictionary;
+import java.util.Map;
 
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 
+import org.argeo.cms.Localized;
+import org.argeo.cms.ui.CmsTheme;
 import org.argeo.cms.ui.CmsUiProvider;
+import org.argeo.cms.ui.util.CmsIcon;
 import org.argeo.cms.ui.util.CmsUiUtils;
 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.eclipse.swt.widgets.Label;
 import org.osgi.service.cm.ConfigurationException;
 import org.osgi.service.cm.ManagedService;
 
+/** Side pane listing various perspectives. */
 public class DefaultLeadPane implements CmsUiProvider, ManagedService {
+       private CmsTheme theme;
 
        @Override
-       public Control createUi(Composite parent, Node context) throws RepositoryException {
-               parent.setLayout(new GridLayout());
+       public Control createUi(Composite parent, Node node) throws RepositoryException {
+               theme = CmsTheme.getCmsTheme(parent);
+               GridLayout layout = new GridLayout();
+               layout.verticalSpacing = 10;
+               layout.marginTop = 10;
+               layout.marginLeft = 10;
+               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);
+               return dashboardB;
+       }
 
-               Label dashboard = new Label(parent, SWT.NONE);
-               CmsUiUtils.style(dashboard, WorkStyles.leadPane);
-               dashboard.setText(WorkMsg.dashboard.lead());
-               return dashboard;
+       protected Button createButton(Composite parent, Localized msg, CmsIcon icon) {
+               Button button = new Button(parent, SWT.FLAT);
+               CmsUiUtils.style(button, WorkStyles.leadPane);
+               button.setToolTipText(msg.lead());
+               button.setImage(icon.getBigIcon(theme));
+               return button;
        }
 
        @Override
@@ -33,4 +53,7 @@ public class DefaultLeadPane implements CmsUiProvider, ManagedService {
 
        }
 
+       public void init(Map<String, String> properties) {
+
+       }
 }