blob: fa4c7dfb9d3cbdc28dc6c524fd9582fb55f74d8d [file] [log] [blame]
/*
* (c) Copyright IBM Corp. 2000, 2001.
* All Rights Reserved.
*/
package org.eclipse.search.ui;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.viewers.ISelection;
/**
* Offers client access to the search dialog.
* A search page can enable or disable the dialog's action
* button and get an operation context to perform the action.
* The dialog itself cannot be accessed directly.
* <p>
* This interface is not intended to be implemented by clients.
* </p>
*/
public interface ISearchPageContainer {
/**
* Workspace scope (value <code>0</code>).
*
* @since 2.0
*/
public static final int WORKSPACE_SCOPE= 0;
/**
* Selection scope (value <code>1</code>).
*
* @since 2.0
*/
public static final int SELECTION_SCOPE= 1;
/**
* Working set scope (value <code>2</code>).
*
* @since 2.0
*/
public static final int WORKING_SET_SCOPE= 2;
/**
* Returns the selection with which this container was opened.
*
* @return the selection passed to this container when it was opened
*/
public ISelection getSelection();
/**
* Returns the context for the search operation.
* This context allows progress to be shown inside the search dialog.
*
* @return the <code>IRunnableContext</code> for the search operation
*/
public IRunnableContext getRunnableContext();
/**
* Sets the enable state of the perform action button
* of this container.
*
* @param state <code>true</code> to enable the button which performs the action
*/
public void setPerformActionEnabled(boolean state);
/**
* Returns search container's selected scope.
* The scope is WORKSPACE_SCOPE, SELECTION_SCOPE or WORKING_SET_SCOPE.
*
* @return the selected scope
* @since 2.0
*/
public int getSelectedScope();
/**
* Sets the selected scope of this search page container.
* The scope is WORKSPACE_SCOPE, SELECTION_SCOPE or WORKING_SET_SCOPE.
*
* @return the selected scope
* @since 2.0
*/
public void setSelectedScope(int scope);
/**
* Tells whether a valid scope is selected.
*
* @return a <code>true</code> if a valid scope is selected in this search page container
* @since 2.0
*/
public boolean hasValidScope();
/**
* Returns the selected working set of this container.
* <p>
* This method is for internal use only due to issue below. Once
* the issues is solved there will be an official API.
* </p>
* <p>
* [Issue: Working set must be provided by platform.]
* </p>
*
* @return the selected IWorkingSet or <code>null</code> if the scope is not WORKING_SET_SCOPE
* @since 2.0
*/
public IWorkingSet getSelectedWorkingSet();
/**
* Sets the selected working set of this container.
* <p>
* This method is for internal use only due to issue below. Once
* the issues is solved there will be an official API.
* </p>
* <p>
* [Issue: Working set must be provided by platform.]
* </p>
*
* @param workingSet the IWorkingSet to be selected
* @since 2.0
*/
public void setSelectedWorkingSet(IWorkingSet workingSet);
}