source: josm/trunk/src/org/openstreetmap/josm/corrector/CorrectionTableModel.java@ 7937

Last change on this file since 7937 was 6883, checked in by Don-vip, 10 years ago

fix some Sonar issues

  • Property svn:eol-style set to native
File size: 2.1 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.corrector;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.util.Arrays;
7import java.util.List;
8
9import javax.swing.table.AbstractTableModel;
10
11public abstract class CorrectionTableModel<C extends Correction> extends AbstractTableModel {
12
13 private List<C> corrections;
14 private boolean[] apply;
15 private int applyColumn;
16
17 public CorrectionTableModel(List<C> corrections) {
18 this.corrections = corrections;
19 apply = new boolean[this.corrections.size()];
20 Arrays.fill(apply, true);
21 applyColumn = getColumnCount() - 1;
22 }
23
24 @Override
25 public abstract int getColumnCount();
26
27 protected abstract boolean isBoldCell(int row, int column);
28 public abstract String getCorrectionColumnName(int colIndex);
29 public abstract Object getCorrectionValueAt(int rowIndex, int colIndex);
30
31 public List<C> getCorrections() {
32 return corrections;
33 }
34
35 public int getApplyColumn() {
36 return applyColumn;
37 }
38
39 public boolean getApply(int i) {
40 return apply[i];
41 }
42
43 @Override
44 public int getRowCount() {
45 return corrections.size();
46 }
47
48 @Override
49 public Class<?> getColumnClass(int columnIndex) {
50 if (columnIndex == applyColumn)
51 return Boolean.class;
52 return String.class;
53 }
54
55 @Override
56 public String getColumnName(int columnIndex) {
57 if (columnIndex == applyColumn)
58 return tr("Apply?");
59
60 return getCorrectionColumnName(columnIndex);
61 }
62
63 @Override
64 public boolean isCellEditable(int rowIndex, int columnIndex) {
65 return columnIndex == applyColumn;
66 }
67
68 @Override
69 public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
70 if (columnIndex == applyColumn && aValue instanceof Boolean)
71 apply[rowIndex] = (Boolean)aValue;
72 }
73
74 @Override
75 public Object getValueAt(int rowIndex, int colIndex) {
76 if (colIndex == applyColumn)
77 return apply[rowIndex];
78
79 return getCorrectionValueAt(rowIndex, colIndex);
80 }
81}
Note: See TracBrowser for help on using the repository browser.