1 package fr.ifremer.reefdb.ui.swing.content.observation.survey.measurement.grouped;
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.reefdb.decorator.DecoratorService;
27 import fr.ifremer.reefdb.dto.data.survey.SurveyDTO;
28 import fr.ifremer.reefdb.dto.referential.TaxonDTO;
29 import fr.ifremer.reefdb.dto.referential.TaxonGroupDTO;
30 import fr.ifremer.reefdb.ui.swing.content.observation.shared.AbstractMeasurementsGroupedTableModel;
31 import fr.ifremer.reefdb.ui.swing.content.observation.shared.AbstractMeasurementsGroupedTableUIModel;
32 import fr.ifremer.reefdb.ui.swing.util.table.ReefDbColumnIdentifier;
33 import org.jdesktop.swingx.table.TableColumnModelExt;
34
35 import static org.nuiton.i18n.I18n.n;
36
37
38
39
40 public class SurveyMeasurementsGroupedTableModel extends AbstractMeasurementsGroupedTableModel<SurveyMeasurementsGroupedRowModel> {
41
42
43
44
45 public static final ReefDbColumnIdentifier<SurveyMeasurementsGroupedRowModel> TAXON_GROUP = ReefDbColumnIdentifier.newId(
46 SurveyMeasurementsGroupedRowModel.PROPERTY_TAXON_GROUP,
47 n("reefdb.property.taxonGroup.short"),
48 n("reefdb.survey.measurement.grouped.taxonGroup.tip"),
49 TaxonGroupDTO.class);
50
51
52
53
54 public static final ReefDbColumnIdentifier<SurveyMeasurementsGroupedRowModel> TAXON = ReefDbColumnIdentifier.newId(
55 SurveyMeasurementsGroupedRowModel.PROPERTY_TAXON,
56 n("reefdb.property.taxon"),
57 n("reefdb.survey.measurement.grouped.taxon.tip"),
58 TaxonDTO.class,
59 DecoratorService.WITH_CITATION);
60
61
62
63
64 public static final ReefDbColumnIdentifier<SurveyMeasurementsGroupedRowModel> INPUT_TAXON_NAME = ReefDbColumnIdentifier.newId(
65 SurveyMeasurementsGroupedRowModel.PROPERTY_INPUT_TAXON_NAME,
66 n("reefdb.property.inputTaxon"),
67 n("reefdb.survey.measurement.grouped.inputTaxon.tip"),
68 String.class);
69
70
71
72
73 public static final ReefDbColumnIdentifier<SurveyMeasurementsGroupedRowModel> COMMENT = ReefDbColumnIdentifier.newId(
74 SurveyMeasurementsGroupedRowModel.PROPERTY_COMMENT,
75 n("reefdb.property.comment"),
76 n("reefdb.survey.measurement.grouped.comment.tip"),
77 String.class);
78
79
80
81
82
83
84 public SurveyMeasurementsGroupedTableModel(final TableColumnModelExt columnModel, boolean createNewRow) {
85 super(columnModel, createNewRow);
86 }
87
88
89
90
91 @Override
92 public SurveyMeasurementsGroupedRowModel createNewRow() {
93 return new SurveyMeasurementsGroupedRowModel(false);
94 }
95
96
97
98
99 @Override
100 public ReefDbColumnIdentifier<SurveyMeasurementsGroupedRowModel> getFirstColumnEditing() {
101 return TAXON_GROUP;
102 }
103
104 @Override
105 public ReefDbColumnIdentifier<SurveyMeasurementsGroupedRowModel> getPmfmInsertPosition() {
106 return INPUT_TAXON_NAME;
107 }
108
109
110
111
112 @Override
113 public AbstractMeasurementsGroupedTableUIModel getTableUIModel() {
114 return (AbstractMeasurementsGroupedTableUIModel) super.getTableUIModel();
115 }
116
117
118
119
120 @Override
121 public String getStateContext() {
122 if (getTableUIModel().getSurvey() != null && getTableUIModel().getSurvey().getProgram() != null) {
123
124 return SurveyMeasurementsGroupedTableUIModel.PROPERTY_SURVEY + '_'
125 + SurveyDTO.PROPERTY_INDIVIDUAL_PMFMS + '_'
126 + getTableUIModel().getSurvey().getProgram().getCode();
127 }
128
129 return super.getStateContext();
130 }
131
132 }