|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.ui.part.Page
org.eclipse.search.ui.text.AbstractTextSearchViewPage
An abstract base implementation for classes showing
AbstractTextSearchResult
instances. This class assumes that
the input element set via setInput(ISearchResult,Object)
is a subclass of AbstractTextSearchResult
.
This result page supports a tree and/or a table presentation of search
results. Subclasses can determine which presentations they want to support at
construction time by passing the appropriate flags.
Subclasses must customize the viewers for each presentation with a label
provider and a content provider.
Changes in the search result are handled by updating the viewer in the
elementsChanged()
and clear()
methods.
Field Summary | |
---|---|
protected static Match[] |
EMPTY_MATCH_ARRAY
An empty array. |
static int |
FLAG_LAYOUT_FLAT
Flag ( value 1 ) denoting flat list layout. |
static int |
FLAG_LAYOUT_TREE
Flag ( value 2 ) denoting tree layout. |
Constructor Summary | |
---|---|
protected |
AbstractTextSearchViewPage()
Constructs this page with the default layout flags. |
protected |
AbstractTextSearchViewPage(int supportedLayouts)
This constructor must be passed a combination of layout flags combined with bitwise or. |
Method Summary | |
---|---|
protected abstract void |
clear()
This method is called whenever all elements have been removed from the shown AbstractSearchResult . |
protected abstract void |
configureTableViewer(TableViewer viewer)
Configures the given viewer. |
protected abstract void |
configureTreeViewer(TreeViewer viewer)
Configures the given viewer. |
void |
createControl(Composite parent)
|
protected TableViewer |
createTableViewer(Composite parent)
Creates the table viewer to be shown on this page. |
protected TreeViewer |
createTreeViewer(Composite parent)
Creates the tree viewer to be shown on this page. |
void |
dispose()
The Page implementation of this IPage method
disposes of this page's control (if it has one and it has not already
been disposed). Subclasses may extend. |
protected abstract void |
elementsChanged(Object[] objects)
This method is called whenever the set of matches for the given elements changes. |
protected void |
fillContextMenu(IMenuManager mgr)
Fills the context menu for this page. |
protected void |
fillToolbar(IToolBarManager tbm)
Fills the toolbar contribution for this page. |
Control |
getControl()
The Page implementation of this IPage method returns
null . Subclasses must reimplement. |
Match |
getCurrentMatch()
Returns the currently selected match. |
int |
getDisplayedMatchCount(Object element)
Returns the number of matches that are currently displayed for the given element. |
Match[] |
getDisplayedMatches(Object element)
Returns the matches that are currently displayed for the given element. |
String |
getID()
Returns the id set via setID . |
AbstractTextSearchResult |
getInput()
Returns the currently shown result. |
String |
getLabel()
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. |
int |
getLayout()
Return the layout this page is currently using. |
protected IDialogSettings |
getSettings()
Returns a dialog settings object for this search result page. |
Object |
getUIState()
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. |
protected StructuredViewer |
getViewer()
Returns the viewer currently used in this page. |
protected ISearchResultViewPart |
getViewPart()
Returns the view part set with setViewPart(ISearchResultViewPart) . |
void |
gotoNextMatch()
Selects the element corresponding to the next match and shows the match in an editor. |
void |
gotoPreviousMatch()
Selects the element corresponding to the previous match and shows the match in an editor. |
protected void |
handleOpen(OpenEvent event)
This method is called when the search page gets an open even from it's underlying viewer (for example on double click). |
void |
init(IPageSite pageSite)
The Page implementation of this IPageBookViewPage method
stores a reference to the supplied site (the site which contains this
page).
Subclasses may extend. |
void |
internalRemoveSelected()
Note: this is internal API and should not be called from clients outside of the search plug-in. |
boolean |
isLayoutSupported(int layout)
Determines whether a certain layout is supported by this search result page. |
void |
restoreState(IMemento memento)
Restores the page state. Note that this applies only to state that is saved across sessions. Subclasses may extend this method. |
void |
saveState(IMemento memento)
Saves the page state in a memento. |
void |
setFocus()
The Page implementation of this IPage method
does nothing. Subclasses must implement. |
void |
setID(String id)
Sets the id for this page. This method will be called before any other initialization is done. |
void |
setInput(ISearchResult search,
Object viewState)
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. |
void |
setLayout(int layout)
Sets the layout of this search result page. |
void |
setViewPart(ISearchResultViewPart part)
Sets the view part |
protected void |
showMatch(Match match,
int currentOffset,
int currentLength)
Deprecated. |
protected void |
showMatch(Match match,
int currentOffset,
int currentLength,
boolean activate)
Opens an editor on the given element and selects the given range of text. |
Methods inherited from class org.eclipse.ui.part.Page |
---|
getSite, makeContributions, setActionBars |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.eclipse.ui.part.IPageBookViewPage |
---|
getSite |
Methods inherited from interface org.eclipse.ui.part.IPage |
---|
setActionBars |
Field Detail |
protected static final Match[] EMPTY_MATCH_ARRAY
public static final int FLAG_LAYOUT_FLAT
value 1
) denoting flat list layout.
public static final int FLAG_LAYOUT_TREE
value 2
) denoting tree layout.
Constructor Detail |
protected AbstractTextSearchViewPage(int supportedLayouts)
supportedLayouts
- flags determining which layout options this page supports.
Must not be 0FLAG_LAYOUT_FLAT
,
FLAG_LAYOUT_TREE
protected AbstractTextSearchViewPage()
AbstractTextSearchViewPage(int)
Method Detail |
protected IDialogSettings getSettings()
getID()
public void setID(String id)
setID
in interface ISearchResultPage
id
- the id for this pagepublic String getID()
setID
.
getID
in interface ISearchResultPage
public String getLabel()
getLabel
in interface ISearchResultPage
protected void showMatch(Match match, int currentOffset, int currentLength) throws PartInitException
IFileMatchAdapter
, match
locations will be tracked and the current match range will be passed into
this method.
match
- the match to showcurrentOffset
- the current start offset of the matchcurrentLength
- the current length of the selection
PartInitException
- if an editor can't be openedITextFileBufferManager
,
IFileMatchAdapter
protected void showMatch(Match match, int currentOffset, int currentLength, boolean activate) throws PartInitException
IFileMatchAdapter
, match
locations will be tracked and the current match range will be passed into
this method.
If the activate
parameter is true
the opened editor
should have be activated. Otherwise the focus should not be changed.
match
- the match to showcurrentOffset
- the current start offset of the matchcurrentLength
- the current length of the selectionactivate
- whether to activate the editor.
PartInitException
- if an editor can't be openedITextFileBufferManager
,
IFileMatchAdapter
protected abstract void elementsChanged(Object[] objects)
objects
- array of objects that has to be refreshedprotected abstract void clear()
AbstractSearchResult
. This method is guaranteed to
be called in the UI thread. Note that this notification is asynchronous.
i.e. further changes may have occurred by the time this method is called.
They will be described in a future call.
protected abstract void configureTreeViewer(TreeViewer viewer)
FLAG_LAYOUT_TREE
.
viewer
- the viewer to be configuredprotected abstract void configureTableViewer(TableViewer viewer)
FLAG_LAYOUT_FLAT
.
viewer
- the viewer to be configuredprotected void fillContextMenu(IMenuManager mgr)
mgr
- the menu manager representing the context menupublic void createControl(Composite parent)
createControl
in interface IPage
createControl
in class Page
public boolean isLayoutSupported(int layout)
layout
- the layout to test for
AbstractTextSearchViewPage(int)
public void setLayout(int layout)
FLAG_LAYOUT_FLAT
or FLAG_LAYOUT_TREE
and
it must be one of the values passed during construction of this search
result page.
layout
- the new layoutisLayoutSupported(int)
public int getLayout()
FLAG_LAYOUT_FLAT
,
FLAG_LAYOUT_TREE
protected TreeViewer createTreeViewer(Composite parent)
parent
- the parent widget
TreeViewer
.protected TableViewer createTableViewer(Composite parent)
parent
- the parent widget
TableViewer
public void setFocus()
Page
implementation of this IPage
method
does nothing. Subclasses must implement.
setFocus
in interface IPage
setFocus
in class Page
public Control getControl()
Page
implementation of this IPage
method returns
null
. Subclasses must reimplement.
getControl
in interface IPage
getControl
in class Page
public void setInput(ISearchResult search, Object viewState)
uiState
object.
setInput
in interface ISearchResultPage
search
- the search result to be shownviewState
- the previously saved UI stateISearchResultPage.getUIState()
public Object getUIState()
setInput()
method when the
currently shown ISearchResult
is shown again.
getUIState
in interface ISearchResultPage
protected StructuredViewer getViewer()
null
if none has been
created yet.public AbstractTextSearchResult getInput()
null
setInput(ISearchResult, Object)
public void gotoNextMatch()
public void gotoPreviousMatch()
public Match getCurrentMatch()
null
if none are selectedpublic Match[] getDisplayedMatches(Object element)
element
- The element to get the matches for
null
, an empty array is returnedAbstractTextSearchResult.getMatches(Object)
public int getDisplayedMatchCount(Object element)
element
- The element to get the matches for
null
, 0 is
returnedAbstractTextSearchResult.getMatchCount(Object)
public void dispose()
Page
implementation of this IPage
method
disposes of this page's control (if it has one and it has not already
been disposed). Subclasses may extend.
dispose
in interface IPage
dispose
in class Page
public void init(IPageSite pageSite)
Page
implementation of this IPageBookViewPage
method
stores a reference to the supplied site (the site which contains this
page).
Subclasses may extend.
init
in interface IPageBookViewPage
init
in class Page
protected void fillToolbar(IToolBarManager tbm)
tbm
- the tool bar manager representing the view's toolbarpublic void setViewPart(ISearchResultViewPart part)
setViewPart
in interface ISearchResultPage
part
- View part to setprotected ISearchResultViewPart getViewPart()
setViewPart(ISearchResultViewPart)
.
null
if the view part hasn't been
set yet (or set to null).public void restoreState(IMemento memento)
restoreState
in interface ISearchResultPage
memento
- a memento to restore the page state from or null
if no previous state was savedISearchResultPage.setInput(ISearchResult, Object)
public void saveState(IMemento memento)
ISearchResultPage
saveState
in interface ISearchResultPage
memento
- a memento to receive the object stateISearchResultPage.getUIState()
public void internalRemoveSelected()
Removes the currently selected match. Does nothing if no match is selected.
protected void handleOpen(OpenEvent event)
This method is called when the search page gets an open even from it's underlying viewer (for example on double click). The default implementation will open the first match on any element that has matches. If the element to be opened is an inner node in the tree layout, the node will be expanded if it's collapsed and vice versa. Subclasses are allowed to override this method.
event
- the event sent for the currently shown viewerIOpenListener
|
Eclipse Platform Release 3.1 |
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Guidelines for using Eclipse APIs.
Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.