blob: 967135cc121651603a55c7779dcfb3a5151e35b3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2012, 2014 Obeo.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Obeo - initial API and implementation
*******************************************************************************/
package org.eclipse.emf.compare.rcp.ui.mergeviewer;
import org.eclipse.emf.compare.Diff;
import org.eclipse.swt.graphics.Color;
/**
* Implementation of this interface will return color of decorator of {@link Diff difference}.
*
* @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
* @since 4.0
*/
public interface ICompareColor {
/**
* Return the color of the background of the decorator of the given {@code diff}.
*
* @param diff
* the diff to be decorated.
* @param isThreeWay
* are we comparing three models.
* @param isIgnoreAncestor
* if the ancestor has to be ignored (i.e. ignore the isThreeWay parameter).
* @param selected
* if the given {@code diff} is selected in the viewer.
* @return the background color.
*/
Color getFillColor(Diff diff, boolean isThreeWay, boolean isIgnoreAncestor, boolean selected);
/**
* Return the color of the stroke of the decorator of the given {@code diff}.
*
* @param diff
* the diff to be decorated.
* @param isThreeWay
* are we comparing three models.
* @param isIgnoreAncestor
* if the ancestor has to be ignored (i.e. ignore the isThreeWay parameter).
* @param selected
* if the given {@code diff} is selected in the viewer.
* @return the background color.
*/
Color getStrokeColor(Diff diff, boolean isThreeWay, boolean isIgnoreAncestor, boolean selected);
/**
* Get the color for Required change.
*
* @return
*/
Color getRequiredFillColor();
/**
* Get the color for Required change border items. This color is computed from
* {@link ICompareColor#getRequiredFillColor()}
*
* @return
*/
Color getRequiredStrokeColor();
/**
* Get the color for Unmergeable difference.
*
* @return
*/
Color getUnmergeableFillColor();
/**
* Get the color for Unmergeable difference border items. This color is computed from
* {@link ICompareColor#getUnmergeableFillColor()}
*
* @return
*/
Color getUnmergeableStrokeColor();
/**
* Dispose all {@link Color} resources.
*/
void dispose();
/**
* A provider of ICompareColor.
*
* @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
* @since 4.0
*/
public interface Provider {
/**
* Returns the ICompareColor.
*
* @return the ICompareColor.
*/
ICompareColor getCompareColor();
}
}