diff --git a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/ComponentTree.java b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/ComponentTree.java index 85e1bdd5eb61..031458f84f88 100644 --- a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/ComponentTree.java +++ b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/ComponentTree.java @@ -41,9 +41,11 @@ import javax.swing.*; import javax.swing.border.LineBorder; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; +import javax.swing.tree.TreePath; import java.awt.*; -import java.util.HashMap; -import java.util.Map; +import java.awt.event.MouseEvent; +import java.util.*; +import java.util.List; /** * @author Alexander Lobas @@ -149,6 +151,21 @@ public final class ComponentTree extends Tree implements DataProvider { return Math.max(5, ((JComponent)getCellRenderer()).getPreferredSize().height / 2 - 3); } + @Override + public String getToolTipText(MouseEvent event) { + TreePath path = getPathForLocation(event.getX(), event.getY()); + if (path != null) { + RadComponent component = extractComponent(path.getLastPathComponent()); + if (component != null) { + List errorInfos = ErrorInfo.get(component); + if (!errorInfos.isEmpty()) { + return errorInfos.get(0).getName(); + } + } + } + return super.getToolTipText(event); + } + @Nullable private static HighlightDisplayLevel getHighlightDisplayLevel(Project project, RadComponent component) { HighlightDisplayLevel displayLevel = null;