]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ui/src/org/argeo/cms/ui/util/VerticalMenu.java
Improve CMS web app lifecycle.
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / util / VerticalMenu.java
1 package org.argeo.cms.ui.util;
2
3 import java.util.ArrayList;
4 import java.util.List;
5
6 import javax.jcr.Node;
7 import javax.jcr.RepositoryException;
8
9 import org.argeo.cms.ui.CmsUiProvider;
10 import org.eclipse.swt.SWT;
11 import org.eclipse.swt.layout.GridData;
12 import org.eclipse.swt.widgets.Composite;
13 import org.eclipse.swt.widgets.Control;
14
15 public class VerticalMenu implements CmsUiProvider {
16 private List<CmsUiProvider> items = new ArrayList<CmsUiProvider>();
17
18 @Override
19 public Control createUi(Composite parent, Node context) throws RepositoryException {
20 Composite part = new Composite(parent, SWT.NONE);
21 part.setLayoutData(new GridData(SWT.LEAD, SWT.TOP, false, false));
22 // part.setData(RWT.CUSTOM_VARIANT, custom);
23 part.setLayout(CmsUiUtils.noSpaceGridLayout());
24 for (CmsUiProvider uiProvider : items) {
25 Control subPart = uiProvider.createUi(part, context);
26 subPart.setLayoutData(new GridData(SWT.LEAD, SWT.TOP, false, false));
27 }
28 return part;
29 }
30
31 public void add(CmsUiProvider uiProvider) {
32 items.add(uiProvider);
33 }
34
35 public List<CmsUiProvider> getItems() {
36 return items;
37 }
38
39 public void setItems(List<CmsUiProvider> items) {
40 this.items = items;
41 }
42
43 }