diff --git a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/TreeContentProvider.java b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/TreeContentProvider.java index d98e4900af48..a1fecce72eca 100644 --- a/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/TreeContentProvider.java +++ b/plugins/ui-designer/ui-designer-new/src/com/intellij/designer/componentTree/TreeContentProvider.java @@ -61,12 +61,27 @@ public final class TreeContentProvider extends AbstractTreeStructure { @NotNull @Override public NodeDescriptor createDescriptor(Object element, NodeDescriptor parentDescriptor) { - if (element == myTreeRoot || element instanceof RadComponent) { + if (element == myTreeRoot) { return new TreeNodeDescriptor(parentDescriptor, element); } + if (element instanceof RadComponent) { + RadComponent component = (RadComponent)element; + TreeNodeDescriptor descriptor = new TreeNodeDescriptor(parentDescriptor, element); + descriptor.setWasDeclaredAlwaysLeaf(component.getTreeChildren().length == 0); + return descriptor; + } throw new IllegalArgumentException("Unknown element: " + element); } + @Override + public boolean isAlwaysLeaf(Object element) { + if (element instanceof RadComponent) { + RadComponent component = (RadComponent)element; + return component.getTreeChildren().length == 0; + } + return false; + } + @Override public boolean hasSomethingToCommit() { return false;