package com.horstmann.violet.product.diagram.common.edge;
import java.awt.Color;
import com.horstmann.violet.product.diagram.abstracts.IColorable;
import com.horstmann.violet.product.diagram.abstracts.edge.AbstractEdge;
import com.horstmann.violet.workspace.sidebar.colortools.ColorToolsBarPanel;
public abstract class ColorableEdge extends AbstractEdge implements IColorable {
@Override
protected void createContentStructure() {
setBackgroundColor(getBackgroundColor());
setBorderColor(getBorderColor());
setTextColor(getTextColor());
}
@Override
public void setBackgroundColor(Color bgColor)
{
backgroundColor = bgColor;
}
@Override
public final Color getBackgroundColor()
{
if(null == backgroundColor)
{
return ColorToolsBarPanel.DEFAULT_COLOR.getBackgroundColor();
}
return backgroundColor;
}
@Override
public void setBorderColor(Color borderColor)
{
this.borderColor = borderColor;
}
@Override
public final Color getBorderColor()
{
if(null == borderColor)
{
return ColorToolsBarPanel.DEFAULT_COLOR.getBorderColor();
}
return borderColor;
}
@Override
public void setTextColor(Color textColor)
{
this.textColor = textColor;
}
@Override
public final Color getTextColor()
{
if (null == textColor)
{
return ColorToolsBarPanel.DEFAULT_COLOR.getTextColor();
}
return textColor;
}
private Color backgroundColor;
private Color borderColor;
private Color textColor;
}