package nl.tudelft.bw4t.scenariogui.editor.controller; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import nl.tudelft.bw4t.scenariogui.BW4TClientConfig; import nl.tudelft.bw4t.scenariogui.EPartnerConfig; import nl.tudelft.bw4t.scenariogui.editor.gui.MainPanel; /** * Handles the event when a cell in the bot table is edited. * * * @version 0.1 * @since 27-05-2014 */ public class EditEPartnerTable implements TableModelListener { private MainPanel view; private BW4TClientConfig model; /** * Create a EditEPartnerTable event handler. * * @param newView * The parent view. * @param model * The model. */ public EditEPartnerTable(final MainPanel newView, BW4TClientConfig model) { this.view = newView; this.model = model; } /** * Gets called when a cell in the table was changed. Updates the config * object with the new data. * * @param event * The event. */ @Override public void tableChanged(TableModelEvent event) { if (event.getColumn() == -1) { return; } EPartnerConfig config = model.getEpartners() .get(event.getFirstRow()); String value = "" + view.getEntityPanel().getEPartnerTable() .getValueAt(event.getFirstRow(), event.getColumn()); processEventChanges(config, event.getColumn(), value); } private void processEventChanges(EPartnerConfig config, int column, String value) { switch (column) { case 0: config.setEpartnerName(value); break; case 1: config.setFileName(value); break; case 2: config.setEpartnerAmount(Integer.parseInt(value)); break; default: break; } } }