1 package fr.ifremer.tutti.ui.swing.util.caracteristics.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 fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
28 import fr.ifremer.tutti.ui.swing.content.actions.GotoSiteAction;
29 import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport;
30 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorRowModel;
31 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorTableModel;
32 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorUI;
33 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorUIModel;
34 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
35 import org.apache.commons.logging.Log;
36 import org.apache.commons.logging.LogFactory;
37
38
39
40
41
42
43
44 public class CaracteristicEditorAddRowAction extends SimpleActionSupport<CaracteristicMapEditorUI> {
45
46
47 private static final Log log = LogFactory.getLog(GotoSiteAction.class);
48
49 private static final long serialVersionUID = 1L;
50
51 public CaracteristicEditorAddRowAction(CaracteristicMapEditorUI handler) {
52 super(handler);
53 }
54
55 @Override
56 protected void onActionPerformed(CaracteristicMapEditorUI ui) {
57
58 BeanFilterableComboBox<Caracteristic> keyCombo = ui.getNewRowKey();
59 Caracteristic selectedItem = (Caracteristic) keyCombo.getSelectedItem();
60
61 if (log.isInfoEnabled()) {
62 log.info("Add caracteristic row: " + selectedItem);
63 }
64
65 CaracteristicMapEditorTableModel tableModel = ui.getHandler().getTableModel();
66 CaracteristicMapEditorUIModel model = ui.getModel();
67
68 CaracteristicMapEditorRowModel row = tableModel.createNewRow();
69 row.setKey(selectedItem);
70 model.getRows().add(row);
71
72 int rowIndex = tableModel.getRowCount() - 1;
73 tableModel.fireTableRowsInserted(rowIndex, rowIndex);
74
75 keyCombo.getHandler().removeItem(selectedItem);
76
77 row.setValid(false);
78 model.addRowInError(row);
79
80 model.setModify(true);
81
82 }
83
84 }