/* | |
* (c) Copyright IBM Corp. 2000, 2001. | |
* All Rights Reserved. | |
*/ | |
package org.eclipse.compare.contentmergeviewer; | |
import org.eclipse.swt.graphics.Image; | |
import org.eclipse.jface.viewers.IContentProvider; | |
/** | |
* A content provider that mediates between a <code>ContentMergeViewer</code>'s model | |
* and the viewer itself. | |
* <p> | |
* Clients may implement this interface. | |
* </p> | |
* | |
* @see ContentMergeViewer | |
*/ | |
public interface IMergeViewerContentProvider extends IContentProvider { | |
//---- ancestor side | |
/** | |
* Returns the label for the ancestor side of a <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the label for the ancestor side of a <code>ContentMergeViewer</code> | |
*/ | |
String getAncestorLabel(Object input); | |
/** | |
* Returns an optional image for the ancestor side of a <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the image for the ancestor side of a <code>ContentMergeViewer</code>, | |
* or <code>null</code> if none | |
*/ | |
Image getAncestorImage(Object input); | |
/** | |
* Returns the contents for the ancestor side of a <code>ContentMergeViewer</code>. | |
* The interpretation of the returned object depends on the concrete <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the content for the ancestor side of a <code>ContentMergeViewer</code>, | |
* or <code>null</code> if none | |
*/ | |
Object getAncestorContent(Object input); | |
/** | |
* Returns whether the ancestor side of the given input element should be shown. | |
* | |
* @return <code>true</code> if the ancestor side of the given input element should be shown | |
*/ | |
boolean showAncestor(Object input); | |
//---- left side | |
/** | |
* Returns the label for the left side of a <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the label for the left side of a <code>ContentMergeViewer</code> | |
*/ | |
String getLeftLabel(Object input); | |
/** | |
* Returns an optional image for the left side of a <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the image for the left side of a <code>ContentMergeViewer</code>, | |
* or <code>null</code> if none | |
*/ | |
Image getLeftImage(Object input); | |
/** | |
* Returns the contents for the left side of a <code>ContentMergeViewer</code>. | |
* The interpretation of the returned object depends on the concrete <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the content for the left side of a <code>ContentMergeViewer</code>, | |
* or <code>null</code> if none | |
*/ | |
Object getLeftContent(Object input); | |
/** | |
* Returns whether the left side is editable. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return <code>true</code> if the left side of a <code>ContentMergeViewer</code> is editable | |
*/ | |
boolean isLeftEditable(Object input); | |
/** | |
* Saves new contents for the left side of the <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @param bytes the new contents to save for the left side | |
*/ | |
void saveLeftContent(Object input, byte[] bytes); | |
//---- right side | |
/** | |
* Returns the label for the right side of a <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the label for the right side of a <code>ContentMergeViewer</code> | |
*/ | |
String getRightLabel(Object input); | |
/** | |
* Returns an optional image for the right side of a <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the image for the right side of a <code>ContentMergeViewer</code>, | |
* or <code>null</code> if none | |
*/ | |
Image getRightImage(Object input); | |
/** | |
* Returns the contents for the right side of a <code>ContentMergeViewer</code>. | |
* The interpretation of the returned object depends on the concrete <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return the content for the right side of a <code>ContentMergeViewer</code>, | |
* or <code>null</code> if none | |
*/ | |
Object getRightContent(Object input); | |
/** | |
* Returns whether the right side is editable. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @return <code>true</code> if the right side of a <code>ContentMergeViewer</code> is editable | |
*/ | |
boolean isRightEditable(Object input); | |
/** | |
* Saves new contents for the right side of the <code>ContentMergeViewer</code>. | |
* | |
* @param input the input object of the <code>ContentMergeViewer</code> | |
* @param bytes the new contents to save for the right side | |
*/ | |
void saveRightContent(Object input, byte[] bytes); | |
} | |