diff options
| author | Eric Moffatt | 2013-04-11 17:04:52 +0000 |
|---|---|---|
| committer | Eric Moffatt | 2013-04-11 17:33:01 +0000 |
| commit | 3e0f6334cf3c634b16d51d29478dca616ffd10ba (patch) | |
| tree | 32c103159e9ac08136fd56903ac1aa960fdc32a7 | |
| parent | 76db3139e4a8c7f40b0013137e2827ec5ecef440 (diff) | |
| download | eclipse.platform.ui-3e0f6334cf3c634b16d51d29478dca616ffd10ba.tar.gz eclipse.platform.ui-3e0f6334cf3c634b16d51d29478dca616ffd10ba.tar.xz eclipse.platform.ui-3e0f6334cf3c634b16d51d29478dca616ffd10ba.zip | |
Alternate Fix for Bug 401709 - Secondary Problems view doesn't have a
view menu -> not configurable
2 files changed, 16 insertions, 21 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java index c2f62e9a1c6..ba3bdbebf95 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPage.java @@ -1885,7 +1885,13 @@ public class WorkbenchPage extends CompatibleWorkbenchPage implements * @see org.eclipse.ui.IWorkbenchPage */ public IViewReference findViewReference(String viewId) { - return findViewReference(viewId, null); + for (IViewReference reference : getViewReferences()) { + ViewReference ref = (ViewReference) reference; + if (viewId.equals(ref.getModel().getElementId())) { + return reference; + } + } + return null; } /* @@ -1894,25 +1900,10 @@ public class WorkbenchPage extends CompatibleWorkbenchPage implements * @see org.eclipse.ui.IWorkbenchPage */ public IViewReference findViewReference(String viewId, String secondaryId) { - for (IViewReference reference : getViewReferences()) { - // If the id contains a ':' use the part before it as the descriptor - // id - String referenceId = reference.getId(); - int colonIndex = referenceId.indexOf(':'); - String descId = colonIndex == -1 ? referenceId : referenceId.substring(0, colonIndex); - - if (viewId.equals(descId)) { - String refSecondaryId = reference.getSecondaryId(); - if (refSecondaryId == null) { - if (secondaryId == null) { - return reference; - } - } else if (refSecondaryId.equals(secondaryId)) { - return reference; - } - } - } - return null; + String compoundId = viewId; + if (secondaryId != null && secondaryId.length() > 0) + compoundId += ":" + secondaryId; //$NON-NLS-1$ + return findViewReference(compoundId); } public void createViewReferenceForPart(final MPart part, String viewId) { diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java index 9b37cead418..33638dd838a 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchPartReference.java @@ -372,7 +372,11 @@ public abstract class WorkbenchPartReference implements IWorkbenchPartReference, * @see org.eclipse.ui.IWorkbenchPartReference#getId() */ public String getId() { - return part.getElementId(); + String id = part.getElementId(); + + // Only return the descriptor id + int colonIndex = id.indexOf(':'); + return colonIndex == -1 ? id : id.substring(0, colonIndex); } /** |
