|
Lines 61-66
Link Here
|
| 61 |
import org.eclipse.swt.widgets.Button; |
61 |
import org.eclipse.swt.widgets.Button; |
| 62 |
import org.eclipse.swt.widgets.Composite; |
62 |
import org.eclipse.swt.widgets.Composite; |
| 63 |
import org.eclipse.swt.widgets.Display; |
63 |
import org.eclipse.swt.widgets.Display; |
|
|
64 |
import org.eclipse.swt.widgets.TreeItem; |
| 64 |
import org.eclipse.ui.IWorkbenchWindow; |
65 |
import org.eclipse.ui.IWorkbenchWindow; |
| 65 |
import org.eclipse.ui.PlatformUI; |
66 |
import org.eclipse.ui.PlatformUI; |
| 66 |
import org.eclipse.ui.dialogs.FilteredTree; |
67 |
import org.eclipse.ui.dialogs.FilteredTree; |
|
Lines 125-130
Link Here
|
| 125 |
|
126 |
|
| 126 |
} |
127 |
} |
| 127 |
|
128 |
|
|
|
129 |
private class ComponentFilter extends PatternFilter { |
| 130 |
|
| 131 |
@Override |
| 132 |
public void setPattern(String patternString) { |
| 133 |
// ignore |
| 134 |
super.setPattern(patternString); |
| 135 |
// HACK: waiting on delayed refresh of filtered tree after setting the new pattern |
| 136 |
new UIJob("") { |
| 137 |
@Override |
| 138 |
public IStatus runInUIThread(IProgressMonitor monitor) { |
| 139 |
if (BugzillaProductPage.this.getControl() != null |
| 140 |
&& BugzillaProductPage.this.getControl().isDisposed()) { |
| 141 |
return Status.OK_STATUS; |
| 142 |
} |
| 143 |
final TreeViewer productViewer = productList.getViewer(); |
| 144 |
if (productViewer.getTree().getItemCount() == 1) { |
| 145 |
TreeItem aq = productViewer.getTree().getItem(0); |
| 146 |
String qq = aq.getText(); |
| 147 |
productViewer.setSelection(new StructuredSelection(qq)); |
| 148 |
} |
| 149 |
return Status.OK_STATUS; |
| 150 |
} |
| 151 |
}.schedule(300L); |
| 152 |
|
| 153 |
} |
| 154 |
} |
| 155 |
|
| 128 |
public void createControl(Composite parent) { |
156 |
public void createControl(Composite parent) { |
| 129 |
// create the composite to hold the widgets |
157 |
// create the composite to hold the widgets |
| 130 |
Composite composite = new Composite(parent, SWT.NULL); |
158 |
Composite composite = new Composite(parent, SWT.NULL); |
|
Lines 133-139
Link Here
|
| 133 |
composite.setLayout(new GridLayout()); |
161 |
composite.setLayout(new GridLayout()); |
| 134 |
|
162 |
|
| 135 |
// create the list of bug reports |
163 |
// create the list of bug reports |
| 136 |
productList = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER, new PatternFilter()); |
164 |
productList = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER, new ComponentFilter()); |
| 137 |
productList.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint( |
165 |
productList.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint( |
| 138 |
SWT.DEFAULT, 200).create()); |
166 |
SWT.DEFAULT, 200).create()); |
| 139 |
final TreeViewer productViewer = productList.getViewer(); |
167 |
final TreeViewer productViewer = productList.getViewer(); |