diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyViewPart.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyViewPart.java index 38015d738c4..5f798f4bfe3 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyViewPart.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/CallHierarchyViewPart.java @@ -244,6 +244,7 @@ protected void open(ISelection selection, boolean activate) { private IPartListener2 fPartListener; private boolean fIsPinned; private PinCallHierarchyViewAction fPinViewAction; + private FiltersAction fFiltersAction; public CallHierarchyViewPart() { @@ -1024,6 +1025,7 @@ private void fillActionBars() { } toolBar.add(fHistoryDropDownAction); toolBar.add(fPinViewAction); + toolBar.add(fFiltersAction); } private void makeActions() { @@ -1048,6 +1050,9 @@ private void makeActions() { fExpandWithConstructorsAction= new ExpandWithConstructorsAction(this, fCallHierarchyViewer); fRemoveFromViewAction= new RemoveFromViewAction(this, fCallHierarchyViewer); fPinViewAction= new PinCallHierarchyViewAction(this); + + fFiltersAction = new FiltersAction(this); + fToggleOrientationActions = new ToggleOrientationAction[] { new ToggleOrientationAction(this, VIEW_ORIENTATION_VERTICAL), new ToggleOrientationAction(this, VIEW_ORIENTATION_HORIZONTAL), diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersAction.java new file mode 100644 index 00000000000..8a81672bcab --- /dev/null +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersAction.java @@ -0,0 +1,46 @@ +package org.eclipse.jdt.internal.ui.callhierarchy; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.window.Window; + +import org.eclipse.ui.PlatformUI; + +import org.eclipse.jdt.internal.ui.IJavaHelpContextIds; +import org.eclipse.jdt.internal.ui.JavaPluginImages; + +public class FiltersAction extends Action { + private CallHierarchyViewPart fPart; + + + public FiltersAction (CallHierarchyViewPart view) { + + + super(); + fPart = view; + setToolTipText(CallHierarchyMessages.ShowFilterDialogAction_text); + + setText(CallHierarchyMessages.ShowFilterDialogAction_text); + setImageDescriptor(JavaPluginImages.DESC_ELCL_FILTER); + setDisabledImageDescriptor(JavaPluginImages.DESC_DLCL_FILTER); + + PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IJavaHelpContextIds.CALL_HIERARCHY_REFRESH_VIEW_ACTION); + + } + + @Override + public void run() { + + openFiltersDialog(); + + } + + private void openFiltersDialog() { + FiltersDialog dialog= new FiltersDialog( + fPart.getViewSite().getShell()); + + if(Window.OK == dialog.open()) { + fPart.refresh(); + } + } + +} diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersDialog.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersDialog.java index 35b995aba76..19a5c0ea2fc 100644 --- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersDialog.java +++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/callhierarchy/FiltersDialog.java @@ -63,6 +63,7 @@ protected boolean isResizable() { protected Control createDialogArea(Composite parent) { Composite composite= (Composite) super.createDialogArea(parent); + createTestCodeArea(composite); createNamesArea(composite); new Label(composite, SWT.NONE); // Filler