[141673] Adding new components should put it in direct edit mode, and then reselected in top level view
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseFieldEditPart.java b/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseFieldEditPart.java
index a7bf79c..b6ff549 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseFieldEditPart.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src-adt/org/eclipse/wst/xsd/ui/internal/adt/design/editparts/BaseFieldEditPart.java
@@ -12,6 +12,7 @@
 
 import java.util.Iterator;
 import java.util.List;
+
 import org.eclipse.draw2d.ColorConstants;
 import org.eclipse.draw2d.IFigure;
 import org.eclipse.draw2d.Label;
@@ -27,6 +28,7 @@
 import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
 import org.eclipse.gef.requests.DirectEditRequest;
 import org.eclipse.gef.requests.LocationRequest;
+import org.eclipse.wst.xsd.ui.internal.adapters.XSDBaseAdapter;
 import org.eclipse.wst.xsd.ui.internal.adt.design.directedit.ComboBoxCellEditorManager;
 import org.eclipse.wst.xsd.ui.internal.adt.design.directedit.ElementReferenceDirectEditManager;
 import org.eclipse.wst.xsd.ui.internal.adt.design.directedit.LabelCellEditorLocator;
@@ -42,6 +44,7 @@
 import org.eclipse.wst.xsd.ui.internal.adt.facade.IField;
 import org.eclipse.wst.xsd.ui.internal.adt.facade.IType;
 import org.eclipse.wst.xsd.ui.internal.design.editpolicies.GraphNodeDragTracker;
+import org.eclipse.xsd.XSDNamedComponent;
 
 public class BaseFieldEditPart extends BaseTypeConnectingEditPart implements INamedEditPart
 {
@@ -249,6 +252,30 @@
     }
   }
   
+  public void doEditName(boolean addFromDesign)
+  {
+    if (!addFromDesign) return;
+    
+//    removeFeedback();
+
+//    Runnable runnable = new Runnable()
+//    {
+//      public void run()
+//      {
+        Object object = ((XSDBaseAdapter)getModel()).getTarget();
+        if (object instanceof XSDNamedComponent)
+        {
+          Point p = getNameLabelFigure().getLocation();
+          LabelEditManager manager = new LabelEditManager(BaseFieldEditPart.this, new LabelCellEditorLocator(BaseFieldEditPart.this, p));
+          NameUpdateCommandWrapper wrapper = new NameUpdateCommandWrapper();
+          adtDirectEditPolicy.setUpdateCommand(wrapper);
+          manager.show();
+        }
+//      }
+//    };
+//    Display.getCurrent().asyncExec(runnable);
+
+  }
   
   class NameUpdateCommandWrapper extends Command implements IADTUpdateCommand
   {