/** * */ package de.danielsenff.badds.actions; import java.awt.event.ActionEvent; import java.util.ArrayList; import javax.swing.ListSelectionModel; import de.danielsenff.badds.controller.Application; import de.danielsenff.badds.util.SelectionHelper; import de.danielsenff.badds.view.GUI.FilesTable; /** * @author danielsenff * */ public class ActionRemoveFile extends BasicAction { /** * @param controller */ public ActionRemoveFile(Application controller) { super(controller); } /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ @Override public void actionPerformed(ActionEvent arg0) { if(controller.getFilesListModel().size() != 0) { FilesTable openFilesTable = controller.getView().getOpenFilesTable(); ListSelectionModel selModel = openFilesTable.getTable().getSelectionModel(); // get the selected items ArrayList<Integer> selectedIndecies = (ArrayList<Integer>) SelectionHelper.getSelectedIndecies(selModel); // deleted these items for (int i = 0; i < selectedIndecies.size(); i++) { int removeIndex = selectedIndecies.get(i).intValue()-i; // -i to compensate already removed items controller.getFilesListModel().remove(removeIndex); } } } }