package info.limpet.stackedcharts.ui.editor.commands;
import info.limpet.stackedcharts.model.Chart;
import java.util.List;
import org.eclipse.gef.commands.Command;
public class AddChartCommand extends Command
{
private final Chart chart;
private final List<Chart> charts;
private int index = -1;
public AddChartCommand(final List<Chart> charts, final Chart chart)
{
this.chart = chart;
this.charts = charts;
}
public AddChartCommand(final List<Chart> charts, final Chart chart,
final int index)
{
this(charts, chart);
this.index = index;
}
@Override
public void execute()
{
if (index != -1)
{
charts.add(index, chart);
}
else
{
charts.add(chart);
}
}
@Override
public void undo()
{
index = charts.indexOf(chart);
charts.remove(chart);
}
}