From 7785a2e0bc4f4a2f1f96fe9494fc7c0867db34a2 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Fri, 20 Apr 2012 16:05:16 +0400 Subject: [PATCH] lazy caption component --- .../intellij/util/xml/ui/DomFileEditor.java | 35 +++++++------------ 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/xml/dom-openapi/src/com/intellij/util/xml/ui/DomFileEditor.java b/xml/dom-openapi/src/com/intellij/util/xml/ui/DomFileEditor.java index 526dae8ba992..c7c219dee257 100644 --- a/xml/dom-openapi/src/com/intellij/util/xml/ui/DomFileEditor.java +++ b/xml/dom-openapi/src/com/intellij/util/xml/ui/DomFileEditor.java @@ -145,37 +145,26 @@ public class DomFileEditor extends Perspecti } public static DomFileEditor createDomFileEditor(final String name, + @Nullable final Icon icon, final DomElement element, - final CaptionComponent captionComponent, - final CommittablePanel committablePanel) { - final DomFileEditor editor = createDomFileEditor(name, element, captionComponent, new Factory() { - public CommittablePanel create() { - return committablePanel; - } - }); - Disposer.register(editor, committablePanel); - return editor; - } - - public static DomFileEditor createDomFileEditor(final String name, - final DomElement element, - final CaptionComponent captionComponent, final Factory committablePanel) { final XmlFile file = DomUtil.getFile(element); final Factory factory = new Factory() { public BasicDomElementComponent create() { - return createComponentWithCaption(committablePanel.create(), captionComponent, element); + + CaptionComponent captionComponent = new CaptionComponent(name, icon); + captionComponent.initErrorPanel(element); + BasicDomElementComponent component = createComponentWithCaption(committablePanel.create(), captionComponent, element); + Disposer.register(component, captionComponent); + return component; + } + }; + return new DomFileEditor(file.getProject(), file.getVirtualFile(), name, factory) { + public JComponent getPreferredFocusedComponent() { + return null; } }; - final DomFileEditor editor = - new DomFileEditor(file.getProject(), file.getVirtualFile(), name, factory) { - public JComponent getPreferredFocusedComponent() { - return null; - } - }; - Disposer.register(editor, captionComponent); - return editor; } public static BasicDomElementComponent createComponentWithCaption(final CommittablePanel committablePanel,