1 package fr.ifremer.dali.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.dali.ui.swing.DaliUIContext;
27 import fr.ifremer.dali.ui.swing.content.manage.referential.pmfm.qualitativevalue.QualitativeValueUI;
28 import fr.ifremer.dali.ui.swing.util.DaliUI;
29 import fr.ifremer.dali.ui.swing.util.table.AbstractDaliRowUIModel;
30 import fr.ifremer.dali.ui.swing.util.table.AbstractDaliTableModel;
31 import fr.ifremer.quadrige3.ui.swing.table.SwingTable;
32 import fr.ifremer.quadrige3.ui.swing.table.editor.ButtonCellEditor;
33
34 import java.awt.Dimension;
35
36
37
38
39
40 public class AssociatedQualitativeValueCellEditor extends ButtonCellEditor {
41
42 private final SwingTable table;
43
44 private final DaliUI parentUI;
45
46 private final boolean editable;
47
48
49
50
51
52
53
54
55 public AssociatedQualitativeValueCellEditor(
56 final SwingTable table,
57 final DaliUI parentUI, 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 AbstractDaliTableModel<?> tableModel = (AbstractDaliTableModel<?>) table.getModel();
68
69 final int rowModelIndex = table.convertRowIndexToModel(rowIndex);
70
71 AbstractDaliRowUIModel rowModel = tableModel.getEntry(rowModelIndex);
72
73
74 final QualitativeValueUI qualitativeValueUI = new QualitativeValueUI((DaliUIContext) parentUI.getHandler().getContext());
75 qualitativeValueUI.getModel().setEditable(editable && rowModel.isEditable());
76 qualitativeValueUI.getModel().setParentRowModel(rowModel);
77 parentUI.getHandler().openDialog(qualitativeValueUI, new Dimension(640, 480));
78 }
79 }