1 package org
.argeo
.app
.ui
.widgets
;
3 import org
.argeo
.cms
.swt
.CmsSwtUtils
;
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
;
12 * Displays a tree by default, which becomes a list if the search text field is
15 public class TreeOrSearchArea
extends Composite
{
16 private static final long serialVersionUID
= -1302546480076719532L;
19 private StackLayout bodyLayout
;
21 private TreeViewer treeViewer
;
22 private TreeViewer searchResultsViewer
;
24 public TreeOrSearchArea(Composite parent
, int style
) {
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(CmsSwtUtils
.fillWidth());
34 createSearchUi(searchC
);
36 Composite bodyC
= new Composite(parent
, SWT
.NONE
);
37 bodyC
.setLayoutData(CmsSwtUtils
.fillAll());
38 bodyLayout
= new StackLayout();
39 bodyC
.setLayout(bodyLayout
);
40 Composite treeC
= new Composite(bodyC
, SWT
.NONE
);
42 Composite searchResultsC
= new Composite(bodyC
, SWT
.NONE
);
43 createSearchResultsUi(searchResultsC
);
45 bodyLayout
.topControl
= treeC
;
48 protected void createSearchUi(Composite parent
) {
49 parent
.setLayout(CmsSwtUtils
.noSpaceGridLayout());
50 searchT
= new Text(parent
, SWT
.MULTI
| SWT
.BORDER
);
51 searchT
.setLayoutData(CmsSwtUtils
.fillWidth());
54 protected void createTreeUi(Composite parent
) {
55 parent
.setLayout(CmsSwtUtils
.noSpaceGridLayout());
56 treeViewer
= new TreeViewer(parent
);
57 treeViewer
.getTree().setLayoutData(CmsSwtUtils
.fillAll());
60 protected void createSearchResultsUi(Composite parent
) {
61 parent
.setLayout(CmsSwtUtils
.noSpaceGridLayout());
62 searchResultsViewer
= new TreeViewer(parent
);
63 searchResultsViewer
.getTree().setLayoutData(CmsSwtUtils
.fillAll());
66 public TreeViewer
getTreeViewer() {
70 public TreeViewer
getSearchResultsViewer() {
71 return searchResultsViewer
;