2
|
1 package edu.unc.genomics;
|
|
2
|
|
3 import java.util.List;
|
|
4
|
|
5 import javax.swing.table.AbstractTableModel;
|
|
6
|
|
7 /**
|
|
8 * Model for the AssemblyManagerDialog table view
|
|
9 *
|
|
10 * @author timpalpant
|
|
11 *
|
|
12 */
|
|
13 public class AssemblyTableModel extends AbstractTableModel {
|
|
14
|
|
15 private static final long serialVersionUID = 8225453782461913732L;
|
|
16
|
|
17 private static final String[] COLUMN_NAMES = { "Name", "# Contigs" };
|
|
18
|
|
19 private final List<Assembly> assemblies;
|
|
20
|
|
21 public AssemblyTableModel(List<Assembly> assemblies) {
|
|
22 this.assemblies = assemblies;
|
|
23 }
|
|
24
|
|
25 /* (non-Javadoc)
|
|
26 * @see javax.swing.table.AbstractTableModel#getColumnName(int)
|
|
27 */
|
|
28 @Override
|
|
29 public String getColumnName(int col) {
|
|
30 return COLUMN_NAMES[col];
|
|
31 }
|
|
32
|
|
33 /* (non-Javadoc)
|
|
34 * @see javax.swing.table.AbstractTableModel#isCellEditable(int, int)
|
|
35 */
|
|
36 @Override
|
|
37 public boolean isCellEditable(int row, int col) {
|
|
38 return false;
|
|
39 }
|
|
40
|
|
41 /* (non-Javadoc)
|
|
42 * @see javax.swing.table.TableModel#getRowCount()
|
|
43 */
|
|
44 @Override
|
|
45 public int getRowCount() {
|
|
46 return assemblies.size();
|
|
47 }
|
|
48
|
|
49 /* (non-Javadoc)
|
|
50 * @see javax.swing.table.TableModel#getColumnCount()
|
|
51 */
|
|
52 @Override
|
|
53 public int getColumnCount() {
|
|
54 return 2;
|
|
55 }
|
|
56
|
|
57 /* (non-Javadoc)
|
|
58 * @see javax.swing.table.TableModel#getValueAt(int, int)
|
|
59 */
|
|
60 @Override
|
|
61 public Object getValueAt(int rowIndex, int columnIndex) {
|
|
62 Assembly a = assemblies.get(rowIndex);
|
|
63 if (columnIndex == 0) {
|
|
64 return a.toString();
|
|
65 } else if (columnIndex == 1) {
|
|
66 return a.chromosomes().size();
|
|
67 } else {
|
|
68 return null;
|
|
69 }
|
|
70 }
|
|
71
|
|
72 public Assembly getRow(int rowIndex) {
|
|
73 return assemblies.get(rowIndex);
|
|
74 }
|
|
75
|
|
76 public boolean containsAssembly(Assembly a) {
|
|
77 String aName = a.toString();
|
|
78 for (Assembly assembly : assemblies) {
|
|
79 if (assembly.toString().equalsIgnoreCase(aName)) {
|
|
80 return true;
|
|
81 }
|
|
82 }
|
|
83
|
|
84 return false;
|
|
85 }
|
|
86
|
|
87 public void addAssembly(Assembly a) {
|
|
88 assemblies.add(a);
|
|
89 fireTableRowsInserted(assemblies.size()-1, assemblies.size()-1);
|
|
90 }
|
|
91
|
|
92 public void removeRow(int rowIndex) {
|
|
93 assemblies.remove(rowIndex);
|
|
94 fireTableRowsDeleted(rowIndex, rowIndex);
|
|
95 }
|
|
96
|
|
97 }
|