/*
Copyright (C) 2001, 2007 United States Government
as represented by the Administrator of the
National Aeronautics and Space Administration.
All Rights Reserved.
*/
package gov.nasa.worldwind.applications.sar;
import javax.swing.*;
import java.awt.event.*;
/**
* @author tag
* @version $Id: InsertPositionAction.java 3877 2007-12-11 02:19:06Z tgaskins $
*/
public class InsertPositionAction extends AbstractAction
{
private final boolean above;
protected final PositionTable table;
public InsertPositionAction(final boolean above, final PositionTable table)
{
this.table = table;
this.above = above;
if (this.above)
{
putValue(NAME, "Insert New Position Above Selection");
putValue(LONG_DESCRIPTION, "Insert a new position above the selected positions");
}
else
{
putValue(NAME, "Insert New Position Below Selection");
putValue(LONG_DESCRIPTION, "Insert a new position below the selected positions");
}
if (table.getSelectedRowCount() == 0)
this.setEnabled(false);
}
public void actionPerformed(ActionEvent e)
{
SARTrack st = table.getSarTrack();
if (st == null)
return;
int index = table.getSelectionModel().getMinSelectionIndex();
if (!this.above)
index = table.getSelectionModel().getMaxSelectionIndex();
if (index < 0)
return;
st.insertPosition(index, new SARPosition());
table.getSelectionModel().setSelectionInterval(index, index);
}
}