1 package fr.ifremer.tutti.ui.swing.content.cruise.actions;
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
27 import com.google.common.base.Preconditions;
28 import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
29 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
30 import fr.ifremer.tutti.ui.swing.content.cruise.GearCaracteristicsEditorRowModel;
31 import fr.ifremer.tutti.ui.swing.content.cruise.GearCaracteristicsEditorTableModel;
32 import fr.ifremer.tutti.ui.swing.content.cruise.GearCaracteristicsEditorUI;
33 import fr.ifremer.tutti.ui.swing.content.cruise.GearCaracteristicsEditorUIModel;
34 import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport;
35 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
36
37
38
39
40
41
42
43 public class GearCaracteristicRemoveRowAction extends SimpleActionSupport<GearCaracteristicsEditorUI> {
44
45 private static final long serialVersionUID = 1L;
46
47 public GearCaracteristicRemoveRowAction(GearCaracteristicsEditorUI ui) {
48 super(ui);
49 }
50
51 @Override
52 protected void onActionPerformed(GearCaracteristicsEditorUI ui) {
53
54 int rowIndex = ui.getGearCaracteristicsEditorTable().getSelectedRow();
55
56 Preconditions.checkState(
57 rowIndex != -1,
58 "Cant remove caracteristic if no caracteristic selected");
59
60 GearCaracteristicsEditorTableModel tableModel = ui.getHandler().getTableModel();
61
62 GearCaracteristicsEditorRowModel row = tableModel.getEntry(rowIndex);
63
64 GearCaracteristicsEditorUIModel model = ui.getModel();
65
66 CaracteristicMap caracteristicMap = model.getCaracteristicMap();
67 if (caracteristicMap != null) {
68 caracteristicMap.remove(row.getKey());
69 }
70
71
72 BeanFilterableComboBox<Caracteristic> keyCombo = ui.getNewRowKey();
73 keyCombo.addItem(row.getKey());
74
75 keyCombo.getHandler().reset();
76
77
78 model.getRows().remove(rowIndex);
79
80
81 tableModel.fireTableRowsDeleted(rowIndex, rowIndex);
82
83 model.removeRowInError(row);
84
85 }
86
87 }