Skip to content

Commit

Permalink
Refactoring Filter from call Hierarchy eclipse-jdt#1730
Browse files Browse the repository at this point in the history
  • Loading branch information
jannisCode committed Oct 23, 2024
1 parent c2ceaa2 commit 12a4eb0
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,18 @@

public class CallHierarchyCore {

//to add a new one just add here and change the isIgnored Method

public static final String PREF_SHOW_ALL_CODE = "PREF_SHOW_ALL_CODE"; //$NON-NLS-1$
public static final String[] A_SHOW_ALL_CODE = {PREF_SHOW_ALL_CODE, "Show All Code"}; //$NON-NLS-1$

public static final String PREF_HIDE_TEST_CODE = "PREF_HIDE_TEST_CODE"; //$NON-NLS-1$
public static final String[] A_HIDE_TEST_CODE = {PREF_HIDE_TEST_CODE, "Hide Test Code"}; //$NON-NLS-1$

public static final String PREF_SHOW_TEST_CODE_ONLY = "PREF_SHOW_TEST_CODE_ONLY"; //$NON-NLS-1$
public static final String[] A_SHOW_TEST_CODE = {PREF_SHOW_TEST_CODE_ONLY, "Test Code only"}; //$NON-NLS-1$

public static final String[][] PREF_FILTERS = {A_SHOW_ALL_CODE, A_HIDE_TEST_CODE, A_SHOW_TEST_CODE};

public static final String PREF_USE_IMPLEMENTORS= "PREF_USE_IMPLEMENTORS"; //$NON-NLS-1$
public static final String PREF_USE_FILTERS= "PREF_USE_FILTERS"; //$NON-NLS-1$
Expand All @@ -72,6 +81,7 @@ public boolean isSearchUsingImplementorsEnabled() {
}

public boolean isShowTestCode() {

return Boolean.parseBoolean(JavaManipulation.getPreference(PREF_SHOW_TEST_CODE_ONLY, null));
}

Expand All @@ -82,6 +92,13 @@ public boolean isShowAll() {
public boolean isHideTestCode() {
return Boolean.parseBoolean(JavaManipulation.getPreference(PREF_HIDE_TEST_CODE, null));
}
public String getActiveFilter() {
for (String[] string : PREF_FILTERS) { //must be one of the threee
if(Boolean.parseBoolean(JavaManipulation.getPreference(string[0], null))) {
return string[0];
}
} return null;
}

public Collection<IJavaElement> getImplementingMethods(IMethod method) {
if (isSearchUsingImplementorsEnabled()) {
Expand Down Expand Up @@ -328,4 +345,5 @@ public static boolean isPossibleInputElement(Object element){

return true;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,6 @@
package org.eclipse.jdt.internal.corext.callhierarchy;

import static org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore.PREF_FILTERS_LIST;
import static org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore.PREF_HIDE_TEST_CODE;
import static org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore.PREF_SHOW_ALL_CODE;
import static org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore.PREF_SHOW_TEST_CODE_ONLY;
import static org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore.PREF_USE_FILTERS;
import static org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore.PREF_USE_IMPLEMENTORS;

Expand Down Expand Up @@ -60,19 +57,16 @@ public static CallHierarchy getDefault() {
return fgInstance;
}

public void setShowAll(boolean value) {
public void setActiveFilter (String string) {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
settings.setValue(PREF_SHOW_ALL_CODE, value);
}
for (String[] s : CallHierarchyCore.PREF_FILTERS) {
if(s[0] == string) {
settings.setValue(s[0], true);
} else {
settings.setValue(s[0], false);
}
}

public void setHideTestCode(boolean value) {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
settings.setValue(PREF_HIDE_TEST_CODE, value);
}

public void setShowTestCode(boolean value) {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
settings.setValue(PREF_SHOW_TEST_CODE_ONLY, value);
}

public boolean isSearchUsingImplementorsEnabled() {
Expand Down Expand Up @@ -139,21 +133,15 @@ public boolean isFilterEnabled() {
return settings.getBoolean(PREF_USE_FILTERS);
}

public boolean isShowAll() {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
return settings.getBoolean(PREF_SHOW_ALL_CODE);
}

public boolean isHideTestCode() {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
return settings.getBoolean(PREF_HIDE_TEST_CODE);
}

public boolean isShowTestCode() {
public String getActiveFilter() {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
return settings.getBoolean(PREF_SHOW_TEST_CODE_ONLY);
}

for (String[] string : CallHierarchyCore.PREF_FILTERS) { //must be one of the threee
if(settings.getBoolean(string[0])) {
return string[0];
}
} return null;
}

public void setFilterEnabled(boolean filterEnabled) {
IPreferenceStore settings = JavaPlugin.getDefault().getPreferenceStore();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.eclipse.ui.PlatformUI;

import org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchy;
import org.eclipse.jdt.internal.corext.callhierarchy.CallHierarchyCore;

import org.eclipse.jdt.internal.ui.IJavaHelpContextIds;
import org.eclipse.jdt.internal.ui.dialogs.StatusInfo;
Expand All @@ -43,9 +44,11 @@ class FiltersDialog extends StatusDialog {
private Button fShowAll;
private Button fHideTest;
private Button fShowTest;
private Button[] buttons = {fShowAll, fHideTest, fShowTest}; //important what comes when

protected FiltersDialog(Shell parentShell) {
super(parentShell);

}

@Override
Expand Down Expand Up @@ -118,28 +121,27 @@ private void createTestCodeArea(Composite parent) {
layout.numColumns= 1;
radioGroup.setLayout(layout);

fShowAll= new Button(radioGroup, SWT.RADIO);
fShowAll.setText(CallHierarchyMessages.FiltersDialog_ShowAllCode);

fHideTest= new Button(radioGroup, SWT.RADIO);
fHideTest.setText(CallHierarchyMessages.FiltersDialog_HideTestCode);
for (int i = 0; i < buttons.length; i++) {
buttons[i] = new Button(radioGroup, SWT.RADIO);
buttons[i].setText(getStrings(buttons[i])[1]);
}

fShowTest= new Button(radioGroup, SWT.RADIO);
fShowTest.setText(CallHierarchyMessages.FiltersDialog_TestCodeOnly);
setSelection();

GridData gridData= new GridData();
gridData.horizontalIndent= 0;
fShowAll.setLayoutData(gridData);
fHideTest.setLayoutData(gridData);
fShowTest.setLayoutData(gridData);

for (Button button : buttons) {
button.setLayoutData(gridData);
}
}

private void setSelection() {
fShowAll.setSelection(CallHierarchy.getDefault().isShowAll());
fHideTest.setSelection(CallHierarchy.getDefault().isHideTestCode());
fShowTest.setSelection(CallHierarchy.getDefault().isShowTestCode());
for(int i = 0; i < buttons.length; i++) {
buttons[i].setSelection(CallHierarchy.getDefault().getActiveFilter()
== CallHierarchyCore.PREF_FILTERS[i][0]);

}
}

/**
Expand Down Expand Up @@ -191,9 +193,15 @@ private void updateFilterFromUI() {
CallHierarchy.getDefault().setFilters(fNames.getText());
CallHierarchy.getDefault().setFilterEnabled(fFilterOnNames.getSelection());

CallHierarchy.getDefault().setShowAll(fShowAll.getSelection());
CallHierarchy.getDefault().setHideTestCode(fHideTest.getSelection());
CallHierarchy.getDefault().setShowTestCode(fShowTest.getSelection());

String activeFilter =""; //$NON-NLS-1$
for (Button button : buttons) {
if(button.getSelection()) {
activeFilter = (getStrings(button))[0];
}
}

CallHierarchy.getDefault().setActiveFilter(activeFilter);
}

/**
Expand All @@ -205,10 +213,20 @@ private void updateUIFromFilter() {
fFilterOnNames.setSelection(CallHierarchy.getDefault().isFilterEnabled());

setSelection();

updateEnabledState();
}

private String[] getStrings(Button B) {
if(B == buttons[0]) {
return CallHierarchyCore.PREF_FILTERS[0];
} else if (B == buttons[1]) {
return CallHierarchyCore.PREF_FILTERS[1];
} else {
return CallHierarchyCore.PREF_FILTERS[2];
}
}


/**
* Updates the filter from the UI state.
Expand Down

0 comments on commit 12a4eb0

Please sign in to comment.