Skip to content

Commit 64845c3

Browse files
ptzieglerHannesWell
authored andcommitted
Add quick-filter to dependency tree/table
This adds a search field to the tree/table viewer used in the dependency view to allow user to check whether a specific artifact appears in the dependency chain.
1 parent 4f898d1 commit 64845c3

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

ui/org.eclipse.pde.ui/META-INF/MANIFEST.MF

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ Require-Bundle:
7777
org.eclipse.pde.core;bundle-version="[3.17.200,4.0.0)";visibility:=reexport,
7878
org.eclipse.core.runtime;bundle-version="[3.29.0,4.0.0)",
7979
org.eclipse.e4.core.services;bundle-version="[2.4.200,3.0.0)",
80+
org.eclipse.e4.ui.dialogs;bundle-version="[1.6.0,2.0.0)",
8081
org.eclipse.ui.ide;bundle-version="[3.21.200,4.0.0)",
8182
org.eclipse.ui.views;bundle-version="[3.12.100,4.0.0)",
8283
org.eclipse.jface.text;bundle-version="[3.24.200,4.0.0)",

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/dependencies/DependenciesViewListPage.java

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2007, 2015 IBM Corporation and others.
2+
* Copyright (c) 2007, 2025 IBM Corporation and others.
33
*
44
* This program and the accompanying materials
55
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,24 +13,26 @@
1313
*******************************************************************************/
1414
package org.eclipse.pde.internal.ui.views.dependencies;
1515

16+
import org.eclipse.e4.ui.dialogs.filteredtree.FilteredTable;
17+
import org.eclipse.e4.ui.dialogs.filteredtree.PatternFilter;
1618
import org.eclipse.jface.viewers.IContentProvider;
1719
import org.eclipse.jface.viewers.StructuredViewer;
18-
import org.eclipse.jface.viewers.TableViewer;
1920
import org.eclipse.swt.SWT;
2021
import org.eclipse.swt.widgets.Composite;
21-
import org.eclipse.swt.widgets.Table;
22+
import org.eclipse.swt.widgets.Control;
2223

2324
public class DependenciesViewListPage extends DependenciesViewPage {
25+
private FilteredTable fFilteredViewer;
2426

2527
public DependenciesViewListPage(DependenciesView view, IContentProvider contentProvider) {
2628
super(view, contentProvider);
2729
}
2830

2931
@Override
3032
protected StructuredViewer createViewer(Composite parent) {
31-
Table table = new Table(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
33+
fFilteredViewer = new FilteredTable(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, new PatternFilter());
3234

33-
fViewer = new TableViewer(table);
35+
fViewer = fFilteredViewer.getViewer();
3436
fViewer.setContentProvider(fContentProvider);
3537
final DependenciesLabelProvider labelProvider = new DependenciesLabelProvider(false);
3638
fViewer.setLabelProvider(labelProvider);
@@ -56,4 +58,9 @@ protected boolean isShowingOptional() {
5658
}
5759
return true;
5860
}
61+
62+
@Override
63+
public Control getControl() {
64+
return fFilteredViewer;
65+
}
5966
}

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/views/dependencies/DependenciesViewTreePage.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2000, 2015 IBM Corporation and others.
2+
* Copyright (c) 2000, 2025 IBM Corporation and others.
33
*
44
* This program and the accompanying materials
55
* are made available under the terms of the Eclipse Public License 2.0
@@ -28,6 +28,9 @@
2828
import org.eclipse.pde.internal.ui.PDEUIMessages;
2929
import org.eclipse.swt.SWT;
3030
import org.eclipse.swt.widgets.Composite;
31+
import org.eclipse.swt.widgets.Control;
32+
import org.eclipse.ui.dialogs.FilteredTree;
33+
import org.eclipse.ui.dialogs.PatternFilter;
3134
import org.osgi.framework.Constants;
3235

3336
public class DependenciesViewTreePage extends DependenciesViewPage {
@@ -62,6 +65,7 @@ public boolean select(Viewer v, Object parent, Object element) {
6265
}
6366

6467
TreeViewer fTreeViewer;
68+
private FilteredTree fFilteredTreeViewer;
6569
private final OptionalFilter fHideOptionalFilter = new OptionalFilter();
6670

6771
public DependenciesViewTreePage(DependenciesView view, ITreeContentProvider contentProvider) {
@@ -70,7 +74,9 @@ public DependenciesViewTreePage(DependenciesView view, ITreeContentProvider cont
7074

7175
@Override
7276
protected StructuredViewer createViewer(Composite parent) {
73-
fTreeViewer = new TreeViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
77+
fFilteredTreeViewer = new FilteredTree(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL, new PatternFilter(),
78+
true, true);
79+
fTreeViewer = fFilteredTreeViewer.getViewer();
7480
fTreeViewer.setContentProvider(fContentProvider);
7581
final DependenciesLabelProvider labelProvider = new DependenciesLabelProvider(true);
7682
fTreeViewer.setLabelProvider(labelProvider);
@@ -111,4 +117,8 @@ protected boolean isShowingOptional() {
111117
return true;
112118
}
113119

120+
@Override
121+
public Control getControl() {
122+
return fFilteredTreeViewer;
123+
}
114124
}

0 commit comments

Comments
 (0)