From 2ecff5022ce3a498a85b73a59a8fe01399fe2ee6 Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Fri, 18 Jan 2013 17:47:06 +0400 Subject: [PATCH] Make initialization of list cell renderer lazy. --- .../maven/dom/annotator/MavenDomGutterAnnotator.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/annotator/MavenDomGutterAnnotator.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/annotator/MavenDomGutterAnnotator.java index 7d19bb7340ef..00236e7393f0 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/annotator/MavenDomGutterAnnotator.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/dom/annotator/MavenDomGutterAnnotator.java @@ -44,7 +44,9 @@ import java.util.Set; public class MavenDomGutterAnnotator implements Annotator { - private static final PsiElementListCellRenderer RENDERER = new PsiElementListCellRenderer() { + private static class MyListCellRenderer extends PsiElementListCellRenderer { + public static final MyListCellRenderer INSTANCE = new MyListCellRenderer(); + @Override public String getElementText(XmlTag tag) { DomElement domElement = DomManager.getDomManager(tag.getProject()).getDomElement(tag); @@ -78,7 +80,7 @@ public class MavenDomGutterAnnotator implements Annotator { protected int getIconFlags() { return 0; } - }; + } private static final NotNullFunction> CONVERTER = new NotNullFunction>() { @@ -110,7 +112,7 @@ public class MavenDomGutterAnnotator implements Annotator { iconBuilder. setTargets(children). setPopupTitle(MavenDomBundle.message("navigate.parent.dependency.title")). - setCellRenderer(RENDERER). + setCellRenderer(MyListCellRenderer.INSTANCE). setTooltipText(MavenDomBundle.message("overriding.dependency.title")). install(holder, dependency.getXmlTag()); } @@ -189,7 +191,7 @@ public class MavenDomGutterAnnotator implements Annotator { if (children.size() > 0) { NavigationGutterIconBuilder.create(icons.MavenIcons.ChildrenProjects, MAVEN_PROJECT_CONVERTER). setTargets(children). - setCellRenderer(RENDERER). + setCellRenderer(MyListCellRenderer.INSTANCE). setPopupTitle(MavenDomBundle.message("navigate.children.poms.title")). setTooltipText(MavenDomBundle.message("children.poms.title")). install(holder, model.getXmlElement());