From cf74c0b8498e56b75740a953f975b80807d0cdbc Mon Sep 17 00:00:00 2001 From: Alexey Pegov Date: Wed, 25 May 2011 15:01:55 +0400 Subject: [PATCH] fix popup caption to not expand popup for wild titles + fix ClassPresentationUtil to return correct presentation for anonymous classes --- .../presentation/java/ClassPresentationUtil.java | 2 +- platform/util/src/com/intellij/ui/TitlePanel.java | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java b/java/java-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java index 4493ab33e935..278293a1e119 100644 --- a/java/java-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java +++ b/java/java-impl/src/com/intellij/psi/presentation/java/ClassPresentationUtil.java @@ -79,8 +79,8 @@ public class ClassPresentationUtil { } } + @NotNull public static ItemPresentation getPresentation(@NotNull final PsiClass psiClass) { - if (psiClass instanceof PsiAnonymousClass) return null; return new ItemPresentation() { public String getPresentableText() { return getNameForClass(psiClass, false); diff --git a/platform/util/src/com/intellij/ui/TitlePanel.java b/platform/util/src/com/intellij/ui/TitlePanel.java index 8c93962ad9ea..f4a2a8dbd96d 100644 --- a/platform/util/src/com/intellij/ui/TitlePanel.java +++ b/platform/util/src/com/intellij/ui/TitlePanel.java @@ -64,10 +64,23 @@ public class TitlePanel extends CaptionPanel { myLabel.setText(titleText); } + @Override + public Dimension getMinimumSize() { + return new Dimension(10, getPreferredSize().height); + } public Dimension getPreferredSize() { final String text = myLabel.getText(); - return text != null && text.trim().length() > 0 ? super.getPreferredSize() : new Dimension(0, 0); + if (text == null || text.trim().length() == 0) { + return new Dimension(0, 0); + } + + final Dimension preferredSize = super.getPreferredSize(); + if (preferredSize.width > 100) { // do not allow caption to extend parent container + return new Dimension(100, preferredSize.height); + } + + return preferredSize; } }