org.eclipse.team.ui.history.IHistoryPageSource
in conjunction with
the org.eclipse.team.ui.history.IHistoryView
or a HistoryPageCompareEditorInput
.
For sub-file elements, a org.eclipse.team.ui.history.ElementLocalHistoryPageSource
can be used.public class EditionSelectionDialog
extends org.eclipse.compare.internal.ResizableDialog
In addition it is possible to specify a subsection of the input element (e.g. a method in a Java source file) by means of a "path". In this case the dialog compares only the subsection (as specified by the path) with the corresponding subsection in the list of editions. Only those editions are shown where the subsection differs from the same subsection in another edition thereby minimizing the number of presented variants. This functionality can be used to implement "Replace from Local History" for the Java language.
Subsections of an input element are determined by first finding an
IStructureCreator
for the input's type.
Then the method locate
is used to extract the subsection.
Each edition (variant in the list of variants) must implement the IModificationDate
interface
so that the dialog can sort the editions and present them in a tree structure where every
node corresponds one day.
The functionality is surfaced in a single function selectEdition
.
Clients may instantiate this class; it is not intended to be subclassed.
IModificationDate
,
ITypedElement
Window.IExceptionHandler
blockedHandler, buttonBar, DIALOG_DEFAULT_BOUNDS, DIALOG_PERSISTLOCATION, DIALOG_PERSISTSIZE, dialogArea, DLG_IMG_ERROR, DLG_IMG_HELP, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS
CANCEL, OK, resizeHasOccurred
Constructor and Description |
---|
EditionSelectionDialog(Shell parent,
ResourceBundle bundle)
Deprecated.
Creates a new modal, resizable dialog.
|
Modifier and Type | Method and Description |
---|---|
protected void |
createButtonsForButtonBar(Composite parent)
Deprecated.
Adds buttons to this dialog's button bar.
|
protected Control |
createDialogArea(Composite parent2)
Deprecated.
Creates and returns the contents of the upper part of this dialog (above
the button bar).
|
protected Image |
getEditionImage(ITypedElement selectedEdition,
ITypedElement item)
Deprecated.
Returns an image for identifying the edition side of a compare viewer.
|
protected String |
getEditionLabel(ITypedElement selectedEdition,
ITypedElement item)
Deprecated.
Returns a label for identifying the edition side of a compare viewer.
|
ITypedElement[] |
getSelection()
Deprecated.
Returns the editions that have been selected with the most
recent call to
selectEdition . |
protected String |
getShortEditionLabel(ITypedElement edition,
ITypedElement item,
Date date)
Deprecated.
Returns a label for identifying a node in the edition tree viewer.
|
ITypedElement |
getTarget()
Deprecated.
Returns the input target that has been specified with the most recent call
to
selectEdition . |
protected String |
getTargetLabel(ITypedElement target,
ITypedElement item)
Deprecated.
Returns a label for identifying the target side of a compare viewer.
|
protected void |
okPressed()
Deprecated.
Overidden to disable dismiss on double click in compare mode.
|
ITypedElement |
selectEdition(ITypedElement target,
ITypedElement[] inputEditions,
Object ppath)
Deprecated.
Presents this modal dialog with the functionality described in the class comment above.
|
ITypedElement |
selectPreviousEdition(ITypedElement target,
ITypedElement[] inputEditions,
Object ppath)
Deprecated.
Select the previous edition (presenting a UI).
|
void |
setAddMode(boolean addMode)
Deprecated.
Controls whether the
EditionSelectionDialog is in 'add' mode
or 'replace' mode (the default). |
void |
setCompareMode(boolean compareMode)
Deprecated.
Controls whether the
EditionSelectionDialog is in 'compare' mode
or 'add/replace' (the default) mode. |
void |
setEditionTitleArgument(String titleArgument)
Deprecated.
Sets an additional and optional argument for the edition pane's title.
|
void |
setEditionTitleImage(Image titleImage)
Deprecated.
Sets an optional image for the edition pane's title.
|
void |
setHelpContextId(String contextId)
Deprecated.
Sets the help context for this dialog.
|
void |
setHideIdenticalEntries(boolean hide)
Deprecated.
Controls whether identical entries are shown or not (default).
|
void |
setTargetIsRight(boolean isRight)
Deprecated.
Controls whether workspace target is on the left (the default) or right hand side.
|
close, configureShell, getInitialLocation, getInitialSize
applyDialogFont, buttonPressed, cancelPressed, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, create, createButton, createButtonBar, createContents, dialogFontIsDefault, getBlockedHandler, getButton, getButtonBar, getCancelButton, getDialogArea, getDialogBoundsSettings, getDialogBoundsStrategy, getImage, getOKButton, initializeBounds, initializeDialogUnits, isResizable, setBlockedHandler, setButtonLayoutData, setButtonLayoutFormData, shortenText
canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getLayout, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, handleShellCloseEvent, open, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager
public EditionSelectionDialog(Shell parent, ResourceBundle bundle)
key type description title String dialog title width Integer initial width of dialog height Integer initial height of dialog treeTitleFormat MessageFormat pane title for edition tree; arg 0 is the target dateIcon String icon for node in edition tree; path relative to plug-in timeIcon String icon for leaf in edition tree; path relative to plug-in todayFormat MessageFormat format string if date is todays date; arg 0 is date yesterdayFormat MessageFormat format string if date is yesterdays date; arg 0 is date dayFormat MessageFormat format string if date is any other date; arg 0 is date editionLabel String label for editions side of compare viewer; arg 0 is the date targetLabel String label for target side of compare viewer buttonLabel String label for OK button; default is IDialogConstants.OK_LABEL
parent
- if not null
the new dialog stays on top of this parent shellbundle
- ResourceBundle
to configure the dialogpublic void setHelpContextId(String contextId)
setHelpContextId
in class org.eclipse.compare.internal.ResizableDialog
contextId
- the help context id.public void setEditionTitleArgument(String titleArgument)
titleArgument
- an optional argument for the edition pane's titlepublic void setEditionTitleImage(Image titleImage)
titleImage
- an optional image for the edition pane's titlepublic ITypedElement selectPreviousEdition(ITypedElement target, ITypedElement[] inputEditions, Object ppath)
target
- the input object against which the editions are compared; must not be null
inputEditions
- the list of editions (element type: ITypedElement
s)ppath
- If null
dialog shows full input; if non null
it extracts a subsectionnull
if error occurred.
The returned ITypedElement
is one of the original editions
if path
was null
; otherwise
it is an ITypedElement
returned from IStructureCreator.locate(path, item)
public ITypedElement selectEdition(ITypedElement target, ITypedElement[] inputEditions, Object ppath)
target
- the input object against which the editions are compared; must not be null
inputEditions
- the list of editions (element type: ITypedElement
s)ppath
- If null
dialog shows full input; if non null
it extracts a subsectionnull
if dialog was cancelled.
The returned ITypedElement
is one of the original editions
if path
was null
; otherwise
it is an ITypedElement
returned from IStructureCreator.locate(path, item)
public void setHideIdenticalEntries(boolean hide)
selectEdition
.hide
- if true identical entries are hidden; otherwise they are shown.public void setTargetIsRight(boolean isRight)
isRight
- if true target is shown on right hand side.public void setAddMode(boolean addMode)
EditionSelectionDialog
is in 'add' mode
or 'replace' mode (the default).addMode
- if true dialog is in 'add' mode.public void setCompareMode(boolean compareMode)
EditionSelectionDialog
is in 'compare' mode
or 'add/replace' (the default) mode.compareMode
- if true dialog is in 'add' mode.public ITypedElement getTarget()
selectEdition
. If a not null
path was specified this method
returns a subsection of this target (IStructureCreator.locate(path, target)
)
instead of the input target.
For example if the target
is a Java compilation unit and path
specifies
a method, the value returned from getTarget
will be the method not the compilation unit.
public ITypedElement[] getSelection()
selectEdition
.protected String getTargetLabel(ITypedElement target, ITypedElement item)
MessageFormat.format
.
The single format argument for MessageFormat.format
("{0}" in the format string)
is the name of the given input element.
Subclasses may override to create their own label.
target
- the target element for which a label must be returneditem
- if a path has been specified in selectEdition
a sub element of the given target; otherwise the same as targetprotected String getEditionLabel(ITypedElement selectedEdition, ITypedElement item)
MessageFormat.format
.
The single format argument for MessageFormat.format
("{0}" in the format string)
is the formatted modification date of the given input element.
Subclasses may override to create their own label.
selectedEdition
- the selected edition for which a label must be returneditem
- if a path has been specified in selectEdition
a sub element of the given selectedEdition; otherwise the same as selectedEditionprotected String getShortEditionLabel(ITypedElement edition, ITypedElement item, Date date)
MessageFormat.format
.
The single format argument for MessageFormat.format
("{0}" in the format string)
is the formatted modification date of the given input element.
Subclasses may override to create their own label.
edition
- the edition for which a label must be returneditem
- if a path has been specified in edition
a sub element of the given edition; otherwise the same as editiondate
- this date will be returned as part of the formatted stringprotected Image getEditionImage(ITypedElement selectedEdition, ITypedElement item)
MessageFormat.format
.
The single format argument for MessageFormat.format
("{0}" in the format string)
is the formatted modification date of the given input element.
Subclasses may override to create their own label.
selectedEdition
- the selected edition for which a label must be returneditem
- if a path has been specified in selectEdition
a sub element of the given selectedEdition; otherwise the same as selectedEditionprotected Control createDialogArea(Composite parent2)
Dialog
The Dialog
implementation of this framework method creates
and returns a new Composite
with standard margins and
spacing.
The returned control's layout data must be an instance of
GridData
. This method must not modify the parent's
layout.
Subclasses must override this method but may call super
as
in the following example:
Composite composite = (Composite) super.createDialogArea(parent); //add controls to composite as necessary return composite;
createDialogArea
in class Dialog
parent2
- the parent composite to contain the dialog areaprotected void createButtonsForButtonBar(Composite parent)
Dialog
The Dialog
implementation of this framework method adds
standard ok and cancel buttons using the createButton
framework method. These standard buttons will be accessible from
getCancelButton
, and getOKButton
.
Subclasses may override.
Note: The common button order is: {other buttons}, OK, Cancel.
On some platforms, Dialog.initializeBounds()
will move the default button to the right.
createButtonsForButtonBar
in class Dialog
parent
- the button bar composite
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.