1 /*******************************************************************************
2  * Copyright (c) 2000, 2009 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *     IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.team.ui.synchronize;
15 
16 import org.eclipse.ui.IViewPart;
17 
18 /**
19  * A view that displays synchronization participants that are registered with the
20  * synchronize manager. This is essentially a generic container that allows
21  * multiple {@link ISynchronizeParticipant} implementations to share the same
22  * view. The only behavior provided by the view is a mechanism for switching
23  * between participants.
24  * <p>
25  * Clients can not add viewActions to this view because they will be global
26  * to all participants. Instead, add participant specific actions as described
27  * in {@link org.eclipse.team.ui.synchronize.ISynchronizePageConfiguration}.
28  * </p>
29  * @see ISynchronizeManager#showSynchronizeViewInActivePage()
30  * @since 3.0
31  * @noimplement Clients are not intended to implement this interface.
32  *
33  */
34 public interface ISynchronizeView extends IViewPart {
35 	/**
36 	 * The id for this view
37 	 */
38 	public static final String VIEW_ID = "org.eclipse.team.sync.views.SynchronizeView"; //$NON-NLS-1$
39 
40 	/**
41 	 * This id is no longer used.
42 	 * @deprecated not used, please use {@link #VIEW_ID} instead.
43 	 */
44 	@Deprecated
45 	public static final String COMPARE_VIEW_ID = "org.eclipse.team.sync.views.CompareView"; //$NON-NLS-1$
46 
47 	/**
48 	 * Displays the given synchronize participant in the Synchronize View. This
49 	 * has no effect if this participant is already being displayed.
50 	 *
51 	 * @param participant participant to be displayed, cannot be <code>null</code>
52 	 */
display(ISynchronizeParticipant participant)53 	public void display(ISynchronizeParticipant participant);
54 
55 	/**
56 	 * Returns the participant currently being displayed in the Synchronize View
57 	 * or <code>null</code> if none.
58 	 *
59 	 * @return the participant currently being displayed in the Synchronize View
60 	 * or <code>null</code> if none
61 	 */
getParticipant()62 	public ISynchronizeParticipant getParticipant();
63 }
64