@@ -0,0 +1,2507 @@
+package org.helioviewer.plugins.eveplugin.view.linedataselector;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0Aimport javax.swing.event.TableModelListener;%0Aimport javax.swing.table.TableModel;%0A%0Apublic class LineDataSelectorTableModel implements TableModel, LineDataSelectorModelListener %7B%0A%0A    public final static int NUMBEROFCOLUMNS = 4;%0A    private final LineDataSelectorModel lineDataSelectorModel;%0A    private final List%3CTableModelListener%3E listeners;%0A%0A    public LineDataSelectorTableModel() %7B%0A        lineDataSelectorModel = LineDataSelectorModel.getSingletonInstance();%0A        listeners = new ArrayList%3CTableModelListener%3E();%0A        lineDataSelectorModel.addLineDataSelectorModelListener(this);%0A    %7D%0A%0A    @Override%0A    public void downloadStartded(LineDataSelectorElement element) %7B%0A        // TODO Auto-generated method stub%0A%0A    %7D%0A%0A    @Override%0A    public void downloadFinished(LineDataSelectorElement element) %7B%0A        // TODO Auto-generated method stub%0A%0A    %7D%0A%0A    @Override%0A    public void lineDataAdded(LineDataSelectorElement element) %7B%0A        // TODO Auto-generated method stub%0A%0A    %7D%0A%0A    @Override%0A    public void lineDataRemoved(LineDataSelectorElement element) %7B%0A        // TODO Auto-generated method stub%0A%0A    %7D%0A%0A    @Override%0A    public void lineDataUpdated(LineDataSelectorElement element) %7B%0A        // TODO Auto-generated method stub%0A%0A    %7D%0A%0A    @Override%0A    public int getRowCount() %7B%0A        return lineDataSelectorModel.getAllLineDataSelectorElements().size();%0A    %7D%0A%0A    @Override%0A    public int getColumnCount() %7B%0A        return NUMBEROFCOLUMNS;%0A    %7D%0A%0A    @Override%0A    public String getColumnName(int columnIndex) %7B%0A        return %22%22 + columnIndex;%0A    %7D%0A%0A    @Override%0A    public Class%3C?%3E getColumnClass(int columnIndex) %7B%0A        return LineDataSelectorElement.class;%0A    %7D%0A%0A    @Override%0A    public boolean isCellEditable(int rowIndex, int columnIndex) %7B%0A        return false;%0A    %7D%0A%0A    @Override%0A    public Object getValueAt(int rowIndex, int columnIndex) %7B%0A        return lineDataSelectorModel.getAllLineDataSelectorElements().get(rowIndex);%0A    %7D%0A%0A    @Override%0A    public void setValueAt(Object aValue, int rowIndex, int columnIndex) %7B%0A        lineDataSelectorModel.addLineData((LineDataSelectorElement) aValue, rowIndex);%0A    %7D%0A%0A    @Override%0A    public void addTableModelListener(TableModelListener l) %7B%0A        listeners.add(l);%0A    %7D%0A%0A    @Override%0A    public void removeTableModelListener(TableModelListener l) %7B%0A        listeners.remove(l);%0A    %7D%0A%7D%0A

introduce the LineDataSelectorTableModel