185850: Authoring: creating child elements under process does no...
diff --git a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/editors/ProcessEditor.java b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/editors/ProcessEditor.java index 47030a5..484d9f3 100644 --- a/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/editors/ProcessEditor.java +++ b/org.eclipse.epf.authoring.ui/src/org/eclipse/epf/authoring/ui/editors/ProcessEditor.java
@@ -103,7 +103,6 @@ import org.eclipse.epf.diagram.model.util.GraphicalDataHelper; import org.eclipse.epf.diagram.model.util.GraphicalDataManager; import org.eclipse.epf.diagram.ui.DiagramUIPlugin; -import org.eclipse.epf.diagram.ui.service.DiagramUIService; import org.eclipse.epf.diagram.wpdd.part.WPDDiagramEditorPlugin; import org.eclipse.epf.library.ILibraryManager; import org.eclipse.epf.library.ILibraryServiceListener; @@ -355,7 +354,7 @@ // duplicate definition for now, will need to merge together later // see PreferenceConstants.org.eclipse.epf.library.prefs - public static final List DEFAULT_TBS_COLUMNS = Arrays + public static final List<ColumnDescriptor> DEFAULT_TBS_COLUMNS = Arrays .asList(new ColumnDescriptor[] { COL_DESC_PRESENTATION_NAME, // COL_DESC_ID, @@ -364,7 +363,7 @@ COL_DESC_IS_PLANNED, COL_DESC_HAS_MULTIPLE_OCCURRENCES, COL_DESC_IS_OPTIONAL }); - public static final List DEFAULT_WPBS_COLUMNS = Arrays + public static final List<ColumnDescriptor> DEFAULT_WPBS_COLUMNS = Arrays .asList(new ColumnDescriptor[] { COL_DESC_PRESENTATION_NAME, // COL_DESC_ID, @@ -374,7 +373,7 @@ COL_DESC_DELIVERABLE, COL_DESC_TYPE, COL_DESC_IS_PLANNED, COL_DESC_HAS_MULTIPLE_OCCURRENCES, COL_DESC_IS_OPTIONAL }); - public static final List DEFAULT_WBS_COLUMNS = Arrays + public static final List<ColumnDescriptor> DEFAULT_WBS_COLUMNS = Arrays .asList(new ColumnDescriptor[] { COL_DESC_PRESENTATION_NAME, COL_DESC_ID, //COL_DESC_PREFIX, @@ -385,16 +384,16 @@ }); - public static final List ALL_WBS_COLUMNS = new ArrayList( + public static final List<ColumnDescriptor> ALL_WBS_COLUMNS = new ArrayList<ColumnDescriptor>( DEFAULT_WBS_COLUMNS); - public static final List ALL_TBS_COLUMNS = new ArrayList( + public static final List<ColumnDescriptor> ALL_TBS_COLUMNS = new ArrayList<ColumnDescriptor>( DEFAULT_TBS_COLUMNS); - public static final List ALL_WPBS_COLUMNS = new ArrayList( + public static final List<ColumnDescriptor> ALL_WPBS_COLUMNS = new ArrayList<ColumnDescriptor>( DEFAULT_WPBS_COLUMNS); - public static final Map idToColumnDescriptorMap = new HashMap(); + public static final Map<String, ColumnDescriptor> idToColumnDescriptorMap = new HashMap<String, ColumnDescriptor>(); static { ALL_WBS_COLUMNS.add(COL_DESC_PREFIX); ALL_TBS_COLUMNS.add(COL_DESC_PREFIX); @@ -3246,21 +3245,19 @@ Command mostRecentCommand = ((CommandStack) event .getSource()).getMostRecentCommand(); if (mostRecentCommand != null) { - if (mostRecentCommand instanceof CreateChildCommand - && currentViewer instanceof ProcessViewer) { - Object[] arr = mostRecentCommand - .getAffectedObjects().toArray(); - if (arr.length == 1) { - ProcessViewer viewer = (ProcessViewer) currentViewer; - viewer.editElement(arr[0], 0); - } - } else { if (!(TngUtil.unwrap(mostRecentCommand) instanceof SetCommand)) { setSelectionToViewer(mostRecentCommand .getAffectedObjects()); } - - } + if (mostRecentCommand instanceof CreateChildCommand + && currentViewer instanceof ProcessViewer) { + Object[] arr = mostRecentCommand + .getAffectedObjects().toArray(); + if (arr.length == 1) { + ProcessViewer viewer = (ProcessViewer) currentViewer; + viewer.editElement(arr[0], 0); + } + } } // if (propertySheetPage != null) { // propertySheetPage.refresh(); @@ -3381,31 +3378,12 @@ * */ public void setSelectionToViewer(Collection collection) { - // System.out.println(getClass().getName() + ".setSelectionToViewer: - // selection="+collection); - final Collection theSelection = collection; - // Make sure it's okay. - // - if (theSelection != null && !theSelection.isEmpty()) { - // I don't know if this should be run this deferred - // because we might have to give the editor a chance to process the - // viewer update events - // and hence to update the views first. - // - // - Runnable runnable = new Runnable() { - public void run() { + if (currentViewer != null && collection != null && !collection.isEmpty()) { // Try to select the items in the current content viewer of // the editor. // - if (currentViewer != null) { - currentViewer.setSelection(new StructuredSelection( - theSelection.toArray()), true); - - } - } - }; - runnable.run(); + currentViewer.setSelection(new StructuredSelection( + collection.toArray()), true); } }