View Javadoc
1   package fr.ifremer.dali.ui.swing.content.observation.operation.measurement.grouped;
2   
3   /*
4    * #%L
5    * Dali :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   *
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   *
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import fr.ifremer.dali.dto.data.sampling.SamplingOperationDTO;
27  import fr.ifremer.dali.dto.data.survey.SurveyDTO;
28  import fr.ifremer.dali.ui.swing.content.observation.operation.measurement.grouped.shared.AbstractOperationMeasurementsGroupedTableModel;
29  import fr.ifremer.dali.ui.swing.content.observation.operation.measurement.grouped.shared.AbstractOperationMeasurementsGroupedTableUIModel;
30  import fr.ifremer.dali.ui.swing.util.table.DaliColumnIdentifier;
31  import fr.ifremer.quadrige3.ui.swing.table.SwingTableColumnModel;
32  
33  /**
34   * Le modele pour le tableau des mesures des prelevements (ecran prelevements/mesure).
35   */
36  public class OperationMeasurementsGroupedTableModel extends AbstractOperationMeasurementsGroupedTableModel<OperationMeasurementsGroupedRowModel> {
37  
38      /**
39       * Constructor.
40       *
41       * @param columnModel Le modele pour les colonnes
42       */
43      public OperationMeasurementsGroupedTableModel(SwingTableColumnModel columnModel, boolean createNewRow) {
44          super(columnModel, createNewRow);
45      }
46  
47      /**
48       * {@inheritDoc}
49       */
50      @Override
51      public OperationMeasurementsGroupedRowModel createNewRow() {
52          return new OperationMeasurementsGroupedRowModel(false);
53      }
54  
55      /**
56       * {@inheritDoc}
57       */
58      @Override
59      public DaliColumnIdentifier<OperationMeasurementsGroupedRowModel> getFirstColumnEditing() {
60          return SAMPLING;
61      }
62  
63      @Override
64      public DaliColumnIdentifier<OperationMeasurementsGroupedRowModel> getPmfmInsertPosition() {
65          return SAMPLING;
66      }
67  
68      /**
69       * {@inheritDoc}
70       */
71      @Override
72      public AbstractOperationMeasurementsGroupedTableUIModel getTableUIModel() {
73          return (AbstractOperationMeasurementsGroupedTableUIModel) super.getTableUIModel();
74      }
75  
76      /**
77       * {@inheritDoc}
78       */
79      @Override
80      public String getStateContext() {
81          if (getTableUIModel().getSurvey() != null && getTableUIModel().getSurvey().getProgram() != null) {
82  
83              return SurveyDTO.PROPERTY_SAMPLING_OPERATIONS + '_'
84                  + SamplingOperationDTO.PROPERTY_INDIVIDUAL_PMFMS + '_'
85                  + getTableUIModel().getSurvey().getProgram().getCode();
86          }
87  
88          return super.getStateContext();
89      }
90  
91  }