From 604d395251aec0f682cb05a6bbf628dd7032cd5d Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Tue, 26 Sep 2006 19:57:11 +0400 Subject: [PATCH] AIOBE --- .../ide/ui/customization/ActionUrl.java | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/ui/impl/com/intellij/ide/ui/customization/ActionUrl.java b/ui/impl/com/intellij/ide/ui/customization/ActionUrl.java index 8ce368372b11..23c259fa2a9e 100644 --- a/ui/impl/com/intellij/ide/ui/customization/ActionUrl.java +++ b/ui/impl/com/intellij/ide/ui/customization/ActionUrl.java @@ -9,12 +9,12 @@ import com.intellij.openapi.keymap.impl.ui.Group; import com.intellij.openapi.util.*; import org.jdom.Element; import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.Nullable; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; import java.util.ArrayList; -import java.util.Iterator; /** * User: anna @@ -70,6 +70,7 @@ public class ActionUrl implements JDOMExternalizable { return myComponent; } + @Nullable public AnAction getComponentAction(){ if (myComponent instanceof Separator){ return Separator.getInstance(); @@ -113,9 +114,8 @@ public class ActionUrl implements JDOMExternalizable { public void readExternal(Element element) throws InvalidDataException { myGroupPath = new ArrayList(); - for (Iterator iterator = element.getChildren(PATH).iterator(); iterator.hasNext();) { - Element o = iterator.next(); - myGroupPath.add(o.getAttributeValue(VALUE)); + for (Object o : element.getChildren(PATH)) { + myGroupPath.add(((Element)o).getAttributeValue(VALUE)); } final String attributeValue = element.getAttributeValue(VALUE); if (element.getAttributeValue(IS_ACTION) != null) { @@ -136,8 +136,7 @@ public class ActionUrl implements JDOMExternalizable { } public void writeExternal(Element element) throws WriteExternalException { - for (Iterator iterator = myGroupPath.iterator(); iterator.hasNext();) { - String s = iterator.next(); + for (String s : myGroupPath) { Element path = new Element(PATH); path.setAttribute(VALUE, s); element.addContent(path); @@ -150,7 +149,9 @@ public class ActionUrl implements JDOMExternalizable { element.setAttribute(SEPARATOR, Boolean.TRUE.toString()); } else if (myComponent instanceof Group) { - final String groupId = ((Group)myComponent).getId() != null && !((Group)myComponent).getId().equals("") ? ((Group)myComponent).getId() : ((Group)myComponent).getName(); + final String groupId = ((Group)myComponent).getId() != null && ((Group)myComponent).getId().length() != 0 + ? ((Group)myComponent).getId() + : ((Group)myComponent).getName(); element.setAttribute(VALUE, groupId != null ? groupId : ""); element.setAttribute(IS_GROUP, Boolean.TRUE.toString()); } @@ -160,9 +161,8 @@ public class ActionUrl implements JDOMExternalizable { } public boolean isGroupContainsInPath(ActionGroup group){ - for (Iterator iterator = myGroupPath.iterator(); iterator.hasNext();) { - String s = iterator.next(); - if (s.equals(group.getTemplatePresentation().getText())){ + for (String s : myGroupPath) { + if (s.equals(group.getTemplatePresentation().getText())) { return true; } } @@ -212,11 +212,15 @@ public class ActionUrl implements JDOMExternalizable { if (treePath != null){ if (treePath.getLastPathComponent() != null){ final DefaultMutableTreeNode parent = ((DefaultMutableTreeNode)treePath.getLastPathComponent()); - if (parent.getChildCount() > url.getInitialPosition()) { - final DefaultMutableTreeNode child = (DefaultMutableTreeNode)parent.getChildAt(url.getInitialPosition()); - if (child.getUserObject().equals(url.getComponent())){ - parent.remove(child); - parent.insert(child, url.getAbsolutePosition()); + final int absolutePosition = url.getAbsolutePosition(); + final int initialPosition = url.getInitialPosition(); + if (parent.getChildCount() > absolutePosition && absolutePosition >= 0) { + if (parent.getChildCount() > initialPosition && initialPosition >= 0) { + final DefaultMutableTreeNode child = (DefaultMutableTreeNode)parent.getChildAt(initialPosition); + if (child.getUserObject().equals(url.getComponent())){ + parent.remove(child); + parent.insert(child, absolutePosition); + } } } }