]> git.argeo.org Git - gpl/argeo-suite.git/blob - core/org.argeo.suite.ui/src/org/argeo/suite/ui/widgets/TreeOrSearchArea.java
Support embedding videos.
[gpl/argeo-suite.git] / core / org.argeo.suite.ui / src / org / argeo / suite / ui / widgets / TreeOrSearchArea.java
1 package org.argeo.suite.ui.widgets;
2
3 import org.argeo.cms.ui.util.CmsUiUtils;
4 import org.eclipse.jface.viewers.TreeViewer;
5 import org.eclipse.swt.SWT;
6 import org.eclipse.swt.custom.StackLayout;
7 import org.eclipse.swt.layout.GridLayout;
8 import org.eclipse.swt.widgets.Composite;
9 import org.eclipse.swt.widgets.Text;
10
11 /**
12 * Displays a tree by default, which becomes a list if the search text field is
13 * used.
14 */
15 public class TreeOrSearchArea extends Composite {
16 private static final long serialVersionUID = -1302546480076719532L;
17
18 private Text searchT;
19 private StackLayout bodyLayout;
20
21 private TreeViewer treeViewer;
22 private TreeViewer searchResultsViewer;
23
24 public TreeOrSearchArea(Composite parent, int style) {
25 super(parent, style);
26 createUi(this);
27 }
28
29 protected void createUi(Composite parent) {
30 parent.setLayout(new GridLayout());
31 Composite searchC = new Composite(parent, SWT.NONE);
32 searchC.setLayout(new GridLayout());
33 searchC.setLayoutData(CmsUiUtils.fillWidth());
34 createSearchUi(searchC);
35
36 Composite bodyC = new Composite(parent, SWT.NONE);
37 bodyC.setLayoutData(CmsUiUtils.fillAll());
38 bodyLayout = new StackLayout();
39 bodyC.setLayout(bodyLayout);
40 Composite treeC = new Composite(bodyC, SWT.NONE);
41 createTreeUi(treeC);
42 Composite searchResultsC = new Composite(bodyC, SWT.NONE);
43 createSearchResultsUi(searchResultsC);
44
45 bodyLayout.topControl = treeC;
46 }
47
48 protected void createSearchUi(Composite parent) {
49 parent.setLayout(CmsUiUtils.noSpaceGridLayout());
50 searchT = new Text(parent, SWT.MULTI | SWT.BORDER);
51 searchT.setLayoutData(CmsUiUtils.fillWidth());
52 }
53
54 protected void createTreeUi(Composite parent) {
55 parent.setLayout(CmsUiUtils.noSpaceGridLayout());
56 treeViewer = new TreeViewer(parent);
57 treeViewer.getTree().setLayoutData(CmsUiUtils.fillAll());
58 }
59
60 protected void createSearchResultsUi(Composite parent) {
61 parent.setLayout(CmsUiUtils.noSpaceGridLayout());
62 searchResultsViewer = new TreeViewer(parent);
63 searchResultsViewer.getTree().setLayoutData(CmsUiUtils.fillAll());
64 }
65
66 public TreeViewer getTreeViewer() {
67 return treeViewer;
68 }
69
70 public TreeViewer getSearchResultsViewer() {
71 return searchResultsViewer;
72 }
73
74 }