in src/main/java/org/jetbrains/plugins/spotbugs/gui/settings/DetectorTable.java [62:98]
public Component getTreeCellRendererComponent(
final JTree tree,
final Object value,
final boolean selected,
final boolean expanded,
final boolean leaf,
final int row,
final boolean hasFocus
) {
final AbstractDetectorNode node = (AbstractDetectorNode) value;
label.clear();
final boolean reallyHasFocus = ((TreeTableTree) tree).getTreeTable().hasFocus();
final Color background = selected ? (reallyHasFocus ? UIUtil.getTreeSelectionBackground() : UIUtil.getTreeUnfocusedSelectionBackground())
: UIUtil.getTreeTextBackground();
UIUtil.changeBackGround(label, background);
boolean gray = false;
if (!selected) {
if (bugCategory != null && !node.isGroup()) {
gray = true;
final DetectorNode detectorNode = (DetectorNode) node;
for (final BugPattern pattern : detectorNode.getDetector().getReportedBugPatterns()) {
if (bugCategory.isEnabled(pattern.getCategory())) {
gray = false;
break;
}
}
}
}
final String text = node.toString();
final String filter = headerPane.getFilter();
final SimpleTextAttributes attributes = gray ? SimpleTextAttributes.GRAYED_ATTRIBUTES : SimpleTextAttributes.REGULAR_ATTRIBUTES;
final Matcher matcher = NameUtil.buildMatcher("*" + filter, NameUtil.MatchingCaseSensitivity.NONE);
SpeedSearchUtil.appendColoredFragmentForMatcher(text, label, attributes, matcher, UIUtil.getTableBackground(selected), true);
return label;
}