blob: 6ee3e337282b7df60ebe9c530b25572b3a4467d0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2008 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
*
* Contributors:
* Oracle - initial API and implementation
******************************************************************************/
package org.eclipse.jpt.ui.internal.selection;
import org.eclipse.ui.IWorkbenchPart;
public interface JpaSelectionManager
{
/**
* Return the current selection.
* This will never be null, but it may be empty.
*/
public JpaSelection getCurrentSelection();
/**
* Not to be called lightly, this will affect the selection for all interested
* objects in a window.
* @param newSelection The new selection for the current window.
* @param source The selection participant (if any) that is causing the
* selection. May be null.
*/
public void select(JpaSelection newSelection, JpaSelectionParticipant source);
/**
* Not to be called lightly, this will affect the selection for all interested
* objects in a window.
* @param oldSelection The oldSelection will be deselected, iff it matches
* the current selection. If so, the new selection will be an empty JpaSelection.
* @param source The selection participant (if any) that is causing the
* selection. May be null.
*/
public void deselect(JpaSelection oldSelection, JpaSelectionParticipant source);
/**
* This may be used to register a part with the selection manager if the part
* is known to need access to the selection manager before it is ever activated
* or in the case it may be activated prior to the selection manager being
* created.
*
* It should not be necessary to deregister a part, as that happens when the
* part is closed.
*/
public void register(IWorkbenchPart part);
/**
* Returns true if the part is currently registered to respond to selections
* from this selection manager
*/
public boolean isRegistered(IWorkbenchPart part);
}