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 VesselUseFeatureTabUIHandler extends AbstractCaracteristicTabUIHandler<VesselUseFeatureRowModel, VesselUseFeatureTabUIModel, VesselUseFeatureTableModel, VesselUseFeatureTabUI> {
43
44 public VesselUseFeatureTabUIHandler() {
45 super(VesselUseFeatureRowModel.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 VesselUseFeatureTabUIModel createModel() {
59 return new VesselUseFeatureTabUIModel();
60 }
61
62 @Override
63 protected CaracteristicMap getCaracteristics(FishingOperation operation) {
64 return operation.getVesselUseFeatures();
65 }
66
67 @Override
68 protected List<String> getProtocolPmfmIds() {
69 return TuttiProtocols.vesselUseFeaturePmfmIds(getDataContext().getProtocol());
70 }
71
72
73
74
75
76 @Override
77 public JXTable getTable() {
78 return ui.getVesselUseFeatureTable();
79 }
80
81
82
83
84
85 @Override
86 public void afterInit(VesselUseFeatureTabUI ui) {
87 super.afterInit(ui);
88
89 JXTable table = getTable();
90
91
92 DefaultTableColumnModelExt columnModel = new DefaultTableColumnModelExt();
93
94 {
95
96 addColumnToModel(columnModel,
97 null,
98 newTableCellRender(Caracteristic.class, DecoratorService.CARACTERISTIC_WITH_UNIT),
99 VesselUseFeatureTableModel.KEY);
100 }
101
102 {
103
104 addColumnToModel(columnModel,
105 new CaracteristicValueEditor(getContext()),
106 new CaracteristicValueRenderer(getContext()),
107 VesselUseFeatureTableModel.VALUE);
108 }
109
110
111 VesselUseFeatureTableModel tableModel =
112 new VesselUseFeatureTableModel(columnModel);
113
114 table.setModel(tableModel);
115 table.setColumnModel(columnModel);
116 initTable(table);
117 }
118
119 @Override
120 protected void initTable(JXTable table) {
121 super.initTable(table);
122 installTableKeyListener(table.getColumnModel(), table);
123 }
124
125 }