Skip to content

Commit 3447b8c

Browse files
committed
Hide and show the markers when the priority filter is changed
1 parent a59940e commit 3447b8c

File tree

1 file changed

+26
-0
lines changed
  • net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/views

1 file changed

+26
-0
lines changed

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/ui/views/PriorityFilter.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@
1313

1414
import org.eclipse.core.resources.IMarker;
1515
import org.eclipse.core.runtime.CoreException;
16+
import org.eclipse.core.runtime.preferences.InstanceScope;
1617
import org.eclipse.jface.viewers.Viewer;
1718
import org.eclipse.jface.viewers.ViewerFilter;
19+
import org.eclipse.ui.preferences.ScopedPreferenceStore;
1820

1921
import net.sourceforge.pmd.RulePriority;
2022
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
@@ -44,6 +46,8 @@ public class PriorityFilter extends ViewerFilter {
4446

4547
private Set<PriorityFilterChangeListener> listeners = new CopyOnWriteArraySet<>();
4648

49+
private final ScopedPreferenceStore editorsPreferences = new ScopedPreferenceStore(InstanceScope.INSTANCE, "org.eclipse.ui.editors");
50+
4751
/**
4852
* Constructor
4953
*
@@ -68,10 +72,13 @@ public final void initialize() {
6872
@Override
6973
public void priorityEnabled(RulePriority priority) {
7074
saveToPreferenceStore();
75+
showMarkers(priority);
7176
}
77+
7278
@Override
7379
public void priorityDisabled(RulePriority priority) {
7480
saveToPreferenceStore();
81+
hideMarkers(priority);
7582
}
7683
});
7784
loadFromPreferenceStore();
@@ -95,6 +102,24 @@ private void loadFromPreferenceStore() {
95102
}
96103
}
97104

105+
private String getMarkerKeyVerticalRuler(RulePriority priority) {
106+
return "net.sourceforge.pmd.eclipse.plugin.annotation.prio" + priority.getPriority() + ".verticalruler";
107+
}
108+
109+
private String getMarkerKeyOverviewRuler(RulePriority priority) {
110+
return "net.sourceforge.pmd.eclipse.plugin.annotation.prio" + priority.getPriority() + ".overviewruler";
111+
}
112+
113+
private void showMarkers(RulePriority priority) {
114+
editorsPreferences.setValue(getMarkerKeyVerticalRuler(priority), true);
115+
editorsPreferences.setValue(getMarkerKeyOverviewRuler(priority), true);
116+
}
117+
118+
private void hideMarkers(RulePriority priority) {
119+
editorsPreferences.setValue(getMarkerKeyVerticalRuler(priority), false);
120+
editorsPreferences.setValue(getMarkerKeyOverviewRuler(priority), false);
121+
}
122+
98123
/*
99124
* @see
100125
* org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.
@@ -301,6 +326,7 @@ private void notifyPriorityDisabled(RulePriority priority) {
301326

302327
public interface PriorityFilterChangeListener {
303328
void priorityEnabled(RulePriority priority);
329+
304330
void priorityDisabled(RulePriority priority);
305331
}
306332
}

0 commit comments

Comments
 (0)