У меня есть код, предоставленный примером.Я хочу, чтобы PsiFileNode менял свой цвет при нажатии на мое реализованное действие.
<extensions defaultExtensionNs="com.intellij">
<treeStructureProvider implementation="ru.softmg.highlighter.CustomTreeStructureProvider" />
</extensions>
Это TreeStructureProvider
package ru.softmg.highlighter;
import com.intellij.ide.projectView.TreeStructureProvider;
import com.intellij.ide.projectView.ViewSettings;
import com.intellij.ide.projectView.impl.nodes.PsiFileNode;
import com.intellij.ide.util.treeView.AbstractTreeNode;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collection;
public class CustomTreeStructureProvider implements TreeStructureProvider {
@NotNull
@Override
public Collection<AbstractTreeNode> modify(@NotNull AbstractTreeNode parent, @NotNull Collection<AbstractTreeNode> children, ViewSettings settings) {
Project project = ProjectManager.getInstance().getOpenProjects()[0];
ArrayList<AbstractTreeNode> nodes = new ArrayList<>();
for(AbstractTreeNode child : children) {
if(child instanceof PsiFileNode) {
PsiFileNode psiFileNode = (PsiFileNode) child;
CustomPsiFileNode customPsiFileNode = new CustomPsiFileNode(project, psiFileNode.getValue(), psiFileNode.getSettings());
nodes.add(customPsiFileNode);
}
else {
nodes.add(child);
}
}
return nodes;
}
}
И это мое действие
public class ProjectHighlighter extends AnAction {
@Override
public void actionPerformed(AnActionEvent anActionEvent) {
}
}
Чтоследует сделать для обновления TreeStructureProvider при вызове метода actionPerformed?