org.eclipse.search.ui.ISearchPageContainer Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright (c) 2000, 2011 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.search.ui;
import org.eclipse.jface.operation.IRunnableContext;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IWorkingSet;
/**
* 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.
*
* This interface is not intended to be implemented by clients.
*
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*/
public interface ISearchPageContainer {
/**
* Workspace scope (value 0
).
*
* @since 2.0
*/
public static final int WORKSPACE_SCOPE= 0;
/**
* Selection scope (value 1
).
*
* @since 2.0
*/
public static final int SELECTION_SCOPE= 1;
/**
* Working set scope (value 2
).
*
* @since 2.0
*/
public static final int WORKING_SET_SCOPE= 2;
/**
* Current Project scope (value 3
).
*
* @since 3.0
*/
public static final int SELECTED_PROJECTS_SCOPE= 3;
/**
* Current Project scope (value 4
).
*
* @since 3.16
*/
public static final int OPENED_EDITORS_SCOPE = 4;
/**
* 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 IRunnableContext
for the search operation
*/
public IRunnableContext getRunnableContext();
/**
* Sets the enable state of the perform action button
* of this container.
*
* @param state true
to enable the button which performs the action
*/
public void setPerformActionEnabled(boolean state);
/**
* Returns search container's selected scope. The scope is WORKSPACE_SCOPE,
* SELECTED_PROJECTS_SCOPE, SELECTION_SCOPE, OPENED_EDITORS_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, SELECTED_PROJECTS_SCOPE, SELECTION_SCOPE,
* OPENED_EDITORS_SCOPE or WORKING_SET_SCOPE.
*
* @param scope
* the newly selected scope
*
* @since 2.0
*/
public void setSelectedScope(int scope);
/**
* Tells whether a valid scope is selected.
*
* @return a true
if a valid scope is selected in this search page container
* @since 2.0
*/
public boolean hasValidScope();
/**
* Tells this container whether the active editor can provide the selection for the scope and
* hence the {@link #SELECTION_SCOPE} can be enabled if the active part is an editor.
*
* @param state true
if the active editor can provide the selection,
* false
otherwise
* @since 3.7
*/
public void setActiveEditorCanProvideScopeSelection(boolean state);
/**
* Returns the editor input of the active editor.
*
* @return the editor input or null
if the active part is not an editor
* @since 3.7
*/
public IEditorInput getActiveEditorInput();
/**
* Returns the selected working sets of this container.
*
* @return an array with the selected working sets or null
if the scope is not {@link #WORKING_SET_SCOPE}
* @since 2.0
*/
public IWorkingSet[] getSelectedWorkingSets();
/**
* Sets the selected working sets of this container.
*
* @param workingSets an array of IWorkingSet
* @since 2.0
*/
public void setSelectedWorkingSets(IWorkingSet[] workingSets);
/**
* Returns the names of the enclosing projects if selected by the container or null
* if the scope is not {@link #SELECTED_PROJECTS_SCOPE}
*
* @return the names of the enclosing project or null
if the scope is not {@link #SELECTED_PROJECTS_SCOPE}.
* @since 3.2
*/
public String[] getSelectedProjectNames();
}