1 package fr.ifremer.reefdb.ui.swing.util.table.editor;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import fr.ifremer.quadrige3.ui.swing.table.editor.ButtonCellEditor;
27 import fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.qualitativevalue.QualitativeValueUI;
28 import fr.ifremer.reefdb.ui.swing.util.ReefDbUI;
29 import fr.ifremer.reefdb.ui.swing.util.table.AbstractReefDbRowUIModel;
30 import fr.ifremer.reefdb.ui.swing.util.table.AbstractReefDbTableModel;
31 import org.jdesktop.swingx.JXTable;
32
33 import java.awt.Dimension;
34
35
36
37
38
39 public class AssociatedQualitativeValueCellEditor extends ButtonCellEditor {
40
41 private final JXTable table;
42
43 private final ReefDbUI parentUI;
44
45 private boolean editable;
46
47
48
49
50
51
52
53
54 public AssociatedQualitativeValueCellEditor(
55 final JXTable table,
56 final ReefDbUI parentUI,
57 final boolean editable) {
58 this.table = table;
59 this.parentUI = parentUI;
60 this.editable = editable;
61 }
62
63
64 @Override
65 public void onButtonCellAction(final int rowIndex, final int column) {
66
67 final AbstractReefDbTableModel<?> tableModel = (AbstractReefDbTableModel<?>) table.getModel();
68
69 final int rowModelIndex = table.convertRowIndexToModel(rowIndex);
70
71 AbstractReefDbRowUIModel rowModel = tableModel.getEntry(rowModelIndex);
72
73
74 final QualitativeValueUI qualitativeValueUI = new QualitativeValueUI(parentUI);
75 qualitativeValueUI.getModel().setEditable(editable && rowModel.isEditable());
76 qualitativeValueUI.getModel().setParentRowModel(rowModel);
77 parentUI.getHandler().openDialog(qualitativeValueUI, new Dimension(640, 480));
78 }
79 }