package net.enilink.komma.edit.ui.dialogs; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; public class FilteredTreeSelectionWidget { private FilteredTree filteredTree; private IFilteredTreeDescriptor descriptor; public FilteredTreeSelectionWidget(IFilteredTreeDescriptor descriptor) { filteredTree = new FilteredTree(new PatternFilter()); this.descriptor = descriptor; } public Composite createControl(Composite parent) { Composite content = new Composite(parent, SWT.NONE); GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); content.setLayoutData(gd); GridLayout layout = new GridLayout(1, true); layout.marginWidth = 0; layout.marginHeight = 0; content.setLayout(layout); Control treeControl = filteredTree.createControl(content, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); treeControl.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); filteredTree .setTreeContentProvider(descriptor.getTreeContentProvider()); filteredTree.setTreeLabelProvider(descriptor.getLabelProvider()); return content; } public FilteredTree getFilteredTree() { return filteredTree; } public void show() { filteredTree.getViewer().setInput(descriptor.getTreeInput()); filteredTree.getViewer().refresh(); } }