in src/main/kotlin/mobi/hsz/idea/gitignore/ui/template/TemplateTreeRenderer.kt [19:65]
override fun customizeRenderer(
tree: JTree,
value: Any,
selected: Boolean,
expanded: Boolean,
leaf: Boolean,
row: Int,
hasFocus: Boolean,
) {
if (value !is TemplateTreeNode) {
return
}
val foreground = when {
selected -> UIUtil.getTreeSelectionForeground(true)
value.template == null -> PlatformColors.BLUE
else -> UIUtil.getTreeForeground()
}
val background = when {
selected -> UIUtil.getTreeSelectionBackground(true)
else -> UIUtil.getTreeBackground()
}
setForeground(foreground)
UIUtil.changeBackGround(this, background)
value.template?.let {
SearchUtil.appendFragments(
filter,
it.name,
SimpleTextAttributes.STYLE_PLAIN,
foreground,
background,
textRenderer
)
} ?: run {
value.container?.let {
checkbox.isVisible = true
textRenderer.append(
message("template.container." + it.toString().lowercase()),
when {
selected -> SimpleTextAttributes(SimpleTextAttributes.STYLE_PLAIN, foreground)
else -> SimpleTextAttributes.GRAYED_ATTRIBUTES
}
)
}
}
}