Eclipse Platform
Release 3.2

org.eclipse.team.ui.history
Interface IHistoryPage

All Known Implementing Classes:
HistoryPage

public interface IHistoryPage

Interface for pages that appear in the team history view.

This interface is not intended to be implemented by clients. Clients can instead subclass HistoryPage.

Lifecycle

Once an Object requests to have its history shown in the History View (through an action or DND), the History View will first try to see if any of the open History Views (there can be multiple Views if some of them are pinned) currently show the requested Object's history. It does this by calling HistoryPage.getInput() on each IHistoryPage (which is supposed to extend HistoryPage and comparing the input with the passed in Object. If a History View is found that already contains the Object, it is brought to the front and its history is refreshed (by calling refresh()). If no History View already contains the requested Object an IHistoryPage might need to be created if the current IHistoryPage being shown in the History View doesn't know how to display the Object or if there are no IHistoryPages being shown in the History View.

The History View uses an IHistoryPageSource.createPage(Object) to create the IHistoryPage. If the History View can determine what the Repository Provider is for the dropped Object (i.e. the Object is an instance of IResource), then it will try to get the IFileHistoryProvider for the Repository Provider by calling RepositoryProvider.getFileHistoryProvider(). If no IFileHistoryProvider is returned, the History View will try to adapt the Repository Provider to a IFileHistoryProvider. If the Object whose history is being requested is not an IResource, it will not be possible to retrieve the Repository Provider from it. In these instances the History View will try to adapt the Object to an IHistoryPageSource.

Once the IHistoryPage is created, setInput(Object) is called; this is handled by HistoryPage which clients should subclass for their own IHistoryPage implementations. HistoryPage will in turn call HistoryPage.inputSet() - which clients can use for setting up their IHistoryPage. The old page in the History View (along with its SubActionBars is disposed - Page.dispose() gets called; interested clients can supply a dispose() method in their subclass. Finally, the new page is shown and its SubActionBars are activated.

Since:
3.2
See Also:
TeamUI.getHistoryView()

Method Summary
 java.lang.String getDescription()
          Returns a one line description of the object whose history is being displayed.
 IHistoryPageSite getHistoryPageSite()
          Returns the IHistoryPageSite set for this page.
 java.lang.Object getInput()
          Returns the object whose history is currently being displayed in the history page.
 java.lang.String getName()
          Returns the name of the object whose history the page is showing
 boolean isValidInput(java.lang.Object object)
          Returns true if this history page can show a history for the given object, false if it cannot
 void refresh()
          Requests a refresh of the information presented by the history page.
 boolean setInput(java.lang.Object object)
          Fetches and populates the history page for the given Object.
 void setSite(IHistoryPageSite site)
          Set the site for the page - this needs to be replaced with a proper IHistoryPageSite in order to allow history pages to be displayed in both views and dialogs.
 

Method Detail

setInput

boolean setInput(java.lang.Object object)
Fetches and populates the history page for the given Object. Clients should provide an implementation for their individual pages.

Parameters:
object - the object for which history is being requested for
Returns:
true if the page was able to display the history for the object, false otherwise

getInput

java.lang.Object getInput()
Returns the object whose history is currently being displayed in the history page.

Returns:
object the object being displayed in the history page or null if no input has been set;

isValidInput

boolean isValidInput(java.lang.Object object)
Returns true if this history page can show a history for the given object, false if it cannot

Parameters:
object - the object that is to have history shown
Returns:
boolean

refresh

void refresh()
Requests a refresh of the information presented by the history page.


getName

java.lang.String getName()
Returns the name of the object whose history the page is showing

Returns:
String containing the name of the object

getDescription

java.lang.String getDescription()
Returns a one line description of the object whose history is being displayed. For example, for files, this may be the workspace path of the file. The description may be displayed to the user as tooltip text or by some other means.

Returns:
a one line description of the object whose history is being displayed or null

setSite

void setSite(IHistoryPageSite site)
Set the site for the page - this needs to be replaced with a proper IHistoryPageSite in order to allow history pages to be displayed in both views and dialogs.

Parameters:
site - the history page site

getHistoryPageSite

IHistoryPageSite getHistoryPageSite()
Returns the IHistoryPageSite set for this page.

Returns:
the history page site for this page

Eclipse Platform
Release 3.2

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.