Improve Argeo Suite theming.
[gpl/argeo-suite.git] / org.argeo.suite.ui / src / org / argeo / suite / ui / RecentItems.java
diff --git a/org.argeo.suite.ui/src/org/argeo/suite/ui/RecentItems.java b/org.argeo.suite.ui/src/org/argeo/suite/ui/RecentItems.java
new file mode 100644 (file)
index 0000000..230a0da
--- /dev/null
@@ -0,0 +1,41 @@
+package org.argeo.suite.ui;
+
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+
+import org.argeo.cms.ui.CmsTheme;
+import org.argeo.cms.ui.CmsUiProvider;
+import org.argeo.cms.ui.util.CmsUiUtils;
+import org.argeo.connect.ui.widgets.DelayedText;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+
+/** List recent items. */
+public class RecentItems implements CmsUiProvider {
+       int SEARCH_TEXT_DELAY = 800;
+       private CmsTheme theme;
+
+       @Override
+       public Control createUi(Composite parent, Node context) throws RepositoryException {
+               theme = CmsTheme.getCmsTheme(parent);
+               parent.setLayout(new GridLayout());
+
+               Composite top = new Composite(parent, SWT.NONE);
+               top.setLayoutData(CmsUiUtils.fillWidth());
+               top.setLayout(new GridLayout(2, false));
+
+               Label search = new Label(top, SWT.NONE);
+               search.setImage(ArgeoSuiteIcon.search.getSmallIcon(theme));
+               DelayedText delayedText = new DelayedText(top, SWT.SINGLE | SWT.BORDER, SEARCH_TEXT_DELAY);
+               delayedText.getText().setLayoutData(CmsUiUtils.fillWidth());
+
+               TableViewer viewer = new TableViewer(parent);
+               viewer.getTable().setLayoutData(CmsUiUtils.fillAll());
+               return delayedText.getText();
+       }
+
+}