blob: f2efe0cfeaecc638094e07505e2ce2b030e02853 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.internal;
import org.eclipse.ui.IViewPart;
import org.eclipse.ui.IWorkbenchPart;
/**
* Provides debug view selection management/notification for a debug view in a
* specific workbench page. This selection provider shields clients from a debug
* view opening and closing, and still provides selection
* notification/information even when the debug view is not the active part.
*/
public class PagePartSelectionTracker {
/**
* Returns the id for the given part, taking into account multi-view instances
* which may have a secondary id.
*
* @since 3.0
*/
static String getPartId(IWorkbenchPart part) {
String id = part.getSite().getId();
if (part instanceof IViewPart) {
String secondaryId = ((IViewPart) part).getViewSite().getSecondaryId();
if (secondaryId != null) {
id = id + ':' + secondaryId;
}
}
return id;
}
}