1 package fr.ifremer.tutti.ui.swing.content.operation.fishing;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
26 import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
27 import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocols;
28 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
29 import fr.ifremer.tutti.service.DecoratorService;
30 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicValueEditor;
31 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicValueRenderer;
32 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
33 import org.jdesktop.swingx.JXTable;
34 import org.jdesktop.swingx.table.DefaultTableColumnModelExt;
35
36 import java.util.List;
37
38
39
40
41
42 public class GearUseFeatureTabUIHandler extends AbstractCaracteristicTabUIHandler<GearUseFeatureRowModel, GearUseFeatureTabUIModel, GearUseFeatureTableModel, GearUseFeatureTabUI> {
43
44 public GearUseFeatureTabUIHandler() {
45 super(GearUseFeatureRowModel.PROPERTY_VALUE);
46 }
47
48
49
50
51
52 @Override
53 protected BeanFilterableComboBox<Caracteristic> getKeyCombo() {
54 return ui.getNewRowKey();
55 }
56
57 @Override
58 protected GearUseFeatureTabUIModel createModel() {
59 return new GearUseFeatureTabUIModel();
60 }
61
62 @Override
63 protected CaracteristicMap getCaracteristics(FishingOperation operation) {
64 return operation.getGearUseFeatures();
65 }
66
67 @Override
68 protected List<String> getProtocolPmfmIds() {
69 return TuttiProtocols.gearUseFeaturePmfmIds(getDataContext().getProtocol());
70 }
71
72
73
74
75
76 @Override
77 public JXTable getTable() {
78 return ui.getGearUseFeatureTable();
79 }
80
81
82
83
84
85 @Override
86 public void afterInit(GearUseFeatureTabUI ui) {
87 super.afterInit(ui);
88
89 JXTable table = getTable();
90
91
92 DefaultTableColumnModelExt columnModel =
93 new DefaultTableColumnModelExt();
94
95 {
96
97 addColumnToModel(columnModel,
98 null,
99 newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT),
100 GearUseFeatureTableModel.KEY);
101 }
102
103 {
104
105 addColumnToModel(columnModel,
106 new CaracteristicValueEditor(getContext()),
107 new CaracteristicValueRenderer(getContext()),
108 GearUseFeatureTableModel.VALUE);
109 }
110
111
112 GearUseFeatureTableModel tableModel =
113 new GearUseFeatureTableModel(columnModel);
114
115 table.setModel(tableModel);
116 table.setColumnModel(columnModel);
117
118 initTable(table);
119 }
120
121 @Override
122 protected void initTable(JXTable table) {
123 super.initTable(table);
124 installTableKeyListener(table.getColumnModel(), table);
125 table.putClientProperty("JTable.autoStartsEdit", true);
126 }
127
128 }