org.eclipse.search.ui.ISearchResultPage Maven / Gradle / Ivy
The newest version!
/*******************************************************************************
* Copyright (c) 2000, 2008 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.ui.IMemento;
import org.eclipse.ui.part.IPageBookViewPage;
/**
* Interface to be implemented by contributors to the extension point org.eclipse.search.searchResultViewPages
.
* A ISearchResultPage
is used to show the search results for a
* particular class of ISearchResult
(as specified in the
* searchResultClass
attribute of the extension point) in the search
* result view.
*
* Clients may implement this interface.
*
* @since 3.0
*/
public interface ISearchResultPage extends IPageBookViewPage {
/**
* Returns an object representing the current user interface state of the
* page. For example, the current selection in a viewer. The UI state will
* be later passed into the setInput()
method when the
* currently shown ISearchResult
is shown again.
*
* @return an object representing the UI state of this page
*/
Object getUIState();
/**
* Sets the search result to be shown in this search results page.
* Implementers should restore UI state (e.g. selection) from the previously
* saved uiState
object.
*
* @param search the search result to be shown or null
to clear the page.
* @param uiState the previously saved UI state
*
* @see ISearchResultPage#getUIState()
*/
void setInput(ISearchResult search, Object uiState);
/**
* Sets the search view this search results page is shown in. This method will be called before
* the page is shown for the first time (i.e. before the page control is created).
*
* @param part the parent search view
*/
void setViewPart(ISearchResultViewPart part);
/**
* Restores the page state. Note that this applies only to state that is
* saved across sessions.
*
* @param memento a memento to restore the page state from or null
* if no previous state was saved
*
* @see #setInput(ISearchResult, Object)
*/
void restoreState(IMemento memento);
/**
* Saves the page state in a memento. Note that this applies to state that
* should persist across sessions.
*
* @param memento a memento to receive the object state
*
* @see #getUIState()
*/
void saveState(IMemento memento);
/**
* Sets the id for this page. This method will be called before any other
* initialization is done.
*
* @param id the id for this page
*/
void setID(String id);
/**
* Returns the id set via setID
.
*
* @return the id of this page
*/
String getID();
/**
* Returns a user readable label for this search result page. The label will be
* used to describe the contents for the page to the user (for example it will be
* displayed in the search view title bar). To take an example from file search,
* a label might read like this: 'test' - 896 matches in workspace.
*
* @return the user readable label for this search result page
*/
String getLabel();
}