1 package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency;
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.data.CopyIndividualObservationMode;
28 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
29 import fr.ifremer.tutti.ui.swing.TuttiHelpBroker;
30 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.AddSpeciesFrequencyLengthStepCaracteristicAction;
31 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.CancelEditSpeciesFrequencyAction;
32 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.GenerateSpeciesFrequencyLengthStepsAction;
33 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ResetSpeciesFrequencyAction;
34 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SaveAndCloseSpeciesFrequencyAction;
35 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SaveAndContinueSpeciesFrequencyAction;
36 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SaveAndStaySpeciesFrequencyAction;
37 import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.SearchSpeciesInPrevOrNextCatchesAction;
38 import fr.ifremer.tutti.ui.swing.util.TuttiUI;
39 import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
40 import fr.ifremer.tutti.ui.swing.util.WideDataBeanFilterableComboBox;
41 import fr.ifremer.tutti.ui.swing.util.caracteristics.CaracteristicMapEditorUI;
42 import fr.ifremer.tutti.ui.swing.util.computable.ComputableDataEditor;
43 import java.awt.BorderLayout;
44 import java.awt.Color;
45 import java.awt.Component;
46 import java.awt.Container;
47 import java.awt.Font;
48 import java.awt.GridBagConstraints;
49 import java.awt.GridLayout;
50 import java.awt.Insets;
51 import java.awt.LayoutManager;
52 import java.awt.event.ActionEvent;
53 import java.awt.event.ActionListener;
54 import java.awt.event.ComponentEvent;
55 import java.awt.event.ComponentListener;
56 import java.awt.event.ItemEvent;
57 import java.awt.event.ItemListener;
58 import java.awt.event.KeyEvent;
59 import java.awt.event.KeyListener;
60 import java.awt.event.MouseEvent;
61 import java.awt.event.MouseListener;
62 import java.util.ArrayList;
63 import java.util.HashMap;
64 import java.util.List;
65 import java.util.Map;
66 import java.util.TreeMap;
67 import javax.swing.BorderFactory;
68 import javax.swing.ButtonGroup;
69 import javax.swing.JButton;
70 import javax.swing.JCheckBox;
71 import javax.swing.JLabel;
72 import javax.swing.JMenu;
73 import javax.swing.JMenuBar;
74 import javax.swing.JMenuItem;
75 import javax.swing.JPanel;
76 import javax.swing.JPopupMenu;
77 import javax.swing.JRadioButton;
78 import javax.swing.JScrollPane;
79 import javax.swing.JSeparator;
80 import javax.swing.JSplitPane;
81 import javax.swing.JTextField;
82 import javax.swing.JToolBar;
83 import javax.swing.ListSelectionModel;
84 import javax.swing.SwingConstants;
85 import jaxx.runtime.JAXXBinding;
86 import jaxx.runtime.JAXXContext;
87 import jaxx.runtime.JAXXObject;
88 import jaxx.runtime.JAXXObjectDescriptor;
89 import jaxx.runtime.JAXXUtil;
90 import jaxx.runtime.JAXXValidator;
91 import jaxx.runtime.SwingUtil;
92 import jaxx.runtime.binding.DefaultJAXXBinding;
93 import jaxx.runtime.binding.SimpleJAXXObjectBinding;
94 import jaxx.runtime.context.DefaultJAXXContext;
95 import jaxx.runtime.swing.CardLayout2Ext;
96 import jaxx.runtime.swing.HBox;
97 import jaxx.runtime.swing.JAXXButtonGroup;
98 import jaxx.runtime.swing.JAXXWidgetUtil;
99 import jaxx.runtime.swing.Table;
100 import jaxx.runtime.swing.VBox;
101 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
102 import jaxx.runtime.swing.help.JAXXHelpUI;
103 import jaxx.runtime.validator.swing.SwingValidator;
104 import jaxx.runtime.validator.swing.SwingValidatorUtil;
105 import jaxx.runtime.validator.swing.meta.Validator;
106 import jaxx.runtime.validator.swing.meta.ValidatorField;
107 import jaxx.runtime.validator.swing.ui.ImageValidationUI;
108 import org.apache.commons.logging.Log;
109 import org.apache.commons.logging.LogFactory;
110 import org.jdesktop.swingx.JXTable;
111 import org.jdesktop.swingx.JXTitledPanel;
112 import org.nuiton.jaxx.widgets.number.NumberEditor;
113 import static jaxx.runtime.SwingUtil.getStringValue;
114 import static org.nuiton.i18n.I18n.t;
115
116 public class SpeciesFrequencyUI extends JPanel implements JAXXHelpUI<TuttiHelpBroker>, TuttiUI<SpeciesFrequencyUIModel, SpeciesFrequencyUIHandler>, JAXXObject, JAXXValidator {
117
118
119
120
121
122 public static final String BINDING_ADD_INDIVIDUAL_OBSERVATION_CHECK_BOX_ENABLED = "addIndividualObservationCheckBox.enabled";
123 public static final String BINDING_ADD_INDIVIDUAL_OBSERVATION_CHECK_BOX_SELECTED = "addIndividualObservationCheckBox.selected";
124 public static final String BINDING_ADD_LENGTH_STEP_CARACTERISTIC_BUTTON_ENABLED = "addLengthStepCaracteristicButton.enabled";
125 public static final String BINDING_AUTO_GEN_MODE_BUTTON_ENABLED = "autoGenModeButton.enabled";
126 public static final String BINDING_AUTO_GEN_MODE_BUTTON_SELECTED = "autoGenModeButton.selected";
127 public static final String BINDING_COPY_ALL_BUTTON_SELECTED = "copyAllButton.selected";
128 public static final String BINDING_COPY_NOTHING_BUTTON_SELECTED = "copyNothingButton.selected";
129 public static final String BINDING_COPY_RTP_WEIGHTS_CHECK_BOX_ENABLED = "copyRtpWeightsCheckBox.enabled";
130 public static final String BINDING_COPY_RTP_WEIGHTS_CHECK_BOX_SELECTED = "copyRtpWeightsCheckBox.selected";
131 public static final String BINDING_COPY_SIZES_BUTTON_SELECTED = "copySizesButton.selected";
132 public static final String BINDING_DATA_FIELD_LAYOUT_SELECTED = "dataFieldLayout.selected";
133 public static final String BINDING_DATA_IN_FREQUENCIES_WARNING_CONTAINER_VISIBLE = "dataInFrequenciesWarningContainer.visible";
134 public static final String BINDING_FREQUENCIES_TITLE_PANEL_TITLE_PAINTER = "frequenciesTitlePanel.titlePainter";
135 public static final String BINDING_FREQUENCY_MODE_BUTTON_SELECTED = "frequencyModeButton.selected";
136 public static final String BINDING_GENERATE_LENGTH_STEPS_ACTION_ENABLED = "generateLengthStepsAction.enabled";
137 public static final String BINDING_HISTOGRAM_PANEL_VISIBLE = "histogramPanel.visible";
138 public static final String BINDING_IMPORT_MULTI_POST_FULL_BUTTON_ENABLED = "importMultiPostFullButton.enabled";
139 public static final String BINDING_IMPORT_MULTI_POST_ONLY_FREQUENCIES_BUTTON_ENABLED = "importMultiPostOnlyFrequenciesButton.enabled";
140 public static final String BINDING_IMPORT_MULTI_POST_ONLY_INDIVIDUAL_OBSERVATIONS_BUTTON_ENABLED = "importMultiPostOnlyIndividualObservationsButton.enabled";
141 public static final String BINDING_LENGTH_STEP_CARACTERISTIC_COMBO_BOX_ENABLED = "lengthStepCaracteristicComboBox.enabled";
142 public static final String BINDING_LENGTH_STEP_CARACTERISTIC_COMBO_BOX_SELECTED_ITEM = "lengthStepCaracteristicComboBox.selectedItem";
143 public static final String BINDING_LENGTH_STEP_CARACTERISTIC_LABEL_ENABLED = "lengthStepCaracteristicLabel.enabled";
144 public static final String BINDING_LENGTH_STEP_CARACTERISTIC_PANEL_VISIBLE = "lengthStepCaracteristicPanel.visible";
145 public static final String BINDING_MAX_STEP_FIELD_NUMBER_PATTERN = "maxStepField.numberPattern";
146 public static final String BINDING_MAX_STEP_FIELD_NUMBER_VALUE = "maxStepField.numberValue";
147 public static final String BINDING_MENU_IMPORT_MULTI_POST_ENABLED = "menuImportMultiPost.enabled";
148 public static final String BINDING_MIN_STEP_FIELD_NUMBER_PATTERN = "minStepField.numberPattern";
149 public static final String BINDING_MIN_STEP_FIELD_NUMBER_VALUE = "minStepField.numberValue";
150 public static final String BINDING_MODE_CONFIGURATION_LAYOUT_SELECTED = "modeConfigurationLayout.selected";
151 public static final String BINDING_MODE_CONFIGURATION_PANEL_VISIBLE = "modeConfigurationPanel.visible";
152 public static final String BINDING_MODE_PANEL_VISIBLE = "modePanel.visible";
153 public static final String BINDING_OBS_TABLE_ENABLED = "obsTable.enabled";
154 public static final String BINDING_OBS_TABLE_TITLE_PANEL_TITLE_PAINTER = "obsTableTitlePanel.titlePainter";
155 public static final String BINDING_RAFALE_MODE_BUTTON_ENABLED = "rafaleModeButton.enabled";
156 public static final String BINDING_RAFALE_MODE_BUTTON_SELECTED = "rafaleModeButton.selected";
157 public static final String BINDING_RAFALE_STEP_FIELD_ENABLED = "rafaleStepField.enabled";
158 public static final String BINDING_RAFALE_STEP_FIELD_NUMBER_PATTERN = "rafaleStepField.numberPattern";
159 public static final String BINDING_SAMPLING_RESUME_LABEL_VISIBLE = "samplingResumeLabel.visible";
160 public static final String BINDING_SAMPLING_WARNING_LABEL_VISIBLE = "samplingWarningLabel.visible";
161 public static final String BINDING_SAVE_AND_CLOSE_ACTION_ENABLED = "saveAndCloseAction.enabled";
162 public static final String BINDING_SAVE_AND_CONTINUE_ACTION_ENABLED = "saveAndContinueAction.enabled";
163 public static final String BINDING_SAVE_AND_STAY_ACTION_ENABLED = "saveAndStayAction.enabled";
164 public static final String BINDING_SEARCH_SPECIES_IN_NEXT_CATCHES_BUTTON_ENABLED = "searchSpeciesInNextCatchesButton.enabled";
165 public static final String BINDING_SEARCH_SPECIES_IN_PREV_CATCHES_BUTTON_ENABLED = "searchSpeciesInPrevCatchesButton.enabled";
166 public static final String BINDING_SIMPLE_COUNTING_MODE_BUTTON_SELECTED = "simpleCountingModeButton.selected";
167 public static final String BINDING_SIMPLE_COUNTING_NUMBER_FIELD_NUMBER_PATTERN = "simpleCountingNumberField.numberPattern";
168 public static final String BINDING_SIMPLE_COUNTING_NUMBER_FIELD_NUMBER_VALUE = "simpleCountingNumberField.numberValue";
169 public static final String BINDING_SIMPLE_COUNTING_WEIGHT_FIELD_BEAN = "simpleCountingWeightField.bean";
170 public static final String BINDING_SIMPLE_COUNTING_WEIGHT_FIELD_NUMBER_VALUE = "simpleCountingWeightField.numberValue";
171 public static final String BINDING_STEP_FIELD_ENABLED = "stepField.enabled";
172 public static final String BINDING_STEP_FIELD_NUMBER_PATTERN = "stepField.numberPattern";
173 public static final String BINDING_STEP_FIELD_NUMBER_VALUE = "stepField.numberValue";
174 public static final String BINDING_STEP_LABEL_ENABLED = "stepLabel.enabled";
175 public static final String BINDING_TABLE_ENABLED = "table.enabled";
176 public static final String BINDING_TOTAL_NUMBER_FIELD_TEXT = "totalNumberField.text";
177 public static final String BINDING_TOTAL_NUMBER_LABEL_ENABLED = "totalNumberLabel.enabled";
178 public static final String BINDING_TOTAL_WEIGHT_FIELD_BEAN = "totalWeightField.bean";
179 public static final String BINDING_TOTAL_WEIGHT_FIELD_NUMBER_VALUE = "totalWeightField.numberValue";
180 public static final String BINDING_TOTAL_WEIGHT_LABEL_ENABLED = "totalWeightLabel.enabled";
181
182
183
184
185
186 private static final String BINDING_$JSEPARATOR0_VISIBLE = "$JSeparator0.visible";
187
188
189
190
191
192 private static final String $jaxxObjectDescriptor = "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";
193 private static final Log log = LogFactory.getLog(SpeciesFrequencyUI.class);
194 private static final long serialVersionUID = 1L;
195
196
197
198
199
200 protected List<Object> $activeBindings = new ArrayList<Object>();
201 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
202 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
203 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
204 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
205 private boolean allComponentsCreated;
206 protected final JAXXContext delegateContext = new DefaultJAXXContext();
207
208
209
210
211
212 protected JPanel actionPanel;
213 protected JCheckBox addIndividualObservationCheckBox;
214 protected AddSpeciesFrequencyLengthStepCaracteristicAction addLengthStepCaracteristicAction;
215 protected JButton addLengthStepCaracteristicButton;
216 protected JRadioButton autoGenModeButton;
217 protected Table autoGenModePanel;
218 protected TuttiHelpBroker broker;
219 protected JButton cancelButton;
220 protected Table configurationPanel;
221 protected JRadioButton copyAllButton;
222 protected JRadioButton copyNothingButton;
223 protected JCheckBox copyRtpWeightsCheckBox;
224 protected JRadioButton copySizesButton;
225 protected JLabel copyToSizeTableLabel;
226 protected JAXXButtonGroup copyToSizeTableMode;
227 protected JToolBar copyToSizeToolBar;
228 protected CardLayout2Ext dataFieldLayout;
229 protected JPanel dataFieldPanel;
230 protected JLabel dataInFrequenciesWarning;
231 protected JPanel dataInFrequenciesWarningContainer;
232 protected JMenuItem deleteObsRowsMenu;
233 protected JMenuItem deleteSampleCodeMenu;
234 protected JMenuItem editSampleCodeMenu;
235 protected SpeciesFrequencyUI editSpeciesFrequenciesTopPanel = this;
236 protected JMenuItem exportMultiPostFullButton;
237 protected JMenuItem exportMultiPostOnlyFrequenciesButton;
238 protected JMenuItem exportMultiPostOnlyIndividualObservationsButton;
239 protected JSplitPane firstSplitPane;
240 protected JAXXButtonGroup frequenciesMode;
241 protected JPanel frequenciesPanel;
242 protected JXTitledPanel frequenciesTitlePanel;
243 protected JToolBar frequenciesToolBar;
244 protected JRadioButton frequencyModeButton;
245 protected HBox frequencyModePanel;
246 protected JButton generateButton;
247 protected GenerateSpeciesFrequencyLengthStepsAction generateLengthStepsAction;
248 protected JButton graphAverageWeightButton;
249 protected final SpeciesFrequencyUIHandler handler = createHandler();
250 protected JPanel histogramPanel;
251 protected JMenuItem importMultiPostFullButton;
252 protected JMenuItem importMultiPostOnlyFrequenciesButton;
253 protected JMenuItem importMultiPostOnlyIndividualObservationsButton;
254 @ValidatorField( validatorId = "validator", propertyName = "lengthStepCaracteristic", editorName = "lengthStepCaracteristicComboBox")
255 protected WideDataBeanFilterableComboBox<Caracteristic> lengthStepCaracteristicComboBox;
256 protected JLabel lengthStepCaracteristicLabel;
257 protected Table lengthStepCaracteristicPanel;
258 protected Table lengthstepSettingsBlock;
259 protected JScrollPane logsScrollPane;
260 protected JXTable logsTable;
261 protected NumberEditor maxStepField;
262 protected JLabel maxStepLabel;
263 protected JMenuBar menu;
264 protected JMenu menuAction;
265 protected JMenu menuExportMultiPost;
266 protected JMenu menuImportMultiPost;
267 protected NumberEditor minStepField;
268 protected JLabel minStepLabel;
269 protected JAXXButtonGroup mode;
270 protected CardLayout2Ext modeConfigurationLayout;
271 protected JPanel modeConfigurationPanel;
272 protected VBox modePanel;
273 protected SpeciesFrequencyUIModel model;
274 protected CaracteristicMapEditorUI obsCaracteristicCaracteristicMapEditor;
275 protected JXTitledPanel obsCaracteristicMapEditorReminderLabel;
276 @ValidatorField( validatorId = "validator", propertyName = "nonEmptyIndividualObservationRowsInError", editorName = "obsPanel")
277 protected JPanel obsPanel;
278 protected CardLayout2Ext obsPanelLayout;
279 protected JXTable obsTable;
280 protected JPopupMenu obsTablePopup;
281 protected JXTitledPanel obsTableTitlePanel;
282 protected JRadioButton rafaleModeButton;
283 protected Table rafaleModePanel;
284 protected NumberEditor rafaleStepField;
285 protected JLabel rafaleStepLabel;
286 protected JButton resetButton;
287 protected JLabel samplingResumeLabel;
288 protected JLabel samplingWarningLabel;
289 protected SaveAndCloseSpeciesFrequencyAction saveAndCloseAction;
290 protected JButton saveAndCloseButton;
291 protected SaveAndContinueSpeciesFrequencyAction saveAndContinueAction;
292 protected JButton saveAndContinueButton;
293 protected SaveAndStaySpeciesFrequencyAction saveAndStayAction;
294 protected JButton saveAndStayButton;
295 protected SearchSpeciesInPrevOrNextCatchesAction searchSpeciesInNextCatchesAction;
296 protected JMenuItem searchSpeciesInNextCatchesButton;
297 protected SearchSpeciesInPrevOrNextCatchesAction searchSpeciesInPrevCatchesAction;
298 protected JMenuItem searchSpeciesInPrevCatchesButton;
299 protected JSplitPane secondSplitPane;
300 protected JRadioButton simpleCountingModeButton;
301 protected NumberEditor simpleCountingNumberField;
302 protected JLabel simpleCountingNumberLabel;
303 protected Table simpleCountingNumberPanel;
304 protected NumberEditor simpleCountingWeightField;
305 protected JLabel simpleCountingWeightLabel;
306 protected JToolBar speciesFrequencyTabToolBar;
307 @ValidatorField( validatorId = "validator", propertyName = "step", editorName = "stepField")
308 protected NumberEditor stepField;
309 protected JLabel stepLabel;
310 protected JXTable table;
311 @ValidatorField( validatorId = "validator", propertyName = "rows", editorName = "tableScrollPane")
312 protected JScrollPane tableScrollPane;
313 protected JTextField totalNumberField;
314 protected JLabel totalNumberLabel;
315 @ValidatorField( validatorId = "validator", propertyName = "totalWeight", editorName = "totalWeightField")
316 protected ComputableDataEditor<Float> totalWeightField;
317 protected JLabel totalWeightLabel;
318 @Validator( validatorId = "validator")
319 protected SwingValidator<SpeciesFrequencyUIModel> validator;
320 protected List<String> validatorIds = new ArrayList<String>();
321
322
323
324
325
326 private JPanel $JPanel0;
327 private JScrollPane $JScrollPane0;
328 private JSeparator $JSeparator0;
329
330
331
332
333
334
335 private String speciesOrBenthosContext;
336
337
338 public String getSpeciesOrBenthosContext() { return speciesOrBenthosContext; }
339
340 protected int getLengthStepPanelPreferedWidth() {
341 return getWidth() - frequencyModePanel.getPreferredSize().width - histogramPanel.getPreferredSize().width;
342 }
343
344 public boolean leaveIfConfirmed() { return handler.leaveIfConfirmed(); }
345
346
347
348
349
350 public SpeciesFrequencyUI(TuttiUI parentUI, String speciesOrBenthosContext) {
351 TuttiUIUtil.setParentUI(this, parentUI);
352 this.speciesOrBenthosContext = speciesOrBenthosContext;
353 $initialize();
354 }
355
356 public SpeciesFrequencyUI(LayoutManager param0, boolean param1) {
357 super(param0 ,param1);
358 $initialize();
359 }
360
361 public SpeciesFrequencyUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
362 super(param1 ,param2);
363 JAXXUtil.initContext(this, parentContext);
364 $initialize();
365 }
366
367 public SpeciesFrequencyUI(LayoutManager param0) {
368 super(param0);
369 $initialize();
370 }
371
372 public SpeciesFrequencyUI(JAXXContext parentContext, LayoutManager param1) {
373 super(param1);
374 JAXXUtil.initContext(this, parentContext);
375 $initialize();
376 }
377
378 public SpeciesFrequencyUI() {
379 $initialize();
380 }
381
382 public SpeciesFrequencyUI(JAXXContext parentContext) {
383 JAXXUtil.initContext(this, parentContext);
384 $initialize();
385 }
386
387 public SpeciesFrequencyUI(boolean param0) {
388 super(param0);
389 $initialize();
390 }
391
392 public SpeciesFrequencyUI(JAXXContext parentContext, boolean param1) {
393 super(param1);
394 JAXXUtil.initContext(this, parentContext);
395 $initialize();
396 }
397
398
399
400
401
402 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
403 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
404 }
405
406
407
408
409
410 @Override
411 public void applyDataBinding(String $binding) {
412 if (allComponentsCreated && $bindings.containsKey($binding)) {
413 getDataBinding($binding).applyDataBinding();
414 }
415 processDataBinding($binding);
416 }
417
418 @Override
419 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
420 super.firePropertyChange(propertyName, oldValue, newValue);
421 }
422
423 @Override
424 public Map<String, Object> get$objectMap() {
425 return $objectMap;
426 }
427
428 @Override
429 public JAXXBinding getDataBinding(String bindingId) {
430 return $bindings.get(bindingId);
431 }
432
433 @Override
434 public JAXXBinding[] getDataBindings() {
435 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
436 }
437
438 @Override
439 public Object getObjectById(String id) {
440 return $objectMap.get(id);
441 }
442
443 @Override
444 public void processDataBinding(String $binding, boolean $force) {
445 if (!$force && $activeBindings.contains($binding)) {
446 return;
447 }
448 $activeBindings.add($binding);
449 try {
450 if (allComponentsCreated && $bindings.containsKey($binding)) {
451 getDataBinding($binding).processDataBinding();
452 }
453 } finally {
454 $activeBindings.remove($binding);
455 }
456 }
457
458 @Override
459 public void processDataBinding(String $binding) {
460 processDataBinding($binding, false);
461 }
462
463 @Override
464 public void registerDataBinding(JAXXBinding binding) {
465 $bindings.put(binding.getId(), binding);
466 }
467
468 @Override
469 public void removeDataBinding(String $binding) {
470 if (allComponentsCreated && $bindings.containsKey($binding)) {
471 getDataBinding($binding).removeDataBinding();
472 }
473 }
474
475
476
477
478
479 @Override
480 public <T> T getContextValue(Class<T> clazz) {
481 return delegateContext.getContextValue(clazz, null);
482 }
483
484 @Override
485 public <T> T getContextValue(Class<T> clazz, String name) {
486 return delegateContext.getContextValue(clazz, name);
487 }
488
489 @Override
490 public JAXXContext getDelegateContext() {
491 return delegateContext;
492 }
493
494 @Override
495 public <O extends Container> O getParentContainer(Class<O> clazz) {
496 return SwingUtil.getParentContainer(this, clazz);
497 }
498
499 @Override
500 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
501 return SwingUtil.getParentContainer(source, clazz);
502 }
503
504 @Override
505 public <T> void removeContextValue(Class<T> clazz) {
506 delegateContext.removeContextValue(clazz, null);
507 }
508
509 @Override
510 public <T> void removeContextValue(Class<T> clazz, String name) {
511 delegateContext.removeContextValue(clazz, name);
512 }
513
514 @Override
515 public <T> void setContextValue(T o) {
516 delegateContext.setContextValue(o, null);
517 }
518
519 @Override
520 public <T> void setContextValue(T o, String name) {
521 delegateContext.setContextValue(o, name);
522 }
523
524
525
526
527
528 @Override
529 public SwingValidator<?> getValidator(String validatorId) {
530 return (SwingValidator<?>) (validatorIds.contains(validatorId) ? getObjectById(validatorId) : null);
531 }
532
533 @Override
534 public List<String> getValidatorIds() {
535 return validatorIds;
536 }
537
538 @Override
539 public void registerValidatorFields() {
540 SwingValidatorUtil.detectValidatorFields(this);
541 }
542
543
544
545
546
547 public void doActionPerformed__on__autoGenModeButton(ActionEvent event) {
548 if (log.isDebugEnabled()) {
549 log.debug(event);
550 }
551 model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.AUTO_GEN);
552 }
553
554 public void doActionPerformed__on__copyAllButton(ActionEvent event) {
555 if (log.isDebugEnabled()) {
556 log.debug(event);
557 }
558 handler.setCopyIndividualObservationMode(CopyIndividualObservationMode.ALL);
559 }
560
561 public void doActionPerformed__on__copyNothingButton(ActionEvent event) {
562 if (log.isDebugEnabled()) {
563 log.debug(event);
564 }
565 handler.setCopyIndividualObservationMode(CopyIndividualObservationMode.NOTHING);
566 }
567
568 public void doActionPerformed__on__copyRtpWeightsCheckBox(ActionEvent event) {
569 if (log.isDebugEnabled()) {
570 log.debug(event);
571 }
572 model.setCopyRtpWeights(copyRtpWeightsCheckBox.isSelected());
573 }
574
575 public void doActionPerformed__on__copySizesButton(ActionEvent event) {
576 if (log.isDebugEnabled()) {
577 log.debug(event);
578 }
579 handler.setCopyIndividualObservationMode(CopyIndividualObservationMode.SIZE);
580 }
581
582 public void doActionPerformed__on__frequencyModeButton(ActionEvent event) {
583 if (log.isDebugEnabled()) {
584 log.debug(event);
585 }
586 model.setConfigurationMode(FrequencyConfigurationMode.FREQUENCIES);
587 }
588
589 public void doActionPerformed__on__rafaleModeButton(ActionEvent event) {
590 if (log.isDebugEnabled()) {
591 log.debug(event);
592 }
593 model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.RAFALE);
594 }
595
596 public void doActionPerformed__on__simpleCountingModeButton(ActionEvent event) {
597 if (log.isDebugEnabled()) {
598 log.debug(event);
599 }
600 model.setConfigurationMode(FrequencyConfigurationMode.SIMPLE_COUNTING);
601 }
602
603 public void doComponentResized__on__editSpeciesFrequenciesTopPanel(ComponentEvent event) {
604 if (log.isDebugEnabled()) {
605 log.debug(event);
606 }
607 JAXXWidgetUtil.setComponentWidth(lengthStepCaracteristicComboBox, getLengthStepPanelPreferedWidth()) ;
608 }
609
610 public void doItemStateChanged__on__addIndividualObservationCheckBox(ItemEvent event) {
611 if (log.isDebugEnabled()) {
612 log.debug(event);
613 }
614 handler.setBoolean(event, "addIndividualObservationOnRafale");
615 }
616
617 public void doKeyPressed__on__obsTable(KeyEvent event) {
618 if (log.isDebugEnabled()) {
619 log.debug(event);
620 }
621 handler.openRowMenu(event, obsTablePopup);
622 }
623
624 public void doMouseClicked__on__obsTable(MouseEvent event) {
625 if (log.isDebugEnabled()) {
626 log.debug(event);
627 }
628 handler.autoSelectRowInTable(event, obsTablePopup);
629 }
630
631
632
633
634
635 public JPanel getActionPanel() {
636 return actionPanel;
637 }
638
639 public JCheckBox getAddIndividualObservationCheckBox() {
640 return addIndividualObservationCheckBox;
641 }
642
643 public AddSpeciesFrequencyLengthStepCaracteristicAction getAddLengthStepCaracteristicAction() {
644 return addLengthStepCaracteristicAction;
645 }
646
647 public JButton getAddLengthStepCaracteristicButton() {
648 return addLengthStepCaracteristicButton;
649 }
650
651 public JRadioButton getAutoGenModeButton() {
652 return autoGenModeButton;
653 }
654
655 public Table getAutoGenModePanel() {
656 return autoGenModePanel;
657 }
658
659 public TuttiHelpBroker getBroker() {
660 return broker;
661 }
662
663 public JButton getCancelButton() {
664 return cancelButton;
665 }
666
667 public Table getConfigurationPanel() {
668 return configurationPanel;
669 }
670
671 public JRadioButton getCopyAllButton() {
672 return copyAllButton;
673 }
674
675 public JRadioButton getCopyNothingButton() {
676 return copyNothingButton;
677 }
678
679 public JCheckBox getCopyRtpWeightsCheckBox() {
680 return copyRtpWeightsCheckBox;
681 }
682
683 public JRadioButton getCopySizesButton() {
684 return copySizesButton;
685 }
686
687 public JLabel getCopyToSizeTableLabel() {
688 return copyToSizeTableLabel;
689 }
690
691 public JAXXButtonGroup getCopyToSizeTableMode() {
692 return copyToSizeTableMode;
693 }
694
695 public JToolBar getCopyToSizeToolBar() {
696 return copyToSizeToolBar;
697 }
698
699 public CardLayout2Ext getDataFieldLayout() {
700 return dataFieldLayout;
701 }
702
703 public JPanel getDataFieldPanel() {
704 return dataFieldPanel;
705 }
706
707 public JLabel getDataInFrequenciesWarning() {
708 return dataInFrequenciesWarning;
709 }
710
711 public JPanel getDataInFrequenciesWarningContainer() {
712 return dataInFrequenciesWarningContainer;
713 }
714
715 public JMenuItem getDeleteObsRowsMenu() {
716 return deleteObsRowsMenu;
717 }
718
719 public JMenuItem getDeleteSampleCodeMenu() {
720 return deleteSampleCodeMenu;
721 }
722
723 public JMenuItem getEditSampleCodeMenu() {
724 return editSampleCodeMenu;
725 }
726
727 public JMenuItem getExportMultiPostFullButton() {
728 return exportMultiPostFullButton;
729 }
730
731 public JMenuItem getExportMultiPostOnlyFrequenciesButton() {
732 return exportMultiPostOnlyFrequenciesButton;
733 }
734
735 public JMenuItem getExportMultiPostOnlyIndividualObservationsButton() {
736 return exportMultiPostOnlyIndividualObservationsButton;
737 }
738
739 public JSplitPane getFirstSplitPane() {
740 return firstSplitPane;
741 }
742
743 public JAXXButtonGroup getFrequenciesMode() {
744 return frequenciesMode;
745 }
746
747 public JPanel getFrequenciesPanel() {
748 return frequenciesPanel;
749 }
750
751 public JXTitledPanel getFrequenciesTitlePanel() {
752 return frequenciesTitlePanel;
753 }
754
755 public JToolBar getFrequenciesToolBar() {
756 return frequenciesToolBar;
757 }
758
759 public JRadioButton getFrequencyModeButton() {
760 return frequencyModeButton;
761 }
762
763 public HBox getFrequencyModePanel() {
764 return frequencyModePanel;
765 }
766
767 public JButton getGenerateButton() {
768 return generateButton;
769 }
770
771 public GenerateSpeciesFrequencyLengthStepsAction getGenerateLengthStepsAction() {
772 return generateLengthStepsAction;
773 }
774
775 public JButton getGraphAverageWeightButton() {
776 return graphAverageWeightButton;
777 }
778
779 public SpeciesFrequencyUIHandler getHandler() {
780 return handler;
781 }
782
783 public JPanel getHistogramPanel() {
784 return histogramPanel;
785 }
786
787 public JMenuItem getImportMultiPostFullButton() {
788 return importMultiPostFullButton;
789 }
790
791 public JMenuItem getImportMultiPostOnlyFrequenciesButton() {
792 return importMultiPostOnlyFrequenciesButton;
793 }
794
795 public JMenuItem getImportMultiPostOnlyIndividualObservationsButton() {
796 return importMultiPostOnlyIndividualObservationsButton;
797 }
798
799 public WideDataBeanFilterableComboBox<Caracteristic> getLengthStepCaracteristicComboBox() {
800 return lengthStepCaracteristicComboBox;
801 }
802
803 public JLabel getLengthStepCaracteristicLabel() {
804 return lengthStepCaracteristicLabel;
805 }
806
807 public Table getLengthStepCaracteristicPanel() {
808 return lengthStepCaracteristicPanel;
809 }
810
811 public Table getLengthstepSettingsBlock() {
812 return lengthstepSettingsBlock;
813 }
814
815 public JScrollPane getLogsScrollPane() {
816 return logsScrollPane;
817 }
818
819 public JXTable getLogsTable() {
820 return logsTable;
821 }
822
823 public NumberEditor getMaxStepField() {
824 return maxStepField;
825 }
826
827 public JLabel getMaxStepLabel() {
828 return maxStepLabel;
829 }
830
831 public JMenuBar getMenu() {
832 return menu;
833 }
834
835 public JMenu getMenuAction() {
836 return menuAction;
837 }
838
839 public JMenu getMenuExportMultiPost() {
840 return menuExportMultiPost;
841 }
842
843 public JMenu getMenuImportMultiPost() {
844 return menuImportMultiPost;
845 }
846
847 public NumberEditor getMinStepField() {
848 return minStepField;
849 }
850
851 public JLabel getMinStepLabel() {
852 return minStepLabel;
853 }
854
855 public JAXXButtonGroup getMode() {
856 return mode;
857 }
858
859 public CardLayout2Ext getModeConfigurationLayout() {
860 return modeConfigurationLayout;
861 }
862
863 public JPanel getModeConfigurationPanel() {
864 return modeConfigurationPanel;
865 }
866
867 public VBox getModePanel() {
868 return modePanel;
869 }
870
871 public SpeciesFrequencyUIModel getModel() {
872 return model;
873 }
874
875 public CaracteristicMapEditorUI getObsCaracteristicCaracteristicMapEditor() {
876 return obsCaracteristicCaracteristicMapEditor;
877 }
878
879 public JXTitledPanel getObsCaracteristicMapEditorReminderLabel() {
880 return obsCaracteristicMapEditorReminderLabel;
881 }
882
883 public JPanel getObsPanel() {
884 return obsPanel;
885 }
886
887 public CardLayout2Ext getObsPanelLayout() {
888 return obsPanelLayout;
889 }
890
891 public JXTable getObsTable() {
892 return obsTable;
893 }
894
895 public JPopupMenu getObsTablePopup() {
896 return obsTablePopup;
897 }
898
899 public JXTitledPanel getObsTableTitlePanel() {
900 return obsTableTitlePanel;
901 }
902
903 public JRadioButton getRafaleModeButton() {
904 return rafaleModeButton;
905 }
906
907 public Table getRafaleModePanel() {
908 return rafaleModePanel;
909 }
910
911 public NumberEditor getRafaleStepField() {
912 return rafaleStepField;
913 }
914
915 public JLabel getRafaleStepLabel() {
916 return rafaleStepLabel;
917 }
918
919 public JButton getResetButton() {
920 return resetButton;
921 }
922
923 public JLabel getSamplingResumeLabel() {
924 return samplingResumeLabel;
925 }
926
927 public JLabel getSamplingWarningLabel() {
928 return samplingWarningLabel;
929 }
930
931 public SaveAndCloseSpeciesFrequencyAction getSaveAndCloseAction() {
932 return saveAndCloseAction;
933 }
934
935 public JButton getSaveAndCloseButton() {
936 return saveAndCloseButton;
937 }
938
939 public SaveAndContinueSpeciesFrequencyAction getSaveAndContinueAction() {
940 return saveAndContinueAction;
941 }
942
943 public JButton getSaveAndContinueButton() {
944 return saveAndContinueButton;
945 }
946
947 public SaveAndStaySpeciesFrequencyAction getSaveAndStayAction() {
948 return saveAndStayAction;
949 }
950
951 public JButton getSaveAndStayButton() {
952 return saveAndStayButton;
953 }
954
955 public SearchSpeciesInPrevOrNextCatchesAction getSearchSpeciesInNextCatchesAction() {
956 return searchSpeciesInNextCatchesAction;
957 }
958
959 public JMenuItem getSearchSpeciesInNextCatchesButton() {
960 return searchSpeciesInNextCatchesButton;
961 }
962
963 public SearchSpeciesInPrevOrNextCatchesAction getSearchSpeciesInPrevCatchesAction() {
964 return searchSpeciesInPrevCatchesAction;
965 }
966
967 public JMenuItem getSearchSpeciesInPrevCatchesButton() {
968 return searchSpeciesInPrevCatchesButton;
969 }
970
971 public JSplitPane getSecondSplitPane() {
972 return secondSplitPane;
973 }
974
975 public JRadioButton getSimpleCountingModeButton() {
976 return simpleCountingModeButton;
977 }
978
979 public NumberEditor getSimpleCountingNumberField() {
980 return simpleCountingNumberField;
981 }
982
983 public JLabel getSimpleCountingNumberLabel() {
984 return simpleCountingNumberLabel;
985 }
986
987 public Table getSimpleCountingNumberPanel() {
988 return simpleCountingNumberPanel;
989 }
990
991 public NumberEditor getSimpleCountingWeightField() {
992 return simpleCountingWeightField;
993 }
994
995 public JLabel getSimpleCountingWeightLabel() {
996 return simpleCountingWeightLabel;
997 }
998
999 public JToolBar getSpeciesFrequencyTabToolBar() {
1000 return speciesFrequencyTabToolBar;
1001 }
1002
1003 public NumberEditor getStepField() {
1004 return stepField;
1005 }
1006
1007 public JLabel getStepLabel() {
1008 return stepLabel;
1009 }
1010
1011 public JXTable getTable() {
1012 return table;
1013 }
1014
1015 public JScrollPane getTableScrollPane() {
1016 return tableScrollPane;
1017 }
1018
1019 public JTextField getTotalNumberField() {
1020 return totalNumberField;
1021 }
1022
1023 public JLabel getTotalNumberLabel() {
1024 return totalNumberLabel;
1025 }
1026
1027 public ComputableDataEditor<Float> getTotalWeightField() {
1028 return totalWeightField;
1029 }
1030
1031 public JLabel getTotalWeightLabel() {
1032 return totalWeightLabel;
1033 }
1034
1035 public SwingValidator<SpeciesFrequencyUIModel> getValidator() {
1036 return validator;
1037 }
1038
1039
1040
1041
1042
1043 @Override
1044 public void registerHelpId(TuttiHelpBroker broker, Component component, String helpId) {
1045 broker.installUI(component, helpId);
1046 }
1047
1048 @Override
1049 public void showHelp(String helpId) {
1050 getBroker().showHelp(this, helpId);
1051 }
1052
1053
1054
1055
1056
1057 protected JPanel get$JPanel0() {
1058 return $JPanel0;
1059 }
1060
1061 protected JScrollPane get$JScrollPane0() {
1062 return $JScrollPane0;
1063 }
1064
1065 protected JSeparator get$JSeparator0() {
1066 return $JSeparator0;
1067 }
1068
1069
1070
1071
1072
1073 protected void addChildrenToActionPanel() {
1074 if (!allComponentsCreated) {
1075 return;
1076 }
1077 actionPanel.add(cancelButton);
1078 actionPanel.add(resetButton);
1079 actionPanel.add(saveAndStayButton);
1080 actionPanel.add(saveAndContinueButton);
1081 actionPanel.add(saveAndCloseButton);
1082 }
1083
1084 protected void addChildrenToAutoGenModeButton() {
1085 if (!allComponentsCreated) {
1086 return;
1087 }
1088 { ButtonGroup $buttonGroup = frequenciesMode; autoGenModeButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(autoGenModeButton); }
1089 }
1090
1091 protected void addChildrenToAutoGenModePanel() {
1092 if (!allComponentsCreated) {
1093 return;
1094 }
1095 autoGenModePanel.add(minStepLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1096 autoGenModePanel.add(minStepField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1097 autoGenModePanel.add(maxStepLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1098 autoGenModePanel.add(maxStepField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1099 autoGenModePanel.add($JPanel0, new GridBagConstraints(0, 2, 2, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1100 }
1101
1102 protected void addChildrenToConfigurationPanel() {
1103 if (!allComponentsCreated) {
1104 return;
1105 }
1106 configurationPanel.add(frequencyModePanel, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1107 configurationPanel.add(lengthStepCaracteristicPanel, new GridBagConstraints(2, 0, 1, 2, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1108 configurationPanel.add(histogramPanel, new GridBagConstraints(3, 0, 1, 4, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1109 configurationPanel.add(modePanel, new GridBagConstraints(0, 1, 1, 3, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1110 configurationPanel.add(modeConfigurationPanel, new GridBagConstraints(1, 1, 1, 3, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1111 configurationPanel.add(samplingWarningLabel, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1112 configurationPanel.add(samplingResumeLabel, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1113 configurationPanel.add($JSeparator0, new GridBagConstraints(0, 4, 4, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1114 configurationPanel.add(dataFieldPanel, new GridBagConstraints(0, 5, 4, 1, 1.0, 1.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1115 }
1116
1117 protected void addChildrenToCopyAllButton() {
1118 if (!allComponentsCreated) {
1119 return;
1120 }
1121 { ButtonGroup $buttonGroup = copyToSizeTableMode; copyAllButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(copyAllButton); }
1122 }
1123
1124 protected void addChildrenToCopyNothingButton() {
1125 if (!allComponentsCreated) {
1126 return;
1127 }
1128 { ButtonGroup $buttonGroup = copyToSizeTableMode; copyNothingButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(copyNothingButton); }
1129 }
1130
1131 protected void addChildrenToCopySizesButton() {
1132 if (!allComponentsCreated) {
1133 return;
1134 }
1135 { ButtonGroup $buttonGroup = copyToSizeTableMode; copySizesButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(copySizesButton); }
1136 }
1137
1138 protected void addChildrenToCopyToSizeToolBar() {
1139 if (!allComponentsCreated) {
1140 return;
1141 }
1142 copyToSizeToolBar.add(copyToSizeTableLabel);
1143 copyToSizeToolBar.add(copyAllButton);
1144 copyToSizeToolBar.add(copyNothingButton);
1145 copyToSizeToolBar.add(copySizesButton);
1146 }
1147
1148 protected void addChildrenToDataFieldPanel() {
1149 if (!allComponentsCreated) {
1150 return;
1151 }
1152 dataFieldPanel.add(firstSplitPane, "lengthCaracteristicPmfm");
1153 dataFieldPanel.add(simpleCountingNumberPanel, "noLengthCaracteristicPmfm");
1154 }
1155
1156 protected void addChildrenToDataInFrequenciesWarningContainer() {
1157 if (!allComponentsCreated) {
1158 return;
1159 }
1160 dataInFrequenciesWarningContainer.add(dataInFrequenciesWarning, BorderLayout.CENTER);
1161 }
1162
1163 protected void addChildrenToEditSpeciesFrequenciesTopPanel() {
1164 if (!allComponentsCreated) {
1165 return;
1166 }
1167 add(speciesFrequencyTabToolBar);
1168 add(frequenciesToolBar);
1169 add(copyToSizeToolBar);
1170 add(configurationPanel, BorderLayout.CENTER);
1171 add(actionPanel, BorderLayout.SOUTH);
1172 }
1173
1174 protected void addChildrenToFirstSplitPane() {
1175 if (!allComponentsCreated) {
1176 return;
1177 }
1178 firstSplitPane.add(frequenciesTitlePanel, JSplitPane.LEFT);
1179 firstSplitPane.add(SwingUtil.boxComponentWithJxLayer(obsPanel), JSplitPane.RIGHT);
1180 }
1181
1182 protected void addChildrenToFrequenciesPanel() {
1183 if (!allComponentsCreated) {
1184 return;
1185 }
1186 frequenciesPanel.add(lengthstepSettingsBlock, BorderLayout.NORTH);
1187 frequenciesPanel.add(secondSplitPane, BorderLayout.CENTER);
1188 }
1189
1190 protected void addChildrenToFrequenciesTitlePanel() {
1191 if (!allComponentsCreated) {
1192 return;
1193 }
1194 frequenciesTitlePanel.add(frequenciesPanel);
1195 }
1196
1197 protected void addChildrenToFrequenciesToolBar() {
1198 if (!allComponentsCreated) {
1199 return;
1200 }
1201 frequenciesToolBar.add(copyRtpWeightsCheckBox);
1202 frequenciesToolBar.add(graphAverageWeightButton);
1203 }
1204
1205 protected void addChildrenToFrequencyModeButton() {
1206 if (!allComponentsCreated) {
1207 return;
1208 }
1209 { ButtonGroup $buttonGroup = mode; frequencyModeButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(frequencyModeButton); }
1210 }
1211
1212 protected void addChildrenToFrequencyModePanel() {
1213 if (!allComponentsCreated) {
1214 return;
1215 }
1216 frequencyModePanel.add(simpleCountingModeButton);
1217 frequencyModePanel.add(frequencyModeButton);
1218 }
1219
1220 protected void addChildrenToLengthStepCaracteristicPanel() {
1221 if (!allComponentsCreated) {
1222 return;
1223 }
1224 lengthStepCaracteristicPanel.add(lengthStepCaracteristicLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1225 lengthStepCaracteristicPanel.add(SwingUtil.boxComponentWithJxLayer(lengthStepCaracteristicComboBox), new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1226 lengthStepCaracteristicPanel.add(addLengthStepCaracteristicButton, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1227 lengthStepCaracteristicPanel.add(stepLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1228 lengthStepCaracteristicPanel.add(SwingUtil.boxComponentWithJxLayer(stepField), new GridBagConstraints(1, 1, 2, 1, 1.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
1229 }
1230
1231 protected void addChildrenToLengthstepSettingsBlock() {
1232 if (!allComponentsCreated) {
1233 return;
1234 }
1235 lengthstepSettingsBlock.add(totalNumberLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 13, 1, new Insets(3, 3, 3, 3), 0, 0));
1236 lengthstepSettingsBlock.add(totalNumberField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1237 lengthstepSettingsBlock.add(totalWeightLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1238 lengthstepSettingsBlock.add(SwingUtil.boxComponentWithJxLayer(totalWeightField), new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1239 }
1240
1241 protected void addChildrenToLogsScrollPane() {
1242 if (!allComponentsCreated) {
1243 return;
1244 }
1245 logsScrollPane.getViewport().add(logsTable);
1246 }
1247
1248 protected void addChildrenToMenu() {
1249 if (!allComponentsCreated) {
1250 return;
1251 }
1252 menu.add(menuAction);
1253 }
1254
1255 protected void addChildrenToMenuAction() {
1256 if (!allComponentsCreated) {
1257 return;
1258 }
1259 menuAction.add(searchSpeciesInPrevCatchesButton);
1260 menuAction.add(searchSpeciesInNextCatchesButton);
1261 menuAction.add(menuImportMultiPost);
1262 menuAction.add(menuExportMultiPost);
1263 }
1264
1265 protected void addChildrenToMenuExportMultiPost() {
1266 if (!allComponentsCreated) {
1267 return;
1268 }
1269 menuExportMultiPost.add(exportMultiPostFullButton);
1270 menuExportMultiPost.add(exportMultiPostOnlyFrequenciesButton);
1271 menuExportMultiPost.add(exportMultiPostOnlyIndividualObservationsButton);
1272 }
1273
1274 protected void addChildrenToMenuImportMultiPost() {
1275 if (!allComponentsCreated) {
1276 return;
1277 }
1278 menuImportMultiPost.add(importMultiPostFullButton);
1279 menuImportMultiPost.add(importMultiPostOnlyFrequenciesButton);
1280 menuImportMultiPost.add(importMultiPostOnlyIndividualObservationsButton);
1281 }
1282
1283 protected void addChildrenToModeConfigurationPanel() {
1284 if (!allComponentsCreated) {
1285 return;
1286 }
1287 modeConfigurationPanel.add(autoGenModePanel, "autoGenMode");
1288 modeConfigurationPanel.add(rafaleModePanel, "rafaleMode");
1289 }
1290
1291 protected void addChildrenToModePanel() {
1292 if (!allComponentsCreated) {
1293 return;
1294 }
1295 modePanel.add(autoGenModeButton);
1296 modePanel.add(rafaleModeButton);
1297 }
1298
1299 protected void addChildrenToObsCaracteristicMapEditorReminderLabel() {
1300 if (!allComponentsCreated) {
1301 return;
1302 }
1303 obsCaracteristicMapEditorReminderLabel.add(obsCaracteristicCaracteristicMapEditor);
1304 }
1305
1306 protected void addChildrenToObsPanel() {
1307 if (!allComponentsCreated) {
1308 return;
1309 }
1310 obsPanel.add(obsTableTitlePanel, SpeciesFrequencyUIHandler.OBS_TABLE_CARD);
1311 obsPanel.add(obsCaracteristicMapEditorReminderLabel, SpeciesFrequencyUIHandler.EDIT_CARACTERISTICS_CARD);
1312 }
1313
1314 protected void addChildrenToObsTablePopup() {
1315 if (!allComponentsCreated) {
1316 return;
1317 }
1318 obsTablePopup.add(deleteObsRowsMenu);
1319 obsTablePopup.add(editSampleCodeMenu);
1320 obsTablePopup.add(deleteSampleCodeMenu);
1321 }
1322
1323 protected void addChildrenToObsTableTitlePanel() {
1324 if (!allComponentsCreated) {
1325 return;
1326 }
1327 obsTableTitlePanel.add($JScrollPane0);
1328 }
1329
1330 protected void addChildrenToRafaleModeButton() {
1331 if (!allComponentsCreated) {
1332 return;
1333 }
1334 { ButtonGroup $buttonGroup = frequenciesMode; rafaleModeButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(rafaleModeButton); }
1335 }
1336
1337 protected void addChildrenToRafaleModePanel() {
1338 if (!allComponentsCreated) {
1339 return;
1340 }
1341 rafaleModePanel.add(rafaleStepLabel, new GridBagConstraints(0, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1342 rafaleModePanel.add(rafaleStepField, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1343 rafaleModePanel.add(addIndividualObservationCheckBox, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
1344 }
1345
1346 protected void addChildrenToSecondSplitPane() {
1347 if (!allComponentsCreated) {
1348 return;
1349 }
1350 secondSplitPane.add(logsScrollPane, JSplitPane.LEFT);
1351 secondSplitPane.add(SwingUtil.boxComponentWithJxLayer(tableScrollPane), JSplitPane.RIGHT);
1352 }
1353
1354 protected void addChildrenToSimpleCountingModeButton() {
1355 if (!allComponentsCreated) {
1356 return;
1357 }
1358 { ButtonGroup $buttonGroup = mode; simpleCountingModeButton.putClientProperty("$buttonGroup", $buttonGroup); $buttonGroup.add(simpleCountingModeButton); }
1359 }
1360
1361 protected void addChildrenToSimpleCountingNumberPanel() {
1362 if (!allComponentsCreated) {
1363 return;
1364 }
1365 simpleCountingNumberPanel.add(dataInFrequenciesWarningContainer, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, 10, 2, new Insets(3, 3, 3, 3), 0, 0));
1366 simpleCountingNumberPanel.add(simpleCountingNumberLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 2, new Insets(3, 3, 3, 3), 0, 0));
1367 simpleCountingNumberPanel.add(simpleCountingNumberField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, 10, 2, new Insets(3, 3, 3, 3), 0, 0));
1368 simpleCountingNumberPanel.add(simpleCountingWeightLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 2, new Insets(3, 3, 3, 3), 0, 0));
1369 simpleCountingNumberPanel.add(simpleCountingWeightField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, 10, 2, new Insets(3, 3, 3, 3), 0, 0));
1370 }
1371
1372 protected void addChildrenToSpeciesFrequencyTabToolBar() {
1373 if (!allComponentsCreated) {
1374 return;
1375 }
1376 speciesFrequencyTabToolBar.add(menu);
1377 }
1378
1379 protected void addChildrenToTableScrollPane() {
1380 if (!allComponentsCreated) {
1381 return;
1382 }
1383 tableScrollPane.getViewport().add(table);
1384 }
1385
1386 protected void addChildrenToValidator() {
1387 if (!allComponentsCreated) {
1388 return;
1389 }
1390 validator.setUiClass(ImageValidationUI.class);
1391 validator.setBean(model);
1392 }
1393
1394 protected void createActionPanel() {
1395 $objectMap.put("actionPanel", actionPanel = new JPanel());
1396
1397 actionPanel.setName("actionPanel");
1398 actionPanel.setLayout(new GridLayout(1, 0));
1399 SwingUtil.setComponentHeight(actionPanel,50);
1400 }
1401
1402 protected void createAddIndividualObservationCheckBox() {
1403 $objectMap.put("addIndividualObservationCheckBox", addIndividualObservationCheckBox = new JCheckBox());
1404
1405 addIndividualObservationCheckBox.setName("addIndividualObservationCheckBox");
1406 addIndividualObservationCheckBox.setText(t("tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale"));
1407 addIndividualObservationCheckBox.setToolTipText(t("tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.tip"));
1408 addIndividualObservationCheckBox.addItemListener(JAXXUtil.getEventListener(ItemListener.class, "itemStateChanged", this, "doItemStateChanged__on__addIndividualObservationCheckBox"));
1409 addIndividualObservationCheckBox.putClientProperty("help", "tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.help");
1410 }
1411
1412 protected void createAddLengthStepCaracteristicAction() {
1413 $objectMap.put("addLengthStepCaracteristicAction", addLengthStepCaracteristicAction = new AddSpeciesFrequencyLengthStepCaracteristicAction(this));
1414 }
1415
1416 protected void createAddLengthStepCaracteristicButton() {
1417 $objectMap.put("addLengthStepCaracteristicButton", addLengthStepCaracteristicButton = new JButton());
1418
1419 addLengthStepCaracteristicButton.setName("addLengthStepCaracteristicButton");
1420 addLengthStepCaracteristicButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.help");
1421 }
1422
1423 protected void createAutoGenModeButton() {
1424 $objectMap.put("autoGenModeButton", autoGenModeButton = new JRadioButton());
1425
1426 autoGenModeButton.setName("autoGenModeButton");
1427 autoGenModeButton.setText(t("tutti.editSpeciesFrequencies.field.frequencyMode.autoGen"));
1428 { autoGenModeButton.putClientProperty("$value", "autoGenMode"); Object $buttonGroup = autoGenModeButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
1429
1430 autoGenModeButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.tip"));
1431 autoGenModeButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__autoGenModeButton"));
1432 autoGenModeButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.help");
1433 }
1434
1435 protected void createAutoGenModePanel() {
1436 $objectMap.put("autoGenModePanel", autoGenModePanel = new Table());
1437
1438 autoGenModePanel.setName("autoGenModePanel");
1439 }
1440
1441 protected void createBroker() {
1442 $objectMap.put("broker", broker = new TuttiHelpBroker("tutti.editSpeciesFrequencies.help"));
1443 }
1444
1445 protected void createCancelButton() {
1446 $objectMap.put("cancelButton", cancelButton = new JButton());
1447
1448 cancelButton.setName("cancelButton");
1449 cancelButton.setText(t("tutti.editSpeciesFrequencies.action.cancel"));
1450 cancelButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.cancel.tip"));
1451 cancelButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.cancel.help");
1452 cancelButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.CancelEditSpeciesFrequencyAction.class);
1453 }
1454
1455 protected void createConfigurationPanel() {
1456 $objectMap.put("configurationPanel", configurationPanel = new Table());
1457
1458 configurationPanel.setName("configurationPanel");
1459 }
1460
1461 protected void createCopyAllButton() {
1462 $objectMap.put("copyAllButton", copyAllButton = new JRadioButton());
1463
1464 copyAllButton.setName("copyAllButton");
1465 copyAllButton.setText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all"));
1466 { copyAllButton.putClientProperty("$value", "all"); Object $buttonGroup = copyAllButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
1467
1468 copyAllButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.tip"));
1469 copyAllButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__copyAllButton"));
1470 copyAllButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.help");
1471 }
1472
1473 protected void createCopyNothingButton() {
1474 $objectMap.put("copyNothingButton", copyNothingButton = new JRadioButton());
1475
1476 copyNothingButton.setName("copyNothingButton");
1477 copyNothingButton.setText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing"));
1478 { copyNothingButton.putClientProperty("$value", "nothing"); Object $buttonGroup = copyNothingButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
1479
1480 copyNothingButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.tip"));
1481 copyNothingButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__copyNothingButton"));
1482 copyNothingButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.help");
1483 }
1484
1485 protected void createCopyRtpWeightsCheckBox() {
1486 $objectMap.put("copyRtpWeightsCheckBox", copyRtpWeightsCheckBox = new JCheckBox());
1487
1488 copyRtpWeightsCheckBox.setName("copyRtpWeightsCheckBox");
1489 copyRtpWeightsCheckBox.setText(t("tutti.editSpeciesFrequencies.field.copyRtpWeights"));
1490 copyRtpWeightsCheckBox.setToolTipText(t("tutti.editSpeciesFrequencies.field.copyRtpWeights.tip"));
1491 copyRtpWeightsCheckBox.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__copyRtpWeightsCheckBox"));
1492 copyRtpWeightsCheckBox.putClientProperty("help", "tutti.editSpeciesFrequencies.field.copyRtpWeights.help");
1493 }
1494
1495 protected void createCopySizesButton() {
1496 $objectMap.put("copySizesButton", copySizesButton = new JRadioButton());
1497
1498 copySizesButton.setName("copySizesButton");
1499 copySizesButton.setText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size"));
1500 { copySizesButton.putClientProperty("$value", "size"); Object $buttonGroup = copySizesButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
1501
1502 copySizesButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.tip"));
1503 copySizesButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__copySizesButton"));
1504 copySizesButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.help");
1505 }
1506
1507 protected void createCopyToSizeTableLabel() {
1508 $objectMap.put("copyToSizeTableLabel", copyToSizeTableLabel = new JLabel());
1509
1510 copyToSizeTableLabel.setName("copyToSizeTableLabel");
1511 if (copyToSizeTableLabel.getFont() != null) {
1512 copyToSizeTableLabel.setFont(copyToSizeTableLabel.getFont().deriveFont(copyToSizeTableLabel.getFont().getStyle() | Font.BOLD));
1513 }
1514 copyToSizeTableLabel.setText(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.label"));
1515 }
1516
1517 protected void createCopyToSizeTableMode() {
1518 $objectMap.put("copyToSizeTableMode", copyToSizeTableMode = new JAXXButtonGroup());
1519 }
1520
1521 protected void createCopyToSizeToolBar() {
1522 $objectMap.put("copyToSizeToolBar", copyToSizeToolBar = new JToolBar());
1523
1524 copyToSizeToolBar.setName("copyToSizeToolBar");
1525 copyToSizeToolBar.setBorderPainted(false);
1526 copyToSizeToolBar.setOpaque(false);
1527 copyToSizeToolBar.setFloatable(false);
1528 }
1529
1530 protected void createDataFieldLayout() {
1531 $objectMap.put("dataFieldLayout", dataFieldLayout = new CardLayout2Ext(this, "dataFieldPanel"));
1532 }
1533
1534 protected void createDataFieldPanel() {
1535 $objectMap.put("dataFieldPanel", dataFieldPanel = new JPanel());
1536
1537 dataFieldPanel.setName("dataFieldPanel");
1538 dataFieldPanel.setLayout(dataFieldLayout);
1539 }
1540
1541 protected void createDataInFrequenciesWarning() {
1542 $objectMap.put("dataInFrequenciesWarning", dataInFrequenciesWarning = new JLabel());
1543
1544 dataInFrequenciesWarning.setName("dataInFrequenciesWarning");
1545 dataInFrequenciesWarning.setText(t("tutti.editSpeciesFrequencies.simpleCountingAndFrequencies"));
1546 }
1547
1548 protected void createDataInFrequenciesWarningContainer() {
1549 $objectMap.put("dataInFrequenciesWarningContainer", dataInFrequenciesWarningContainer = new JPanel());
1550
1551 dataInFrequenciesWarningContainer.setName("dataInFrequenciesWarningContainer");
1552 dataInFrequenciesWarningContainer.setLayout(new BorderLayout(10, 10));
1553 }
1554
1555 protected void createDeleteObsRowsMenu() {
1556 $objectMap.put("deleteObsRowsMenu", deleteObsRowsMenu = new JMenuItem());
1557
1558 deleteObsRowsMenu.setName("deleteObsRowsMenu");
1559 deleteObsRowsMenu.setText(t("tutti.editSpeciesFrequencies.action.removeObservation"));
1560 deleteObsRowsMenu.setToolTipText(t("tutti.editSpeciesFrequencies.action.removeObservation.tip"));
1561 deleteObsRowsMenu.putClientProperty("help", "tutti.editSpeciesFrequencies.action.removeObservation.help");
1562 deleteObsRowsMenu.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.RemoveObservationAction.class);
1563 }
1564
1565 protected void createDeleteSampleCodeMenu() {
1566 $objectMap.put("deleteSampleCodeMenu", deleteSampleCodeMenu = new JMenuItem());
1567
1568 deleteSampleCodeMenu.setName("deleteSampleCodeMenu");
1569 deleteSampleCodeMenu.setText(t("tutti.editSpeciesFrequencies.action.deleteSampleCode"));
1570 deleteSampleCodeMenu.setToolTipText(t("tutti.editSpeciesFrequencies.action.deleteSampleCode.tip"));
1571 deleteSampleCodeMenu.putClientProperty("help", "tutti.editSpeciesFrequencies.action.deleteSampleCode.help");
1572 deleteSampleCodeMenu.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.DeleteSampleCodeAction.class);
1573 }
1574
1575 protected void createEditSampleCodeMenu() {
1576 $objectMap.put("editSampleCodeMenu", editSampleCodeMenu = new JMenuItem());
1577
1578 editSampleCodeMenu.setName("editSampleCodeMenu");
1579 editSampleCodeMenu.setText(t("tutti.editSpeciesFrequencies.action.editSampleCode"));
1580 editSampleCodeMenu.setToolTipText(t("tutti.editSpeciesFrequencies.action.editSampleCode.tip"));
1581 editSampleCodeMenu.putClientProperty("help", "tutti.editSpeciesFrequencies.action.editSampleCode.help");
1582 editSampleCodeMenu.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.EditSampleCodeAction.class);
1583 }
1584
1585 protected void createExportMultiPostFullButton() {
1586 $objectMap.put("exportMultiPostFullButton", exportMultiPostFullButton = new JMenuItem());
1587
1588 exportMultiPostFullButton.setName("exportMultiPostFullButton");
1589 exportMultiPostFullButton.setText(t("tutti.editSpeciesFrequencies.action.exportMultiPostFull"));
1590 exportMultiPostFullButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.exportMultiPostFull.tip"));
1591 exportMultiPostFullButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.exportMultiPostFull.help");
1592 exportMultiPostFullButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ExportMultiPostSpeciesFullAction.class);
1593 }
1594
1595 protected void createExportMultiPostOnlyFrequenciesButton() {
1596 $objectMap.put("exportMultiPostOnlyFrequenciesButton", exportMultiPostOnlyFrequenciesButton = new JMenuItem());
1597
1598 exportMultiPostOnlyFrequenciesButton.setName("exportMultiPostOnlyFrequenciesButton");
1599 exportMultiPostOnlyFrequenciesButton.setText(t("tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies"));
1600 exportMultiPostOnlyFrequenciesButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.tip"));
1601 exportMultiPostOnlyFrequenciesButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.help");
1602 exportMultiPostOnlyFrequenciesButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ExportMultiPostSpeciesOnlyFrequenciesAction.class);
1603 }
1604
1605 protected void createExportMultiPostOnlyIndividualObservationsButton() {
1606 $objectMap.put("exportMultiPostOnlyIndividualObservationsButton", exportMultiPostOnlyIndividualObservationsButton = new JMenuItem());
1607
1608 exportMultiPostOnlyIndividualObservationsButton.setName("exportMultiPostOnlyIndividualObservationsButton");
1609 exportMultiPostOnlyIndividualObservationsButton.setText(t("tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations"));
1610 exportMultiPostOnlyIndividualObservationsButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.tip"));
1611 exportMultiPostOnlyIndividualObservationsButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.help");
1612 exportMultiPostOnlyIndividualObservationsButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ExportMultiPostSpeciesOnlyIndividualObservationsAction.class);
1613 }
1614
1615 protected void createFirstSplitPane() {
1616 $objectMap.put("firstSplitPane", firstSplitPane = new JSplitPane());
1617
1618 firstSplitPane.setName("firstSplitPane");
1619 firstSplitPane.setOneTouchExpandable(true);
1620 firstSplitPane.setResizeWeight(0.6);
1621 }
1622
1623 protected void createFrequenciesMode() {
1624 $objectMap.put("frequenciesMode", frequenciesMode = new JAXXButtonGroup());
1625 }
1626
1627 protected void createFrequenciesPanel() {
1628 $objectMap.put("frequenciesPanel", frequenciesPanel = new JPanel());
1629
1630 frequenciesPanel.setName("frequenciesPanel");
1631 frequenciesPanel.setLayout(new BorderLayout());
1632 }
1633
1634 protected void createFrequenciesTitlePanel() {
1635 $objectMap.put("frequenciesTitlePanel", frequenciesTitlePanel = new JXTitledPanel());
1636
1637 frequenciesTitlePanel.setName("frequenciesTitlePanel");
1638 frequenciesTitlePanel.setTitle(t("tutti.editSpeciesFrequencies.frequenciesPanel"));
1639 }
1640
1641 protected void createFrequenciesToolBar() {
1642 $objectMap.put("frequenciesToolBar", frequenciesToolBar = new JToolBar());
1643
1644 frequenciesToolBar.setName("frequenciesToolBar");
1645 frequenciesToolBar.setBorderPainted(false);
1646 frequenciesToolBar.setOpaque(false);
1647 frequenciesToolBar.setFloatable(false);
1648 }
1649
1650 protected void createFrequencyModeButton() {
1651 $objectMap.put("frequencyModeButton", frequencyModeButton = new JRadioButton());
1652
1653 frequencyModeButton.setName("frequencyModeButton");
1654 frequencyModeButton.setText(t("tutti.editSpeciesFrequencies.field.mode.frequencyMode"));
1655 { frequencyModeButton.putClientProperty("$value", "frequenciesMode"); Object $buttonGroup = frequencyModeButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
1656
1657 frequencyModeButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.mode.frequencyMode.tip"));
1658 frequencyModeButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__frequencyModeButton"));
1659 frequencyModeButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.mode.frequencyMode.help");
1660 }
1661
1662 protected void createFrequencyModePanel() {
1663 $objectMap.put("frequencyModePanel", frequencyModePanel = new HBox());
1664
1665 frequencyModePanel.setName("frequencyModePanel");
1666 }
1667
1668 protected void createGenerateButton() {
1669 $objectMap.put("generateButton", generateButton = new JButton());
1670
1671 generateButton.setName("generateButton");
1672 generateButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.generate.help");
1673 }
1674
1675 protected void createGenerateLengthStepsAction() {
1676 $objectMap.put("generateLengthStepsAction", generateLengthStepsAction = new GenerateSpeciesFrequencyLengthStepsAction(this));
1677 }
1678
1679 protected void createGraphAverageWeightButton() {
1680 $objectMap.put("graphAverageWeightButton", graphAverageWeightButton = new JButton());
1681
1682 graphAverageWeightButton.setName("graphAverageWeightButton");
1683 graphAverageWeightButton.setText(t("tutti.editSpeciesFrequencies.field.graphAverageWeight"));
1684 graphAverageWeightButton.putClientProperty("skipAction", true);
1685 }
1686
1687 protected SpeciesFrequencyUIHandler createHandler() {
1688 return new SpeciesFrequencyUIHandler();
1689 }
1690
1691 protected void createHistogramPanel() {
1692 $objectMap.put("histogramPanel", histogramPanel = new JPanel());
1693
1694 histogramPanel.setName("histogramPanel");
1695 histogramPanel.setLayout(new BorderLayout());
1696 }
1697
1698 protected void createImportMultiPostFullButton() {
1699 $objectMap.put("importMultiPostFullButton", importMultiPostFullButton = new JMenuItem());
1700
1701 importMultiPostFullButton.setName("importMultiPostFullButton");
1702 importMultiPostFullButton.setText(t("tutti.editSpeciesFrequencies.action.importMultiPostFull"));
1703 importMultiPostFullButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.importMultiPostFull.tip"));
1704 importMultiPostFullButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.importMultiPostFull.help");
1705 importMultiPostFullButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ImportMultiPostSpeciesFullAction.class);
1706 }
1707
1708 protected void createImportMultiPostOnlyFrequenciesButton() {
1709 $objectMap.put("importMultiPostOnlyFrequenciesButton", importMultiPostOnlyFrequenciesButton = new JMenuItem());
1710
1711 importMultiPostOnlyFrequenciesButton.setName("importMultiPostOnlyFrequenciesButton");
1712 importMultiPostOnlyFrequenciesButton.setText(t("tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies"));
1713 importMultiPostOnlyFrequenciesButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.tip"));
1714 importMultiPostOnlyFrequenciesButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.help");
1715 importMultiPostOnlyFrequenciesButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ImportMultiPostSpeciesOnlyFrequenciesAction.class);
1716 }
1717
1718 protected void createImportMultiPostOnlyIndividualObservationsButton() {
1719 $objectMap.put("importMultiPostOnlyIndividualObservationsButton", importMultiPostOnlyIndividualObservationsButton = new JMenuItem());
1720
1721 importMultiPostOnlyIndividualObservationsButton.setName("importMultiPostOnlyIndividualObservationsButton");
1722 importMultiPostOnlyIndividualObservationsButton.setText(t("tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations"));
1723 importMultiPostOnlyIndividualObservationsButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.tip"));
1724 importMultiPostOnlyIndividualObservationsButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.help");
1725 importMultiPostOnlyIndividualObservationsButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ImportMultiPostSpeciesOnlyIndividualObservationsAction.class);
1726 }
1727
1728 protected void createLengthStepCaracteristicComboBox() {
1729 $objectMap.put("lengthStepCaracteristicComboBox", lengthStepCaracteristicComboBox = new WideDataBeanFilterableComboBox<Caracteristic>(this));
1730
1731 lengthStepCaracteristicComboBox.setName("lengthStepCaracteristicComboBox");
1732 lengthStepCaracteristicComboBox.setProperty("lengthStepCaracteristic");
1733 lengthStepCaracteristicComboBox.setShowReset(true);
1734 lengthStepCaracteristicComboBox.putClientProperty("help", "tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help");
1735 lengthStepCaracteristicComboBox.putClientProperty("validatorLabel", t("tutti.editSpeciesFrequencies.field.lengthStepCaracteristic"));
1736 }
1737
1738 protected void createLengthStepCaracteristicLabel() {
1739 $objectMap.put("lengthStepCaracteristicLabel", lengthStepCaracteristicLabel = new JLabel());
1740
1741 lengthStepCaracteristicLabel.setName("lengthStepCaracteristicLabel");
1742 lengthStepCaracteristicLabel.setText(t("tutti.editSpeciesFrequencies.field.lengthStepCaracteristic"));
1743 lengthStepCaracteristicLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.tip"));
1744 lengthStepCaracteristicLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help");
1745 }
1746
1747 protected void createLengthStepCaracteristicPanel() {
1748 $objectMap.put("lengthStepCaracteristicPanel", lengthStepCaracteristicPanel = new Table());
1749
1750 lengthStepCaracteristicPanel.setName("lengthStepCaracteristicPanel");
1751 }
1752
1753 protected void createLengthstepSettingsBlock() {
1754 $objectMap.put("lengthstepSettingsBlock", lengthstepSettingsBlock = new Table());
1755
1756 lengthstepSettingsBlock.setName("lengthstepSettingsBlock");
1757 }
1758
1759 protected void createLogsScrollPane() {
1760 $objectMap.put("logsScrollPane", logsScrollPane = new JScrollPane());
1761
1762 logsScrollPane.setName("logsScrollPane");
1763 }
1764
1765 protected void createLogsTable() {
1766 $objectMap.put("logsTable", logsTable = new JXTable());
1767
1768 logsTable.setName("logsTable");
1769 logsTable.setSortable(false);
1770 }
1771
1772 protected void createMaxStepField() {
1773 $objectMap.put("maxStepField", maxStepField = new NumberEditor(this));
1774
1775 maxStepField.setName("maxStepField");
1776 maxStepField.setProperty("maxStep");
1777 maxStepField.setShowReset(true);
1778 maxStepField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.maxStep.help");
1779 maxStepField.putClientProperty("selectOnFocus", true);
1780 }
1781
1782 protected void createMaxStepLabel() {
1783 $objectMap.put("maxStepLabel", maxStepLabel = new JLabel());
1784
1785 maxStepLabel.setName("maxStepLabel");
1786 maxStepLabel.setText(t("tutti.editSpeciesFrequencies.field.maxStep"));
1787 maxStepLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.maxStep.tip"));
1788 maxStepLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.maxStep.help");
1789 }
1790
1791 protected void createMenu() {
1792 $objectMap.put("menu", menu = new JMenuBar());
1793
1794 menu.setName("menu");
1795 }
1796
1797 protected void createMenuAction() {
1798 $objectMap.put("menuAction", menuAction = new JMenu());
1799
1800 menuAction.setName("menuAction");
1801 menuAction.setOpaque(true);
1802 menuAction.setText(t("tutti.toolbar.menu.action"));
1803 menuAction.setToolTipText(t("tutti.toolbar.menu.action.tip"));
1804 }
1805
1806 protected void createMenuExportMultiPost() {
1807 $objectMap.put("menuExportMultiPost", menuExportMultiPost = new JMenu());
1808
1809 menuExportMultiPost.setName("menuExportMultiPost");
1810 menuExportMultiPost.setOpaque(true);
1811 menuExportMultiPost.setText(t("tutti.toolbar.menuExportMultiPost.action"));
1812 menuExportMultiPost.setToolTipText(t("tutti.toolbar.menuExportMultiPost.action.tip"));
1813 }
1814
1815 protected void createMenuImportMultiPost() {
1816 $objectMap.put("menuImportMultiPost", menuImportMultiPost = new JMenu());
1817
1818 menuImportMultiPost.setName("menuImportMultiPost");
1819 menuImportMultiPost.setOpaque(true);
1820 menuImportMultiPost.setText(t("tutti.toolbar.menuImportMultiPost.action"));
1821 menuImportMultiPost.setToolTipText(t("tutti.toolbar.menuImportMultiPost.action.tip"));
1822 }
1823
1824 protected void createMinStepField() {
1825 $objectMap.put("minStepField", minStepField = new NumberEditor(this));
1826
1827 minStepField.setName("minStepField");
1828 minStepField.setProperty("minStep");
1829 minStepField.setShowReset(true);
1830 minStepField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.minStep.help");
1831 minStepField.putClientProperty("selectOnFocus", true);
1832 }
1833
1834 protected void createMinStepLabel() {
1835 $objectMap.put("minStepLabel", minStepLabel = new JLabel());
1836
1837 minStepLabel.setName("minStepLabel");
1838 minStepLabel.setText(t("tutti.editSpeciesFrequencies.field.minStep"));
1839 minStepLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.minStep.tip"));
1840 minStepLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.minStep.help");
1841 }
1842
1843 protected void createMode() {
1844 $objectMap.put("mode", mode = new JAXXButtonGroup());
1845 }
1846
1847 protected void createModeConfigurationLayout() {
1848 $objectMap.put("modeConfigurationLayout", modeConfigurationLayout = new CardLayout2Ext(this, "modeConfigurationPanel"));
1849 }
1850
1851 protected void createModeConfigurationPanel() {
1852 $objectMap.put("modeConfigurationPanel", modeConfigurationPanel = new JPanel());
1853
1854 modeConfigurationPanel.setName("modeConfigurationPanel");
1855 modeConfigurationPanel.setLayout(modeConfigurationLayout);
1856 }
1857
1858 protected void createModePanel() {
1859 $objectMap.put("modePanel", modePanel = new VBox());
1860
1861 modePanel.setName("modePanel");
1862 }
1863
1864 protected void createModel() {
1865 $objectMap.put("model", model = getContextValue(SpeciesFrequencyUIModel.class));
1866 }
1867
1868 protected void createObsCaracteristicCaracteristicMapEditor() {
1869 $objectMap.put("obsCaracteristicCaracteristicMapEditor", obsCaracteristicCaracteristicMapEditor = new CaracteristicMapEditorUI(this));
1870
1871 obsCaracteristicCaracteristicMapEditor.setName("obsCaracteristicCaracteristicMapEditor");
1872 }
1873
1874 protected void createObsCaracteristicMapEditorReminderLabel() {
1875 $objectMap.put("obsCaracteristicMapEditorReminderLabel", obsCaracteristicMapEditorReminderLabel = new JXTitledPanel());
1876
1877 obsCaracteristicMapEditorReminderLabel.setName("obsCaracteristicMapEditorReminderLabel");
1878 }
1879
1880 protected void createObsPanel() {
1881 $objectMap.put("obsPanel", obsPanel = new JPanel());
1882
1883 obsPanel.setName("obsPanel");
1884 obsPanel.setLayout(obsPanelLayout);
1885 }
1886
1887 protected void createObsPanelLayout() {
1888 $objectMap.put("obsPanelLayout", obsPanelLayout = new CardLayout2Ext(this, "obsPanel"));
1889 }
1890
1891 protected void createObsTable() {
1892 $objectMap.put("obsTable", obsTable = new JXTable());
1893
1894 obsTable.setName("obsTable");
1895 obsTable.setSortable(false);
1896 obsTable.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyPressed", this, "doKeyPressed__on__obsTable"));
1897 obsTable.addMouseListener(JAXXUtil.getEventListener(MouseListener.class, "mouseClicked", this, "doMouseClicked__on__obsTable"));
1898 }
1899
1900 protected void createObsTablePopup() {
1901 $objectMap.put("obsTablePopup", obsTablePopup = new JPopupMenu());
1902
1903 obsTablePopup.setName("obsTablePopup");
1904 }
1905
1906 protected void createObsTableTitlePanel() {
1907 $objectMap.put("obsTableTitlePanel", obsTableTitlePanel = new JXTitledPanel());
1908
1909 obsTableTitlePanel.setName("obsTableTitlePanel");
1910 obsTableTitlePanel.setTitle(t("tutti.editSpeciesFrequencies.individualObservationsPanel"));
1911 }
1912
1913 protected void createRafaleModeButton() {
1914 $objectMap.put("rafaleModeButton", rafaleModeButton = new JRadioButton());
1915
1916 rafaleModeButton.setName("rafaleModeButton");
1917 rafaleModeButton.setText(t("tutti.editSpeciesFrequencies.field.frequencyMode.rafale"));
1918 { rafaleModeButton.putClientProperty("$value", "rafaleMode"); Object $buttonGroup = rafaleModeButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
1919
1920 rafaleModeButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.frequencyMode.rafale.tip"));
1921 rafaleModeButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__rafaleModeButton"));
1922 rafaleModeButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.mode.rafale.help");
1923 }
1924
1925 protected void createRafaleModePanel() {
1926 $objectMap.put("rafaleModePanel", rafaleModePanel = new Table());
1927
1928 rafaleModePanel.setName("rafaleModePanel");
1929 }
1930
1931 protected void createRafaleStepField() {
1932 $objectMap.put("rafaleStepField", rafaleStepField = new NumberEditor(this));
1933
1934 rafaleStepField.setName("rafaleStepField");
1935 rafaleStepField.setShowReset(true);
1936 rafaleStepField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.rafaleStep.help");
1937 rafaleStepField.putClientProperty("selectOnFocus", true);
1938 }
1939
1940 protected void createRafaleStepLabel() {
1941 $objectMap.put("rafaleStepLabel", rafaleStepLabel = new JLabel());
1942
1943 rafaleStepLabel.setName("rafaleStepLabel");
1944 rafaleStepLabel.setText(t("tutti.editSpeciesFrequencies.field.rafaleStep"));
1945 rafaleStepLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.rafaleStep.tip"));
1946 rafaleStepLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.rafaleStep.help");
1947 }
1948
1949 protected void createResetButton() {
1950 $objectMap.put("resetButton", resetButton = new JButton());
1951
1952 resetButton.setName("resetButton");
1953 resetButton.setText(t("tutti.editSpeciesFrequencies.action.reset"));
1954 resetButton.setToolTipText(t("tutti.editSpeciesFrequencies.action.reset.tip"));
1955 resetButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.reset.help");
1956 resetButton.putClientProperty("applicationAction", fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.actions.ResetSpeciesFrequencyAction.class);
1957 }
1958
1959 protected void createSamplingResumeLabel() {
1960 $objectMap.put("samplingResumeLabel", samplingResumeLabel = new JLabel());
1961
1962 samplingResumeLabel.setName("samplingResumeLabel");
1963 if (samplingResumeLabel.getFont() != null) {
1964 samplingResumeLabel.setFont(samplingResumeLabel.getFont().deriveFont((float) 15));
1965 }
1966 }
1967
1968 protected void createSamplingWarningLabel() {
1969 $objectMap.put("samplingWarningLabel", samplingWarningLabel = new JLabel());
1970
1971 samplingWarningLabel.setName("samplingWarningLabel");
1972 samplingWarningLabel.setOpaque(true);
1973 if (samplingWarningLabel.getFont() != null) {
1974 samplingWarningLabel.setFont(samplingWarningLabel.getFont().deriveFont((float) 16));
1975 }
1976 }
1977
1978 protected void createSaveAndCloseAction() {
1979 $objectMap.put("saveAndCloseAction", saveAndCloseAction = new SaveAndCloseSpeciesFrequencyAction(this));
1980 }
1981
1982 protected void createSaveAndCloseButton() {
1983 $objectMap.put("saveAndCloseButton", saveAndCloseButton = new JButton());
1984
1985 saveAndCloseButton.setName("saveAndCloseButton");
1986 saveAndCloseButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.saveAndClose.help");
1987 }
1988
1989 protected void createSaveAndContinueAction() {
1990 $objectMap.put("saveAndContinueAction", saveAndContinueAction = new SaveAndContinueSpeciesFrequencyAction(this));
1991 }
1992
1993 protected void createSaveAndContinueButton() {
1994 $objectMap.put("saveAndContinueButton", saveAndContinueButton = new JButton());
1995
1996 saveAndContinueButton.setName("saveAndContinueButton");
1997 saveAndContinueButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.saveAndContinue.help");
1998 }
1999
2000 protected void createSaveAndStayAction() {
2001 $objectMap.put("saveAndStayAction", saveAndStayAction = new SaveAndStaySpeciesFrequencyAction(this));
2002 }
2003
2004 protected void createSaveAndStayButton() {
2005 $objectMap.put("saveAndStayButton", saveAndStayButton = new JButton());
2006
2007 saveAndStayButton.setName("saveAndStayButton");
2008 saveAndStayButton.putClientProperty("help", "tutti.editSpeciesFrequencies.action.saveAndStay.help");
2009 }
2010
2011 protected void createSearchSpeciesInNextCatchesAction() {
2012 $objectMap.put("searchSpeciesInNextCatchesAction", searchSpeciesInNextCatchesAction = new SearchSpeciesInPrevOrNextCatchesAction(this, false));
2013 }
2014
2015 protected void createSearchSpeciesInNextCatchesButton() {
2016 $objectMap.put("searchSpeciesInNextCatchesButton", searchSpeciesInNextCatchesButton = new JMenuItem());
2017
2018 searchSpeciesInNextCatchesButton.setName("searchSpeciesInNextCatchesButton");
2019 }
2020
2021 protected void createSearchSpeciesInPrevCatchesAction() {
2022 $objectMap.put("searchSpeciesInPrevCatchesAction", searchSpeciesInPrevCatchesAction = new SearchSpeciesInPrevOrNextCatchesAction(this, true));
2023 }
2024
2025 protected void createSearchSpeciesInPrevCatchesButton() {
2026 $objectMap.put("searchSpeciesInPrevCatchesButton", searchSpeciesInPrevCatchesButton = new JMenuItem());
2027
2028 searchSpeciesInPrevCatchesButton.setName("searchSpeciesInPrevCatchesButton");
2029 }
2030
2031 protected void createSecondSplitPane() {
2032 $objectMap.put("secondSplitPane", secondSplitPane = new JSplitPane());
2033
2034 secondSplitPane.setName("secondSplitPane");
2035 secondSplitPane.setOneTouchExpandable(true);
2036 secondSplitPane.setResizeWeight(0.1);
2037 }
2038
2039 protected void createSimpleCountingModeButton() {
2040 $objectMap.put("simpleCountingModeButton", simpleCountingModeButton = new JRadioButton());
2041
2042 simpleCountingModeButton.setName("simpleCountingModeButton");
2043 simpleCountingModeButton.setText(t("tutti.editSpeciesFrequencies.field.mode.simpleCounting"));
2044 { simpleCountingModeButton.putClientProperty("$value", "simpleCountingMode"); Object $buttonGroup = simpleCountingModeButton.getClientProperty("$buttonGroup"); if ($buttonGroup instanceof JAXXButtonGroup) { ((JAXXButtonGroup) $buttonGroup).updateSelectedValue(); } }
2045
2046 simpleCountingModeButton.setToolTipText(t("tutti.editSpeciesFrequencies.field.mode.simpleCounting.tip"));
2047 simpleCountingModeButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__simpleCountingModeButton"));
2048 simpleCountingModeButton.putClientProperty("help", "tutti.editSpeciesFrequencies.field.mode.simpleCounting.help");
2049 }
2050
2051 protected void createSimpleCountingNumberField() {
2052 $objectMap.put("simpleCountingNumberField", simpleCountingNumberField = new NumberEditor(this));
2053
2054 simpleCountingNumberField.setName("simpleCountingNumberField");
2055 simpleCountingNumberField.setProperty("simpleCount");
2056 simpleCountingNumberField.setShowReset(true);
2057 simpleCountingNumberField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.simpleCountingNumber.help");
2058 simpleCountingNumberField.putClientProperty("selectOnFocus", true);
2059 }
2060
2061 protected void createSimpleCountingNumberLabel() {
2062 $objectMap.put("simpleCountingNumberLabel", simpleCountingNumberLabel = new JLabel());
2063
2064 simpleCountingNumberLabel.setName("simpleCountingNumberLabel");
2065 simpleCountingNumberLabel.setText(t("tutti.editSpeciesFrequencies.field.simpleCountingNumber"));
2066 simpleCountingNumberLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.simpleCountingNumber.tip"));
2067 simpleCountingNumberLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.simpleCountingNumber.help");
2068 }
2069
2070 protected void createSimpleCountingNumberPanel() {
2071 $objectMap.put("simpleCountingNumberPanel", simpleCountingNumberPanel = new Table());
2072
2073 simpleCountingNumberPanel.setName("simpleCountingNumberPanel");
2074 }
2075
2076 protected void createSimpleCountingWeightField() {
2077 $objectMap.put("simpleCountingWeightField", simpleCountingWeightField = new NumberEditor(this));
2078
2079 simpleCountingWeightField.setName("simpleCountingWeightField");
2080 simpleCountingWeightField.setProperty("data");
2081 simpleCountingWeightField.setShowReset(true);
2082 simpleCountingWeightField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.simpleCountingWeight.help");
2083 simpleCountingWeightField.putClientProperty("selectOnFocus", true);
2084 }
2085
2086 protected void createSimpleCountingWeightLabel() {
2087 $objectMap.put("simpleCountingWeightLabel", simpleCountingWeightLabel = new JLabel());
2088
2089 simpleCountingWeightLabel.setName("simpleCountingWeightLabel");
2090 simpleCountingWeightLabel.setText(t("tutti.editSpeciesFrequencies.field.simpleCountingWeight"));
2091 simpleCountingWeightLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.simpleCountingWeight.tip"));
2092 simpleCountingWeightLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.simpleCountingWeight.help");
2093 simpleCountingWeightLabel.putClientProperty("addWeightUnit", handler.getConfig().getSpeciesWeightUnit());
2094 }
2095
2096 protected void createSpeciesFrequencyTabToolBar() {
2097 $objectMap.put("speciesFrequencyTabToolBar", speciesFrequencyTabToolBar = new JToolBar());
2098
2099 speciesFrequencyTabToolBar.setName("speciesFrequencyTabToolBar");
2100 speciesFrequencyTabToolBar.setBorderPainted(false);
2101 speciesFrequencyTabToolBar.setOpaque(true);
2102 speciesFrequencyTabToolBar.setFloatable(false);
2103 }
2104
2105 protected void createStepField() {
2106 $objectMap.put("stepField", stepField = new NumberEditor(this));
2107
2108 stepField.setName("stepField");
2109 stepField.setProperty("step");
2110 stepField.setShowReset(true);
2111 stepField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.step.help");
2112 stepField.putClientProperty("selectOnFocus", true);
2113 stepField.putClientProperty("validatorLabel", t("tutti.editSpeciesFrequencies.field.step"));
2114 }
2115
2116 protected void createStepLabel() {
2117 $objectMap.put("stepLabel", stepLabel = new JLabel());
2118
2119 stepLabel.setName("stepLabel");
2120 stepLabel.setText(t("tutti.editSpeciesFrequencies.field.step"));
2121 stepLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.step.tip"));
2122 stepLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.step.help");
2123 }
2124
2125 protected void createTable() {
2126 $objectMap.put("table", table = new JXTable());
2127
2128 table.setName("table");
2129 table.setSortable(false);
2130 }
2131
2132 protected void createTableScrollPane() {
2133 $objectMap.put("tableScrollPane", tableScrollPane = new JScrollPane());
2134
2135 tableScrollPane.setName("tableScrollPane");
2136 tableScrollPane.putClientProperty("validatorLabel", t("tutti.editSpeciesFrequencies.field.rows"));
2137 }
2138
2139 protected void createTotalNumberField() {
2140 $objectMap.put("totalNumberField", totalNumberField = new JTextField());
2141
2142 totalNumberField.setName("totalNumberField");
2143 totalNumberField.setColumns(15);
2144 totalNumberField.setEnabled(false);
2145 totalNumberField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.totalNumber.help");
2146 totalNumberField.putClientProperty("computed", true);
2147 }
2148
2149 protected void createTotalNumberLabel() {
2150 $objectMap.put("totalNumberLabel", totalNumberLabel = new JLabel());
2151
2152 totalNumberLabel.setName("totalNumberLabel");
2153 totalNumberLabel.setText(t("tutti.editSpeciesFrequencies.field.totalNumber"));
2154 totalNumberLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.totalNumber.tip"));
2155 totalNumberLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.totalNumber.help");
2156 }
2157
2158 protected void createTotalWeightField() {
2159 $objectMap.put("totalWeightField", totalWeightField = new ComputableDataEditor<Float>(this));
2160
2161 totalWeightField.setName("totalWeightField");
2162 totalWeightField.setShowReset(true);
2163 totalWeightField.putClientProperty("help", "tutti.editSpeciesFrequencies.field.totalWeight.help");
2164 totalWeightField.putClientProperty("selectOnFocus", true);
2165 totalWeightField.putClientProperty("validatorLabel", t("tutti.editSpeciesFrequencies.field.totalWeight"));
2166 }
2167
2168 protected void createTotalWeightLabel() {
2169 $objectMap.put("totalWeightLabel", totalWeightLabel = new JLabel());
2170
2171 totalWeightLabel.setName("totalWeightLabel");
2172 totalWeightLabel.setText(t("tutti.editSpeciesFrequencies.field.totalWeight"));
2173 totalWeightLabel.setToolTipText(t("tutti.editSpeciesFrequencies.field.totalWeight.tip"));
2174 totalWeightLabel.putClientProperty("help", "tutti.editSpeciesFrequencies.field.totalWeight.help");
2175 totalWeightLabel.putClientProperty("addWeightUnit", model.getWeightUnit());
2176 }
2177
2178 protected void createValidator() {
2179 $objectMap.put("validator", validator = SwingValidator.newValidator(SpeciesFrequencyUIModel.class, null));
2180 }
2181
2182
2183
2184
2185
2186 private void $completeSetup() {
2187 allComponentsCreated = true;
2188 if (log.isDebugEnabled()) {
2189 log.debug(this);
2190 }
2191 addChildrenToEditSpeciesFrequenciesTopPanel();
2192 addChildrenToValidator();
2193 addChildrenToSpeciesFrequencyTabToolBar();
2194 addChildrenToMenu();
2195 addChildrenToMenuAction();
2196 addChildrenToMenuImportMultiPost();
2197 addChildrenToMenuExportMultiPost();
2198 addChildrenToFrequenciesToolBar();
2199 addChildrenToCopyToSizeToolBar();
2200 addChildrenToCopyAllButton();
2201 addChildrenToCopyNothingButton();
2202 addChildrenToCopySizesButton();
2203 addChildrenToObsTablePopup();
2204 addChildrenToConfigurationPanel();
2205 addChildrenToFrequencyModePanel();
2206 addChildrenToSimpleCountingModeButton();
2207 addChildrenToFrequencyModeButton();
2208 addChildrenToLengthStepCaracteristicPanel();
2209 addChildrenToModePanel();
2210 addChildrenToAutoGenModeButton();
2211 addChildrenToRafaleModeButton();
2212 addChildrenToModeConfigurationPanel();
2213 addChildrenToAutoGenModePanel();
2214
2215 $JPanel0.add(generateButton);
2216 addChildrenToRafaleModePanel();
2217 addChildrenToDataFieldPanel();
2218 addChildrenToFirstSplitPane();
2219 addChildrenToFrequenciesTitlePanel();
2220 addChildrenToFrequenciesPanel();
2221 addChildrenToLengthstepSettingsBlock();
2222 addChildrenToSecondSplitPane();
2223 addChildrenToLogsScrollPane();
2224 addChildrenToTableScrollPane();
2225 addChildrenToObsPanel();
2226 addChildrenToObsTableTitlePanel();
2227
2228 $JScrollPane0.getViewport().add(obsTable);
2229 addChildrenToObsCaracteristicMapEditorReminderLabel();
2230 addChildrenToSimpleCountingNumberPanel();
2231 addChildrenToDataInFrequenciesWarningContainer();
2232 addChildrenToActionPanel();
2233
2234
2235 JAXXUtil.applyDataBinding(this, $bindings.keySet());
2236
2237
2238 frequencyModePanel.setHorizontalAlignment(SwingConstants.LEFT);
2239 frequencyModePanel.setVerticalAlignment(SwingConstants.CENTER);
2240 lengthStepCaracteristicComboBox.setBeanType(Caracteristic.class);
2241 modePanel.setVerticalAlignment(SwingConstants.CENTER);
2242 menu.setBorder(null);
2243 menu.setBackground(javax.swing.UIManager.getColor("MenuBar.background"));
2244 menuAction.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.toolbar.menu.action.mnemonic"),'Z'));
2245 searchSpeciesInPrevCatchesButton.setAction(searchSpeciesInPrevCatchesAction);
2246 searchSpeciesInNextCatchesButton.setAction(searchSpeciesInNextCatchesAction);
2247 menuImportMultiPost.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.toolbar.menuImportMultiPost.action.mnemonic"),'Z'));
2248 menuImportMultiPost.setIcon(SwingUtil.createActionIcon("import"));
2249 importMultiPostFullButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.importMultiPostFull.mnemonic"),'Z'));
2250 importMultiPostFullButton.setIcon(SwingUtil.createActionIcon("import"));
2251 importMultiPostOnlyFrequenciesButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.mnemonic"),'Z'));
2252 importMultiPostOnlyFrequenciesButton.setIcon(SwingUtil.createActionIcon("import"));
2253 importMultiPostOnlyIndividualObservationsButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.mnemonic"),'Z'));
2254 importMultiPostOnlyIndividualObservationsButton.setIcon(SwingUtil.createActionIcon("import"));
2255 menuExportMultiPost.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.toolbar.menuExportMultiPost.action.mnemonic"),'Z'));
2256 menuExportMultiPost.setIcon(SwingUtil.createActionIcon("export"));
2257 exportMultiPostFullButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.exportMultiPostFull.mnemonic"),'Z'));
2258 exportMultiPostFullButton.setIcon(SwingUtil.createActionIcon("export"));
2259 exportMultiPostOnlyFrequenciesButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.mnemonic"),'Z'));
2260 exportMultiPostOnlyFrequenciesButton.setIcon(SwingUtil.createActionIcon("export"));
2261 exportMultiPostOnlyIndividualObservationsButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.mnemonic"),'Z'));
2262 exportMultiPostOnlyIndividualObservationsButton.setIcon(SwingUtil.createActionIcon("export"));
2263 graphAverageWeightButton.setIcon(SwingUtil.createActionIcon("chart"));
2264 copyAllButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.mnemonic"),'Z'));
2265 copyNothingButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.mnemonic"),'Z'));
2266 copySizesButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.mnemonic"),'Z'));
2267 deleteObsRowsMenu.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.removeObservation.mnemonic"),'Z'));
2268 deleteObsRowsMenu.setIcon(SwingUtil.createActionIcon("delete2"));
2269 editSampleCodeMenu.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.editSampleCode.mnemonic"),'Z'));
2270 editSampleCodeMenu.setIcon(SwingUtil.createActionIcon("edit"));
2271 deleteSampleCodeMenu.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.deleteSampleCode.mnemonic"),'Z'));
2272 deleteSampleCodeMenu.setIcon(SwingUtil.createActionIcon("delete"));
2273 frequencyModePanel.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10));
2274 simpleCountingModeButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.mode.simpleCounting.mnemonic"),'Z'));
2275 frequencyModeButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.mode.frequencyMode.mnemonic"),'Z'));
2276 lengthStepCaracteristicPanel.setBorder( BorderFactory.createTitledBorder(null, null) );
2277 lengthStepCaracteristicLabel.setLabelFor(lengthStepCaracteristicComboBox);
2278 lengthStepCaracteristicComboBox.setBean(model);
2279 addLengthStepCaracteristicButton.setAction(addLengthStepCaracteristicAction);
2280 stepLabel.setLabelFor(stepField);
2281 stepField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2282 stepField.setNumberType(Float.class);
2283 stepField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2284 stepField.setBean(model);
2285 autoGenModeButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.mnemonic"),'Z'));
2286 rafaleModeButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.field.frequencyMode.rafale.mnemonic"),'Z'));
2287 modeConfigurationPanel.setBorder( BorderFactory.createTitledBorder(null, null) );
2288 minStepLabel.setLabelFor(minStepField);
2289 minStepField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2290 minStepField.setNumberType(Float.class);
2291 minStepField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2292 minStepField.setBean(model);
2293 maxStepLabel.setLabelFor(maxStepField);
2294 maxStepField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2295 maxStepField.setNumberType(Float.class);
2296 maxStepField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2297 maxStepField.setBean(model);
2298 generateButton.setAction(generateLengthStepsAction);
2299 rafaleStepLabel.setLabelFor(rafaleStepField);
2300 rafaleStepField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2301 rafaleStepField.setNumberType(Float.class);
2302 rafaleStepField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2303 rafaleStepField.setBean(model);
2304 samplingWarningLabel.setBorder(BorderFactory.createEmptyBorder(3, 10, 5, 10));
2305 samplingWarningLabel.setHorizontalAlignment(SwingConstants.CENTER);
2306 samplingResumeLabel.setBorder(BorderFactory.createEmptyBorder(3, 10, 5, 10));
2307 samplingResumeLabel.setHorizontalAlignment(SwingConstants.CENTER);
2308 frequenciesTitlePanel.setRightDecoration(frequenciesToolBar);
2309 lengthstepSettingsBlock.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10));
2310 totalNumberLabel.setLabelFor(totalNumberField);
2311 totalWeightLabel.setLabelFor(totalWeightField);
2312 totalWeightField.setComputedDataColor(handler.getConfig().getColorComputedWeights());
2313 totalWeightField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2314 totalWeightField.setNumberType(Float.class);
2315 totalWeightField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2316 logsTable.setSelectionBackground(null);
2317 logsTable.setSelectionForeground(Color.BLACK);
2318 logsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
2319 table.setSelectionBackground(null);
2320 table.setSelectionForeground(Color.BLACK);
2321 table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
2322 obsTableTitlePanel.setRightDecoration(copyToSizeToolBar);
2323 obsTable.setSelectionBackground(null);
2324 obsTable.setSelectionForeground(Color.BLACK);
2325 obsTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
2326 simpleCountingNumberPanel.setBorder( BorderFactory.createTitledBorder(null, null) );
2327 dataInFrequenciesWarningContainer.setBackground(new java.awt.Color(245, 218, 88));
2328 dataInFrequenciesWarning.setBorder(BorderFactory.createEmptyBorder(5, 10, 5, 10));
2329 dataInFrequenciesWarning.setIcon(SwingUtil.createActionIcon("warning"));
2330 simpleCountingNumberLabel.setLabelFor(simpleCountingNumberField);
2331 simpleCountingNumberField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2332 simpleCountingNumberField.setNumberType(Integer.class);
2333 simpleCountingNumberField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2334 simpleCountingNumberField.setBean(model);
2335 simpleCountingWeightLabel.setLabelFor(simpleCountingWeightField);
2336 simpleCountingWeightField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
2337 simpleCountingWeightField.setNumberType(Float.class);
2338 simpleCountingWeightField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
2339 cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.cancel.mnemonic"),'Z'));
2340 cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
2341 resetButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.editSpeciesFrequencies.action.reset.mnemonic"),'Z'));
2342 resetButton.setIcon(SwingUtil.createActionIcon("reset"));
2343 saveAndStayButton.setAction(saveAndStayAction);
2344 saveAndContinueButton.setAction(saveAndContinueAction);
2345 saveAndCloseButton.setAction(saveAndCloseAction);
2346
2347
2348 TuttiHelpBroker _broker = getBroker();
2349 registerHelpId(_broker, editSpeciesFrequenciesTopPanel, "tutti.editSpeciesFrequencies.help");
2350 registerHelpId(_broker, importMultiPostFullButton, "tutti.editSpeciesFrequencies.action.importMultiPostFull.help");
2351 registerHelpId(_broker, importMultiPostOnlyFrequenciesButton, "tutti.editSpeciesFrequencies.action.importMultiPostOnlyFrequencies.help");
2352 registerHelpId(_broker, importMultiPostOnlyIndividualObservationsButton, "tutti.editSpeciesFrequencies.action.importMultiPostOnlyIndividualObservations.help");
2353 registerHelpId(_broker, exportMultiPostFullButton, "tutti.editSpeciesFrequencies.action.exportMultiPostFull.help");
2354 registerHelpId(_broker, exportMultiPostOnlyFrequenciesButton, "tutti.editSpeciesFrequencies.action.exportMultiPostOnlyFrequencies.help");
2355 registerHelpId(_broker, exportMultiPostOnlyIndividualObservationsButton, "tutti.editSpeciesFrequencies.action.exportMultiPostOnlyIndividualObservations.help");
2356 registerHelpId(_broker, copyRtpWeightsCheckBox, "tutti.editSpeciesFrequencies.field.copyRtpWeights.help");
2357 registerHelpId(_broker, copyAllButton, "tutti.editSpeciesFrequencies.field.copyToSizeTableMode.all.help");
2358 registerHelpId(_broker, copyNothingButton, "tutti.editSpeciesFrequencies.field.copyToSizeTableMode.nothing.help");
2359 registerHelpId(_broker, copySizesButton, "tutti.editSpeciesFrequencies.field.copyToSizeTableMode.size.help");
2360 registerHelpId(_broker, deleteObsRowsMenu, "tutti.editSpeciesFrequencies.action.removeObservation.help");
2361 registerHelpId(_broker, editSampleCodeMenu, "tutti.editSpeciesFrequencies.action.editSampleCode.help");
2362 registerHelpId(_broker, deleteSampleCodeMenu, "tutti.editSpeciesFrequencies.action.deleteSampleCode.help");
2363 registerHelpId(_broker, simpleCountingModeButton, "tutti.editSpeciesFrequencies.field.mode.simpleCounting.help");
2364 registerHelpId(_broker, frequencyModeButton, "tutti.editSpeciesFrequencies.field.mode.frequencyMode.help");
2365 registerHelpId(_broker, lengthStepCaracteristicLabel, "tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help");
2366 registerHelpId(_broker, lengthStepCaracteristicComboBox, "tutti.editSpeciesFrequencies.field.lengthStepCaracteristic.help");
2367 registerHelpId(_broker, addLengthStepCaracteristicButton, "tutti.editSpeciesFrequencies.action.addLengthStepCaracteristic.help");
2368 registerHelpId(_broker, stepLabel, "tutti.editSpeciesFrequencies.field.step.help");
2369 registerHelpId(_broker, stepField, "tutti.editSpeciesFrequencies.field.step.help");
2370 registerHelpId(_broker, autoGenModeButton, "tutti.editSpeciesFrequencies.field.frequencyMode.autoGen.help");
2371 registerHelpId(_broker, rafaleModeButton, "tutti.editSpeciesFrequencies.field.mode.rafale.help");
2372 registerHelpId(_broker, minStepLabel, "tutti.editSpeciesFrequencies.field.minStep.help");
2373 registerHelpId(_broker, minStepField, "tutti.editSpeciesFrequencies.field.minStep.help");
2374 registerHelpId(_broker, maxStepLabel, "tutti.editSpeciesFrequencies.field.maxStep.help");
2375 registerHelpId(_broker, maxStepField, "tutti.editSpeciesFrequencies.field.maxStep.help");
2376 registerHelpId(_broker, generateButton, "tutti.editSpeciesFrequencies.action.generate.help");
2377 registerHelpId(_broker, rafaleStepLabel, "tutti.editSpeciesFrequencies.field.rafaleStep.help");
2378 registerHelpId(_broker, rafaleStepField, "tutti.editSpeciesFrequencies.field.rafaleStep.help");
2379 registerHelpId(_broker, addIndividualObservationCheckBox, "tutti.editSpeciesFrequencies.field.addIndividualObservationOnRafale.help");
2380 registerHelpId(_broker, totalNumberLabel, "tutti.editSpeciesFrequencies.field.totalNumber.help");
2381 registerHelpId(_broker, totalNumberField, "tutti.editSpeciesFrequencies.field.totalNumber.help");
2382 registerHelpId(_broker, totalWeightLabel, "tutti.editSpeciesFrequencies.field.totalWeight.help");
2383 registerHelpId(_broker, totalWeightField, "tutti.editSpeciesFrequencies.field.totalWeight.help");
2384 registerHelpId(_broker, simpleCountingNumberLabel, "tutti.editSpeciesFrequencies.field.simpleCountingNumber.help");
2385 registerHelpId(_broker, simpleCountingNumberField, "tutti.editSpeciesFrequencies.field.simpleCountingNumber.help");
2386 registerHelpId(_broker, simpleCountingWeightLabel, "tutti.editSpeciesFrequencies.field.simpleCountingWeight.help");
2387 registerHelpId(_broker, simpleCountingWeightField, "tutti.editSpeciesFrequencies.field.simpleCountingWeight.help");
2388 registerHelpId(_broker, cancelButton, "tutti.editSpeciesFrequencies.action.cancel.help");
2389 registerHelpId(_broker, resetButton, "tutti.editSpeciesFrequencies.action.reset.help");
2390 registerHelpId(_broker, saveAndStayButton, "tutti.editSpeciesFrequencies.action.saveAndStay.help");
2391 registerHelpId(_broker, saveAndContinueButton, "tutti.editSpeciesFrequencies.action.saveAndContinue.help");
2392 registerHelpId(_broker, saveAndCloseButton, "tutti.editSpeciesFrequencies.action.saveAndClose.help");
2393 _broker.prepareUI(this);
2394
2395 validatorIds = SwingValidatorUtil.detectValidators(this);
2396 SwingValidatorUtil.installUI(this);
2397 }
2398
2399 private void $initialize() {
2400 if (allComponentsCreated) {
2401 return;
2402 }
2403 if (log.isDebugEnabled()) {
2404 log.debug(this);
2405 }
2406 handler.beforeInit(this);
2407 $objectMap.put("editSpeciesFrequenciesTopPanel", editSpeciesFrequenciesTopPanel);
2408 createModel();
2409 createValidator();
2410 createBroker();
2411 createModeConfigurationLayout();
2412 createDataFieldLayout();
2413 createObsPanelLayout();
2414 createAddLengthStepCaracteristicAction();
2415 createGenerateLengthStepsAction();
2416 createSaveAndStayAction();
2417 createSaveAndCloseAction();
2418 createSaveAndContinueAction();
2419 createSearchSpeciesInPrevCatchesAction();
2420 createSearchSpeciesInNextCatchesAction();
2421 createSpeciesFrequencyTabToolBar();
2422 createMenu();
2423 createMenuAction();
2424 createSearchSpeciesInPrevCatchesButton();
2425 createSearchSpeciesInNextCatchesButton();
2426 createMenuImportMultiPost();
2427 createImportMultiPostFullButton();
2428 createImportMultiPostOnlyFrequenciesButton();
2429 createImportMultiPostOnlyIndividualObservationsButton();
2430 createMenuExportMultiPost();
2431 createExportMultiPostFullButton();
2432 createExportMultiPostOnlyFrequenciesButton();
2433 createExportMultiPostOnlyIndividualObservationsButton();
2434 createFrequenciesToolBar();
2435 createCopyRtpWeightsCheckBox();
2436 createGraphAverageWeightButton();
2437 createCopyToSizeToolBar();
2438 createCopyToSizeTableLabel();
2439 createCopyAllButton();
2440 createCopyNothingButton();
2441 createCopySizesButton();
2442 createObsTablePopup();
2443 createDeleteObsRowsMenu();
2444 createEditSampleCodeMenu();
2445 createDeleteSampleCodeMenu();
2446 createConfigurationPanel();
2447 createFrequencyModePanel();
2448 createSimpleCountingModeButton();
2449 createFrequencyModeButton();
2450 createLengthStepCaracteristicPanel();
2451 createLengthStepCaracteristicLabel();
2452 createLengthStepCaracteristicComboBox();
2453 createAddLengthStepCaracteristicButton();
2454 createStepLabel();
2455 createStepField();
2456 createHistogramPanel();
2457 createModePanel();
2458 createAutoGenModeButton();
2459 createRafaleModeButton();
2460 createModeConfigurationPanel();
2461 createAutoGenModePanel();
2462 createMinStepLabel();
2463 createMinStepField();
2464 createMaxStepLabel();
2465 createMaxStepField();
2466
2467 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
2468
2469 $JPanel0.setName("$JPanel0");
2470 $JPanel0.setLayout(new GridLayout(1, 0));
2471 createGenerateButton();
2472 createRafaleModePanel();
2473 createRafaleStepLabel();
2474 createRafaleStepField();
2475 createAddIndividualObservationCheckBox();
2476 createSamplingWarningLabel();
2477 createSamplingResumeLabel();
2478
2479 $objectMap.put("$JSeparator0", $JSeparator0 = new JSeparator());
2480
2481 $JSeparator0.setName("$JSeparator0");
2482 createDataFieldPanel();
2483 createFirstSplitPane();
2484 createFrequenciesTitlePanel();
2485 createFrequenciesPanel();
2486 createLengthstepSettingsBlock();
2487 createTotalNumberLabel();
2488 createTotalNumberField();
2489 createTotalWeightLabel();
2490 createTotalWeightField();
2491 createSecondSplitPane();
2492 createLogsScrollPane();
2493 createLogsTable();
2494 createTableScrollPane();
2495 createTable();
2496 createObsPanel();
2497 createObsTableTitlePanel();
2498
2499 $objectMap.put("$JScrollPane0", $JScrollPane0 = new JScrollPane());
2500
2501 $JScrollPane0.setName("$JScrollPane0");
2502 createObsTable();
2503 createObsCaracteristicMapEditorReminderLabel();
2504 createObsCaracteristicCaracteristicMapEditor();
2505 createSimpleCountingNumberPanel();
2506 createDataInFrequenciesWarningContainer();
2507 createDataInFrequenciesWarning();
2508 createSimpleCountingNumberLabel();
2509 createSimpleCountingNumberField();
2510 createSimpleCountingWeightLabel();
2511 createSimpleCountingWeightField();
2512 createActionPanel();
2513 createCancelButton();
2514 createResetButton();
2515 createSaveAndStayButton();
2516 createSaveAndContinueButton();
2517 createSaveAndCloseButton();
2518 createCopyToSizeTableMode();
2519 createMode();
2520 createFrequenciesMode();
2521
2522 setName("editSpeciesFrequenciesTopPanel");
2523 setLayout(new BorderLayout());
2524 editSpeciesFrequenciesTopPanel.addComponentListener(JAXXUtil.getEventListener(ComponentListener.class, "componentResized", this, "doComponentResized__on__editSpeciesFrequenciesTopPanel"));
2525 editSpeciesFrequenciesTopPanel.putClientProperty("help", "tutti.editSpeciesFrequencies.help");
2526
2527
2528 $registerDefaultBindings();
2529 $completeSetup();
2530 handler.afterInit(this);
2531 }
2532
2533 private void $registerDefaultBindings() {
2534
2535 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODE_CONFIGURATION_LAYOUT_SELECTED, true) {
2536
2537 @Override
2538 public void applyDataBinding() {
2539 if (frequenciesMode != null) {
2540 frequenciesMode.addPropertyChangeListener("selectedValue", this);
2541 }
2542 }
2543
2544 @Override
2545 public void processDataBinding() {
2546 if (frequenciesMode != null) {
2547 modeConfigurationLayout.setSelected(String.valueOf(frequenciesMode.getSelectedValue()));
2548 }
2549 }
2550
2551 @Override
2552 public void removeDataBinding() {
2553 if (frequenciesMode != null) {
2554 frequenciesMode.removePropertyChangeListener("selectedValue", this);
2555 }
2556 }
2557 });
2558 registerDataBinding(new DefaultJAXXBinding(this, BINDING_DATA_FIELD_LAYOUT_SELECTED, true) {
2559
2560 @Override
2561 public void applyDataBinding() {
2562 if (model != null) {
2563 model.addPropertyChangeListener("simpleCountingMode", this);
2564 }
2565 }
2566
2567 @Override
2568 public void processDataBinding() {
2569 if (model != null) {
2570 dataFieldLayout.setSelected(model.isSimpleCountingMode() ? "noLengthCaracteristicPmfm" : "lengthCaracteristicPmfm");
2571 }
2572 }
2573
2574 @Override
2575 public void removeDataBinding() {
2576 if (model != null) {
2577 model.removePropertyChangeListener("simpleCountingMode", this);
2578 }
2579 }
2580 });
2581 registerDataBinding(new DefaultJAXXBinding(this, BINDING_GENERATE_LENGTH_STEPS_ACTION_ENABLED, true) {
2582
2583 @Override
2584 public void applyDataBinding() {
2585 if (model != null) {
2586 model.addPropertyChangeListener("canGenerate", this);
2587 }
2588 }
2589
2590 @Override
2591 public void processDataBinding() {
2592 if (model != null) {
2593 generateLengthStepsAction.setEnabled(model.isCanGenerate());
2594 }
2595 }
2596
2597 @Override
2598 public void removeDataBinding() {
2599 if (model != null) {
2600 model.removePropertyChangeListener("canGenerate", this);
2601 }
2602 }
2603 });
2604 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAVE_AND_STAY_ACTION_ENABLED, true) {
2605
2606 @Override
2607 public void applyDataBinding() {
2608 if (model != null) {
2609 model.addPropertyChangeListener("valid", this);
2610 }
2611 }
2612
2613 @Override
2614 public void processDataBinding() {
2615 if (model != null) {
2616 saveAndStayAction.setEnabled(model.isValid());
2617 }
2618 }
2619
2620 @Override
2621 public void removeDataBinding() {
2622 if (model != null) {
2623 model.removePropertyChangeListener("valid", this);
2624 }
2625 }
2626 });
2627 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAVE_AND_CLOSE_ACTION_ENABLED, true) {
2628
2629 @Override
2630 public void applyDataBinding() {
2631 if (model != null) {
2632 model.addPropertyChangeListener("valid", this);
2633 }
2634 }
2635
2636 @Override
2637 public void processDataBinding() {
2638 if (model != null) {
2639 saveAndCloseAction.setEnabled(model.isValid());
2640 }
2641 }
2642
2643 @Override
2644 public void removeDataBinding() {
2645 if (model != null) {
2646 model.removePropertyChangeListener("valid", this);
2647 }
2648 }
2649 });
2650 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAVE_AND_CONTINUE_ACTION_ENABLED, true, true) {
2651
2652 @Override
2653 public void applyDataBinding() {
2654 if (model != null) {
2655 model.addPropertyChangeListener("nextEditableRowIndex", this);
2656 }
2657 if (model != null) {
2658 model.addPropertyChangeListener("valid", this);
2659 }
2660 }
2661
2662 @Override
2663 public void processDataBinding() {
2664 if (model != null) {
2665 saveAndContinueAction.setEnabled(model.getNextEditableRowIndex() != null && model.isValid());
2666 }
2667 }
2668
2669 @Override
2670 public void removeDataBinding() {
2671 if (model != null) {
2672 model.removePropertyChangeListener("nextEditableRowIndex", this);
2673 }
2674 if (model != null) {
2675 model.removePropertyChangeListener("valid", this);
2676 }
2677 }
2678 });
2679 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SEARCH_SPECIES_IN_PREV_CATCHES_BUTTON_ENABLED, true) {
2680
2681 @Override
2682 public void applyDataBinding() {
2683 if (getModel() != null) {
2684 getModel().addPropertyChangeListener("canGoPrevBatch", this);
2685 }
2686 }
2687
2688 @Override
2689 public void processDataBinding() {
2690 if (getModel() != null) {
2691 searchSpeciesInPrevCatchesButton.setEnabled(getModel().isCanGoPrevBatch());
2692 }
2693 }
2694
2695 @Override
2696 public void removeDataBinding() {
2697 if (getModel() != null) {
2698 getModel().removePropertyChangeListener("canGoPrevBatch", this);
2699 }
2700 }
2701 });
2702 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SEARCH_SPECIES_IN_NEXT_CATCHES_BUTTON_ENABLED, true) {
2703
2704 @Override
2705 public void applyDataBinding() {
2706 if (getModel() != null) {
2707 getModel().addPropertyChangeListener("canGoNextBatch", this);
2708 }
2709 }
2710
2711 @Override
2712 public void processDataBinding() {
2713 if (getModel() != null) {
2714 searchSpeciesInNextCatchesButton.setEnabled(getModel().isCanGoNextBatch());
2715 }
2716 }
2717
2718 @Override
2719 public void removeDataBinding() {
2720 if (getModel() != null) {
2721 getModel().removePropertyChangeListener("canGoNextBatch", this);
2722 }
2723 }
2724 });
2725 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MENU_IMPORT_MULTI_POST_ENABLED, true) {
2726
2727 @Override
2728 public void applyDataBinding() {
2729 if (getModel() != null) {
2730 getModel().addPropertyChangeListener("copyIndividualObservationNothing", this);
2731 }
2732 }
2733
2734 @Override
2735 public void processDataBinding() {
2736 if (getModel() != null) {
2737 menuImportMultiPost.setEnabled(getModel().isCopyIndividualObservationNothing());
2738 }
2739 }
2740
2741 @Override
2742 public void removeDataBinding() {
2743 if (getModel() != null) {
2744 getModel().removePropertyChangeListener("copyIndividualObservationNothing", this);
2745 }
2746 }
2747 });
2748 registerDataBinding(new DefaultJAXXBinding(this, BINDING_IMPORT_MULTI_POST_FULL_BUTTON_ENABLED, true) {
2749
2750 @Override
2751 public void applyDataBinding() {
2752 if (getModel() != null) {
2753 getModel().addPropertyChangeListener("copyIndividualObservationNothing", this);
2754 }
2755 }
2756
2757 @Override
2758 public void processDataBinding() {
2759 if (getModel() != null) {
2760 importMultiPostFullButton.setEnabled(getModel().isCopyIndividualObservationNothing());
2761 }
2762 }
2763
2764 @Override
2765 public void removeDataBinding() {
2766 if (getModel() != null) {
2767 getModel().removePropertyChangeListener("copyIndividualObservationNothing", this);
2768 }
2769 }
2770 });
2771 registerDataBinding(new DefaultJAXXBinding(this, BINDING_IMPORT_MULTI_POST_ONLY_FREQUENCIES_BUTTON_ENABLED, true) {
2772
2773 @Override
2774 public void applyDataBinding() {
2775 if (getModel() != null) {
2776 getModel().addPropertyChangeListener("copyIndividualObservationNothing", this);
2777 }
2778 }
2779
2780 @Override
2781 public void processDataBinding() {
2782 if (getModel() != null) {
2783 importMultiPostOnlyFrequenciesButton.setEnabled(getModel().isCopyIndividualObservationNothing());
2784 }
2785 }
2786
2787 @Override
2788 public void removeDataBinding() {
2789 if (getModel() != null) {
2790 getModel().removePropertyChangeListener("copyIndividualObservationNothing", this);
2791 }
2792 }
2793 });
2794 registerDataBinding(new DefaultJAXXBinding(this, BINDING_IMPORT_MULTI_POST_ONLY_INDIVIDUAL_OBSERVATIONS_BUTTON_ENABLED, true) {
2795
2796 @Override
2797 public void applyDataBinding() {
2798 if (getModel() != null) {
2799 getModel().addPropertyChangeListener("copyIndividualObservationNothing", this);
2800 }
2801 }
2802
2803 @Override
2804 public void processDataBinding() {
2805 if (getModel() != null) {
2806 importMultiPostOnlyIndividualObservationsButton.setEnabled(getModel().isCopyIndividualObservationNothing());
2807 }
2808 }
2809
2810 @Override
2811 public void removeDataBinding() {
2812 if (getModel() != null) {
2813 getModel().removePropertyChangeListener("copyIndividualObservationNothing", this);
2814 }
2815 }
2816 });
2817 registerDataBinding(new DefaultJAXXBinding(this, BINDING_COPY_RTP_WEIGHTS_CHECK_BOX_ENABLED, true, true) {
2818
2819 @Override
2820 public void applyDataBinding() {
2821 if (getModel() != null) {
2822 getModel().addPropertyChangeListener("rtp", this);
2823 }
2824 if (getModel() != null) {
2825 getModel().addPropertyChangeListener("copyIndividualObservationAll", this);
2826 }
2827 }
2828
2829 @Override
2830 public void processDataBinding() {
2831 if (getModel() != null) {
2832 copyRtpWeightsCheckBox.setEnabled( getModel().getRtp() != null && !getModel().isCopyIndividualObservationAll() );
2833 }
2834 }
2835
2836 @Override
2837 public void removeDataBinding() {
2838 if (getModel() != null) {
2839 getModel().removePropertyChangeListener("rtp", this);
2840 }
2841 if (getModel() != null) {
2842 getModel().removePropertyChangeListener("copyIndividualObservationAll", this);
2843 }
2844 }
2845 });
2846 registerDataBinding(new DefaultJAXXBinding(this, BINDING_COPY_RTP_WEIGHTS_CHECK_BOX_SELECTED, true, true) {
2847
2848 @Override
2849 public void applyDataBinding() {
2850 if (getModel() != null) {
2851 getModel().addPropertyChangeListener("copyIndividualObservationAll", this);
2852 }
2853 if (getModel() != null) {
2854 getModel().addPropertyChangeListener("copyRtpWeights", this);
2855 }
2856 }
2857
2858 @Override
2859 public void processDataBinding() {
2860 if (getModel() != null) {
2861 copyRtpWeightsCheckBox.setSelected( !getModel().isCopyIndividualObservationAll() && getModel().isCopyRtpWeights() );
2862 }
2863 }
2864
2865 @Override
2866 public void removeDataBinding() {
2867 if (getModel() != null) {
2868 getModel().removePropertyChangeListener("copyIndividualObservationAll", this);
2869 }
2870 if (getModel() != null) {
2871 getModel().removePropertyChangeListener("copyRtpWeights", this);
2872 }
2873 }
2874 });
2875 registerDataBinding(new DefaultJAXXBinding(this, BINDING_COPY_ALL_BUTTON_SELECTED, true) {
2876
2877 @Override
2878 public void applyDataBinding() {
2879 if (model != null) {
2880 model.addPropertyChangeListener("copyIndividualObservationAll", this);
2881 }
2882 }
2883
2884 @Override
2885 public void processDataBinding() {
2886 if (model != null) {
2887 copyAllButton.setSelected(model.isCopyIndividualObservationAll());
2888 }
2889 }
2890
2891 @Override
2892 public void removeDataBinding() {
2893 if (model != null) {
2894 model.removePropertyChangeListener("copyIndividualObservationAll", this);
2895 }
2896 }
2897 });
2898 registerDataBinding(new DefaultJAXXBinding(this, BINDING_COPY_NOTHING_BUTTON_SELECTED, true) {
2899
2900 @Override
2901 public void applyDataBinding() {
2902 if (model != null) {
2903 model.addPropertyChangeListener("copyIndividualObservationNothing", this);
2904 }
2905 }
2906
2907 @Override
2908 public void processDataBinding() {
2909 if (model != null) {
2910 copyNothingButton.setSelected(model.isCopyIndividualObservationNothing());
2911 }
2912 }
2913
2914 @Override
2915 public void removeDataBinding() {
2916 if (model != null) {
2917 model.removePropertyChangeListener("copyIndividualObservationNothing", this);
2918 }
2919 }
2920 });
2921 registerDataBinding(new DefaultJAXXBinding(this, BINDING_COPY_SIZES_BUTTON_SELECTED, true) {
2922
2923 @Override
2924 public void applyDataBinding() {
2925 if (model != null) {
2926 model.addPropertyChangeListener("copyIndividualObservationSize", this);
2927 }
2928 }
2929
2930 @Override
2931 public void processDataBinding() {
2932 if (model != null) {
2933 copySizesButton.setSelected(model.isCopyIndividualObservationSize());
2934 }
2935 }
2936
2937 @Override
2938 public void removeDataBinding() {
2939 if (model != null) {
2940 model.removePropertyChangeListener("copyIndividualObservationSize", this);
2941 }
2942 }
2943 });
2944 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SIMPLE_COUNTING_MODE_BUTTON_SELECTED, true) {
2945
2946 @Override
2947 public void applyDataBinding() {
2948 if (model != null) {
2949 model.addPropertyChangeListener("simpleCountingMode", this);
2950 }
2951 }
2952
2953 @Override
2954 public void processDataBinding() {
2955 if (model != null) {
2956 simpleCountingModeButton.setSelected(model.isSimpleCountingMode());
2957 }
2958 }
2959
2960 @Override
2961 public void removeDataBinding() {
2962 if (model != null) {
2963 model.removePropertyChangeListener("simpleCountingMode", this);
2964 }
2965 }
2966 });
2967 registerDataBinding(new DefaultJAXXBinding(this, BINDING_FREQUENCY_MODE_BUTTON_SELECTED, true) {
2968
2969 @Override
2970 public void applyDataBinding() {
2971 if (model != null) {
2972 model.addPropertyChangeListener("frequenciesMode", this);
2973 }
2974 }
2975
2976 @Override
2977 public void processDataBinding() {
2978 if (model != null) {
2979 frequencyModeButton.setSelected(model.isFrequenciesMode());
2980 }
2981 }
2982
2983 @Override
2984 public void removeDataBinding() {
2985 if (model != null) {
2986 model.removePropertyChangeListener("frequenciesMode", this);
2987 }
2988 }
2989 });
2990 registerDataBinding(new DefaultJAXXBinding(this, BINDING_LENGTH_STEP_CARACTERISTIC_PANEL_VISIBLE, true) {
2991
2992 @Override
2993 public void applyDataBinding() {
2994 if (model != null) {
2995 model.addPropertyChangeListener("simpleCountingMode", this);
2996 }
2997 }
2998
2999 @Override
3000 public void processDataBinding() {
3001 if (model != null) {
3002 lengthStepCaracteristicPanel.setVisible(!model.isSimpleCountingMode());
3003 }
3004 }
3005
3006 @Override
3007 public void removeDataBinding() {
3008 if (model != null) {
3009 model.removePropertyChangeListener("simpleCountingMode", this);
3010 }
3011 }
3012 });
3013 registerDataBinding(new DefaultJAXXBinding(this, BINDING_LENGTH_STEP_CARACTERISTIC_LABEL_ENABLED, true) {
3014
3015 @Override
3016 public void applyDataBinding() {
3017 if (model != null) {
3018 model.addPropertyChangeListener("simpleCountingMode", this);
3019 }
3020 }
3021
3022 @Override
3023 public void processDataBinding() {
3024 if (model != null) {
3025 lengthStepCaracteristicLabel.setEnabled(!model.isSimpleCountingMode());
3026 }
3027 }
3028
3029 @Override
3030 public void removeDataBinding() {
3031 if (model != null) {
3032 model.removePropertyChangeListener("simpleCountingMode", this);
3033 }
3034 }
3035 });
3036 registerDataBinding(new DefaultJAXXBinding(this, BINDING_LENGTH_STEP_CARACTERISTIC_COMBO_BOX_SELECTED_ITEM, true) {
3037
3038 @Override
3039 public void applyDataBinding() {
3040 if (model != null) {
3041 model.addPropertyChangeListener("lengthStepCaracteristic", this);
3042 }
3043 }
3044
3045 @Override
3046 public void processDataBinding() {
3047 if (model != null) {
3048 lengthStepCaracteristicComboBox.setSelectedItem(model.getLengthStepCaracteristic());
3049 }
3050 }
3051
3052 @Override
3053 public void removeDataBinding() {
3054 if (model != null) {
3055 model.removePropertyChangeListener("lengthStepCaracteristic", this);
3056 }
3057 }
3058 });
3059 registerDataBinding(new DefaultJAXXBinding(this, BINDING_LENGTH_STEP_CARACTERISTIC_COMBO_BOX_ENABLED, true, true) {
3060
3061 @Override
3062 public void applyDataBinding() {
3063 if (model != null) {
3064 model.addPropertyChangeListener("simpleCountingMode", this);
3065 }
3066 if (model != null) {
3067 model.addPropertyChangeListener("canEditLengthStep", this);
3068 }
3069 }
3070
3071 @Override
3072 public void processDataBinding() {
3073 if (model != null) {
3074 lengthStepCaracteristicComboBox.setEnabled(!model.isSimpleCountingMode() && model.isCanEditLengthStep());
3075 }
3076 }
3077
3078 @Override
3079 public void removeDataBinding() {
3080 if (model != null) {
3081 model.removePropertyChangeListener("simpleCountingMode", this);
3082 }
3083 if (model != null) {
3084 model.removePropertyChangeListener("canEditLengthStep", this);
3085 }
3086 }
3087 });
3088 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ADD_LENGTH_STEP_CARACTERISTIC_BUTTON_ENABLED, true, true) {
3089
3090 @Override
3091 public void applyDataBinding() {
3092 if (model != null) {
3093 model.addPropertyChangeListener("simpleCountingMode", this);
3094 }
3095 if (model != null) {
3096 model.addPropertyChangeListener("canEditLengthStep", this);
3097 }
3098 }
3099
3100 @Override
3101 public void processDataBinding() {
3102 if (model != null) {
3103 addLengthStepCaracteristicButton.setEnabled(!model.isSimpleCountingMode() && model.isCanEditLengthStep());
3104 }
3105 }
3106
3107 @Override
3108 public void removeDataBinding() {
3109 if (model != null) {
3110 model.removePropertyChangeListener("simpleCountingMode", this);
3111 }
3112 if (model != null) {
3113 model.removePropertyChangeListener("canEditLengthStep", this);
3114 }
3115 }
3116 });
3117 registerDataBinding(new DefaultJAXXBinding(this, BINDING_STEP_LABEL_ENABLED, true) {
3118
3119 @Override
3120 public void applyDataBinding() {
3121 if (model != null) {
3122 model.addPropertyChangeListener("simpleCountingMode", this);
3123 }
3124 }
3125
3126 @Override
3127 public void processDataBinding() {
3128 if (model != null) {
3129 stepLabel.setEnabled(!model.isSimpleCountingMode());
3130 }
3131 }
3132
3133 @Override
3134 public void removeDataBinding() {
3135 if (model != null) {
3136 model.removePropertyChangeListener("simpleCountingMode", this);
3137 }
3138 }
3139 });
3140 registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_STEP_FIELD_NUMBER_PATTERN, true ,"DECIMAL1_PATTERN") {
3141
3142 @Override
3143 public void processDataBinding() {
3144 stepField.setNumberPattern(DECIMAL1_PATTERN);
3145 }
3146 });
3147 registerDataBinding(new DefaultJAXXBinding(this, BINDING_STEP_FIELD_NUMBER_VALUE, true) {
3148
3149 @Override
3150 public void applyDataBinding() {
3151 if (model != null) {
3152 model.addPropertyChangeListener("step", this);
3153 }
3154 }
3155
3156 @Override
3157 public void processDataBinding() {
3158 if (model != null) {
3159 stepField.setNumberValue(model.getStep());
3160 }
3161 }
3162
3163 @Override
3164 public void removeDataBinding() {
3165 if (model != null) {
3166 model.removePropertyChangeListener("step", this);
3167 }
3168 }
3169 });
3170 registerDataBinding(new DefaultJAXXBinding(this, BINDING_STEP_FIELD_ENABLED, true, true) {
3171
3172 @Override
3173 public void applyDataBinding() {
3174 if (model != null) {
3175 model.addPropertyChangeListener("simpleCountingMode", this);
3176 }
3177 if (model != null) {
3178 model.addPropertyChangeListener("canEditLengthStep", this);
3179 }
3180 }
3181
3182 @Override
3183 public void processDataBinding() {
3184 if (model != null) {
3185 stepField.setEnabled(!model.isSimpleCountingMode() && model.isCanEditLengthStep());
3186 }
3187 }
3188
3189 @Override
3190 public void removeDataBinding() {
3191 if (model != null) {
3192 model.removePropertyChangeListener("simpleCountingMode", this);
3193 }
3194 if (model != null) {
3195 model.removePropertyChangeListener("canEditLengthStep", this);
3196 }
3197 }
3198 });
3199 registerDataBinding(new DefaultJAXXBinding(this, BINDING_HISTOGRAM_PANEL_VISIBLE, true) {
3200
3201 @Override
3202 public void applyDataBinding() {
3203 if (model != null) {
3204 model.addPropertyChangeListener("simpleCountingMode", this);
3205 }
3206 }
3207
3208 @Override
3209 public void processDataBinding() {
3210 if (model != null) {
3211 histogramPanel.setVisible(!model.isSimpleCountingMode());
3212 }
3213 }
3214
3215 @Override
3216 public void removeDataBinding() {
3217 if (model != null) {
3218 model.removePropertyChangeListener("simpleCountingMode", this);
3219 }
3220 }
3221 });
3222 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODE_PANEL_VISIBLE, true) {
3223
3224 @Override
3225 public void applyDataBinding() {
3226 if (model != null) {
3227 model.addPropertyChangeListener("simpleCountingMode", this);
3228 }
3229 }
3230
3231 @Override
3232 public void processDataBinding() {
3233 if (model != null) {
3234 modePanel.setVisible(!model.isSimpleCountingMode());
3235 }
3236 }
3237
3238 @Override
3239 public void removeDataBinding() {
3240 if (model != null) {
3241 model.removePropertyChangeListener("simpleCountingMode", this);
3242 }
3243 }
3244 });
3245 registerDataBinding(new DefaultJAXXBinding(this, BINDING_AUTO_GEN_MODE_BUTTON_SELECTED, true) {
3246
3247 @Override
3248 public void applyDataBinding() {
3249 if (model != null) {
3250 model.addPropertyChangeListener("autoGenMode", this);
3251 }
3252 }
3253
3254 @Override
3255 public void processDataBinding() {
3256 if (model != null) {
3257 autoGenModeButton.setSelected(model.isAutoGenMode());
3258 }
3259 }
3260
3261 @Override
3262 public void removeDataBinding() {
3263 if (model != null) {
3264 model.removePropertyChangeListener("autoGenMode", this);
3265 }
3266 }
3267 });
3268 registerDataBinding(new DefaultJAXXBinding(this, BINDING_AUTO_GEN_MODE_BUTTON_ENABLED, true) {
3269
3270 @Override
3271 public void applyDataBinding() {
3272 if (model != null) {
3273 model.addPropertyChangeListener("copyIndividualObservationNothing", this);
3274 }
3275 }
3276
3277 @Override
3278 public void processDataBinding() {
3279 if (model != null) {
3280 autoGenModeButton.setEnabled(model.isCopyIndividualObservationNothing());
3281 }
3282 }
3283
3284 @Override
3285 public void removeDataBinding() {
3286 if (model != null) {
3287 model.removePropertyChangeListener("copyIndividualObservationNothing", this);
3288 }
3289 }
3290 });
3291 registerDataBinding(new DefaultJAXXBinding(this, BINDING_RAFALE_MODE_BUTTON_SELECTED, true) {
3292
3293 @Override
3294 public void applyDataBinding() {
3295 if (model != null) {
3296 model.addPropertyChangeListener("rafaleMode", this);
3297 }
3298 }
3299
3300 @Override
3301 public void processDataBinding() {
3302 if (model != null) {
3303 rafaleModeButton.setSelected(model.isRafaleMode());
3304 }
3305 }
3306
3307 @Override
3308 public void removeDataBinding() {
3309 if (model != null) {
3310 model.removePropertyChangeListener("rafaleMode", this);
3311 }
3312 }
3313 });
3314 registerDataBinding(new DefaultJAXXBinding(this, BINDING_RAFALE_MODE_BUTTON_ENABLED, true) {
3315
3316 @Override
3317 public void applyDataBinding() {
3318 if (model != null) {
3319 model.addPropertyChangeListener("copyIndividualObservationNothing", this);
3320 }
3321 }
3322
3323 @Override
3324 public void processDataBinding() {
3325 if (model != null) {
3326 rafaleModeButton.setEnabled(model.isCopyIndividualObservationNothing());
3327 }
3328 }
3329
3330 @Override
3331 public void removeDataBinding() {
3332 if (model != null) {
3333 model.removePropertyChangeListener("copyIndividualObservationNothing", this);
3334 }
3335 }
3336 });
3337 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MODE_CONFIGURATION_PANEL_VISIBLE, true) {
3338
3339 @Override
3340 public void applyDataBinding() {
3341 if (model != null) {
3342 model.addPropertyChangeListener("simpleCountingMode", this);
3343 }
3344 }
3345
3346 @Override
3347 public void processDataBinding() {
3348 if (model != null) {
3349 modeConfigurationPanel.setVisible(!model.isSimpleCountingMode());
3350 }
3351 }
3352
3353 @Override
3354 public void removeDataBinding() {
3355 if (model != null) {
3356 model.removePropertyChangeListener("simpleCountingMode", this);
3357 }
3358 }
3359 });
3360 registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_MIN_STEP_FIELD_NUMBER_PATTERN, true ,"DECIMAL1_PATTERN") {
3361
3362 @Override
3363 public void processDataBinding() {
3364 minStepField.setNumberPattern(DECIMAL1_PATTERN);
3365 }
3366 });
3367 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MIN_STEP_FIELD_NUMBER_VALUE, true) {
3368
3369 @Override
3370 public void applyDataBinding() {
3371 if (model != null) {
3372 model.addPropertyChangeListener("minStep", this);
3373 }
3374 }
3375
3376 @Override
3377 public void processDataBinding() {
3378 if (model != null) {
3379 minStepField.setNumberValue(model.getMinStep());
3380 }
3381 }
3382
3383 @Override
3384 public void removeDataBinding() {
3385 if (model != null) {
3386 model.removePropertyChangeListener("minStep", this);
3387 }
3388 }
3389 });
3390 registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_MAX_STEP_FIELD_NUMBER_PATTERN, true ,"DECIMAL1_PATTERN") {
3391
3392 @Override
3393 public void processDataBinding() {
3394 maxStepField.setNumberPattern(DECIMAL1_PATTERN);
3395 }
3396 });
3397 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MAX_STEP_FIELD_NUMBER_VALUE, true) {
3398
3399 @Override
3400 public void applyDataBinding() {
3401 if (model != null) {
3402 model.addPropertyChangeListener("maxStep", this);
3403 }
3404 }
3405
3406 @Override
3407 public void processDataBinding() {
3408 if (model != null) {
3409 maxStepField.setNumberValue(model.getMaxStep());
3410 }
3411 }
3412
3413 @Override
3414 public void removeDataBinding() {
3415 if (model != null) {
3416 model.removePropertyChangeListener("maxStep", this);
3417 }
3418 }
3419 });
3420 registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_RAFALE_STEP_FIELD_NUMBER_PATTERN, true ,"DECIMAL1_PATTERN") {
3421
3422 @Override
3423 public void processDataBinding() {
3424 rafaleStepField.setNumberPattern(DECIMAL1_PATTERN);
3425 }
3426 });
3427 registerDataBinding(new DefaultJAXXBinding(this, BINDING_RAFALE_STEP_FIELD_ENABLED, true) {
3428
3429 @Override
3430 public void applyDataBinding() {
3431 if (model != null) {
3432 model.addPropertyChangeListener("lengthStepCaracteristic", this);
3433 }
3434 }
3435
3436 @Override
3437 public void processDataBinding() {
3438 if (model != null) {
3439 rafaleStepField.setEnabled(model.getLengthStepCaracteristic() != null);
3440 }
3441 }
3442
3443 @Override
3444 public void removeDataBinding() {
3445 if (model != null) {
3446 model.removePropertyChangeListener("lengthStepCaracteristic", this);
3447 }
3448 }
3449 });
3450 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ADD_INDIVIDUAL_OBSERVATION_CHECK_BOX_SELECTED, true) {
3451
3452 @Override
3453 public void applyDataBinding() {
3454 if (model != null) {
3455 model.addPropertyChangeListener("addIndividualObservationOnRafale", this);
3456 }
3457 }
3458
3459 @Override
3460 public void processDataBinding() {
3461 if (model != null) {
3462 addIndividualObservationCheckBox.setSelected(model.isAddIndividualObservationOnRafale());
3463 }
3464 }
3465
3466 @Override
3467 public void removeDataBinding() {
3468 if (model != null) {
3469 model.removePropertyChangeListener("addIndividualObservationOnRafale", this);
3470 }
3471 }
3472 });
3473 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ADD_INDIVIDUAL_OBSERVATION_CHECK_BOX_ENABLED, true) {
3474
3475 @Override
3476 public void applyDataBinding() {
3477 if (model != null) {
3478 model.addPropertyChangeListener("copyIndividualObservationNothing", this);
3479 }
3480 }
3481
3482 @Override
3483 public void processDataBinding() {
3484 if (model != null) {
3485 addIndividualObservationCheckBox.setEnabled(model.isCopyIndividualObservationNothing());
3486 }
3487 }
3488
3489 @Override
3490 public void removeDataBinding() {
3491 if (model != null) {
3492 model.removePropertyChangeListener("copyIndividualObservationNothing", this);
3493 }
3494 }
3495 });
3496 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAMPLING_WARNING_LABEL_VISIBLE, true) {
3497
3498 @Override
3499 public void applyDataBinding() {
3500 if (model != null) {
3501 model.addPropertyChangeListener("simpleCountingMode", this);
3502 }
3503 }
3504
3505 @Override
3506 public void processDataBinding() {
3507 if (model != null) {
3508 samplingWarningLabel.setVisible(!model.isSimpleCountingMode());
3509 }
3510 }
3511
3512 @Override
3513 public void removeDataBinding() {
3514 if (model != null) {
3515 model.removePropertyChangeListener("simpleCountingMode", this);
3516 }
3517 }
3518 });
3519 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAMPLING_RESUME_LABEL_VISIBLE, true) {
3520
3521 @Override
3522 public void applyDataBinding() {
3523 if (model != null) {
3524 model.addPropertyChangeListener("simpleCountingMode", this);
3525 }
3526 }
3527
3528 @Override
3529 public void processDataBinding() {
3530 if (model != null) {
3531 samplingResumeLabel.setVisible(!model.isSimpleCountingMode());
3532 }
3533 }
3534
3535 @Override
3536 public void removeDataBinding() {
3537 if (model != null) {
3538 model.removePropertyChangeListener("simpleCountingMode", this);
3539 }
3540 }
3541 });
3542 registerDataBinding(new DefaultJAXXBinding(this, BINDING_$JSEPARATOR0_VISIBLE, true) {
3543
3544 @Override
3545 public void applyDataBinding() {
3546 if (model != null) {
3547 model.addPropertyChangeListener("simpleCountingMode", this);
3548 }
3549 }
3550
3551 @Override
3552 public void processDataBinding() {
3553 if (model != null) {
3554 $JSeparator0.setVisible(!model.isSimpleCountingMode());
3555 }
3556 }
3557
3558 @Override
3559 public void removeDataBinding() {
3560 if (model != null) {
3561 model.removePropertyChangeListener("simpleCountingMode", this);
3562 }
3563 }
3564 });
3565 registerDataBinding(new DefaultJAXXBinding(this, BINDING_FREQUENCIES_TITLE_PANEL_TITLE_PAINTER, true) {
3566
3567 @Override
3568 public void applyDataBinding() {
3569 if (getModel() != null) {
3570 getModel().addPropertyChangeListener("frequenciesColor", this);
3571 }
3572 }
3573
3574 @Override
3575 public void processDataBinding() {
3576 if (getModel() != null) {
3577 frequenciesTitlePanel.setTitlePainter(new org.jdesktop.swingx.painter.MattePainter(getModel().getFrequenciesColor()));
3578 }
3579 }
3580
3581 @Override
3582 public void removeDataBinding() {
3583 if (getModel() != null) {
3584 getModel().removePropertyChangeListener("frequenciesColor", this);
3585 }
3586 }
3587 });
3588 registerDataBinding(new DefaultJAXXBinding(this, BINDING_TOTAL_NUMBER_LABEL_ENABLED, true) {
3589
3590 @Override
3591 public void applyDataBinding() {
3592 if (model != null) {
3593 model.addPropertyChangeListener("simpleCountingMode", this);
3594 }
3595 }
3596
3597 @Override
3598 public void processDataBinding() {
3599 if (model != null) {
3600 totalNumberLabel.setEnabled(!model.isSimpleCountingMode());
3601 }
3602 }
3603
3604 @Override
3605 public void removeDataBinding() {
3606 if (model != null) {
3607 model.removePropertyChangeListener("simpleCountingMode", this);
3608 }
3609 }
3610 });
3611 registerDataBinding(new DefaultJAXXBinding(this, BINDING_TOTAL_NUMBER_FIELD_TEXT, true) {
3612
3613 @Override
3614 public void applyDataBinding() {
3615 if (model != null) {
3616 model.addPropertyChangeListener("totalNumber", this);
3617 }
3618 }
3619
3620 @Override
3621 public void processDataBinding() {
3622 if (model != null) {
3623 SwingUtil.setText(totalNumberField, getStringValue(model.getTotalNumber()));
3624 }
3625 }
3626
3627 @Override
3628 public void removeDataBinding() {
3629 if (model != null) {
3630 model.removePropertyChangeListener("totalNumber", this);
3631 }
3632 }
3633 });
3634 registerDataBinding(new DefaultJAXXBinding(this, BINDING_TOTAL_WEIGHT_LABEL_ENABLED, true) {
3635
3636 @Override
3637 public void applyDataBinding() {
3638 if (model != null) {
3639 model.addPropertyChangeListener("totalWeight", this);
3640 }
3641 }
3642
3643 @Override
3644 public void processDataBinding() {
3645 if (model != null) {
3646 totalWeightLabel.setEnabled(model.getTotalWeight() != null);
3647 }
3648 }
3649
3650 @Override
3651 public void removeDataBinding() {
3652 if (model != null) {
3653 model.removePropertyChangeListener("totalWeight", this);
3654 }
3655 }
3656 });
3657 registerDataBinding(new DefaultJAXXBinding(this, BINDING_TOTAL_WEIGHT_FIELD_NUMBER_VALUE, true) {
3658
3659 @Override
3660 public void applyDataBinding() {
3661 if (model != null) {
3662 model.addPropertyChangeListener("totalWeight", this);
3663 }
3664 }
3665
3666 @Override
3667 public void processDataBinding() {
3668 if (model != null) {
3669 totalWeightField.setNumberValue(model.getTotalWeight());
3670 }
3671 }
3672
3673 @Override
3674 public void removeDataBinding() {
3675 if (model != null) {
3676 model.removePropertyChangeListener("totalWeight", this);
3677 }
3678 }
3679 });
3680 registerDataBinding(new DefaultJAXXBinding(this, BINDING_TOTAL_WEIGHT_FIELD_BEAN, true) {
3681
3682 @Override
3683 public void applyDataBinding() {
3684 if (model != null) {
3685 model.addPropertyChangeListener("totalComputedOrNotWeight", this);
3686 }
3687 }
3688
3689 @Override
3690 public void processDataBinding() {
3691 if (model != null) {
3692 totalWeightField.setBean(model.getTotalComputedOrNotWeight());
3693 }
3694 }
3695
3696 @Override
3697 public void removeDataBinding() {
3698 if (model != null) {
3699 model.removePropertyChangeListener("totalComputedOrNotWeight", this);
3700 }
3701 }
3702 });
3703 registerDataBinding(new DefaultJAXXBinding(this, BINDING_TABLE_ENABLED, true, true) {
3704
3705 @Override
3706 public void applyDataBinding() {
3707 if (model != null) {
3708 model.addPropertyChangeListener("lengthStepCaracteristic", this);
3709 }
3710 if (model != null) {
3711 model.addPropertyChangeListener("step", this);
3712 }
3713 }
3714
3715 @Override
3716 public void processDataBinding() {
3717 if (model != null) {
3718 table.setEnabled(model.getLengthStepCaracteristic() != null && model.getStep() > 0f);
3719 }
3720 }
3721
3722 @Override
3723 public void removeDataBinding() {
3724 if (model != null) {
3725 model.removePropertyChangeListener("lengthStepCaracteristic", this);
3726 }
3727 if (model != null) {
3728 model.removePropertyChangeListener("step", this);
3729 }
3730 }
3731 });
3732 registerDataBinding(new DefaultJAXXBinding(this, BINDING_OBS_TABLE_TITLE_PANEL_TITLE_PAINTER, true) {
3733
3734 @Override
3735 public void applyDataBinding() {
3736 if (getModel() != null) {
3737 getModel().addPropertyChangeListener("individualObservationColor", this);
3738 }
3739 }
3740
3741 @Override
3742 public void processDataBinding() {
3743 if (getModel() != null) {
3744 obsTableTitlePanel.setTitlePainter(new org.jdesktop.swingx.painter.MattePainter(getModel().getIndividualObservationColor()));
3745 }
3746 }
3747
3748 @Override
3749 public void removeDataBinding() {
3750 if (getModel() != null) {
3751 getModel().removePropertyChangeListener("individualObservationColor", this);
3752 }
3753 }
3754 });
3755 registerDataBinding(new DefaultJAXXBinding(this, BINDING_OBS_TABLE_ENABLED, true) {
3756
3757 @Override
3758 public void applyDataBinding() {
3759 if (model != null) {
3760 model.addPropertyChangeListener("lengthStepCaracteristic", this);
3761 }
3762 }
3763
3764 @Override
3765 public void processDataBinding() {
3766 if (model != null) {
3767 obsTable.setEnabled(model.getLengthStepCaracteristic() != null);
3768 }
3769 }
3770
3771 @Override
3772 public void removeDataBinding() {
3773 if (model != null) {
3774 model.removePropertyChangeListener("lengthStepCaracteristic", this);
3775 }
3776 }
3777 });
3778 registerDataBinding(new DefaultJAXXBinding(this, BINDING_DATA_IN_FREQUENCIES_WARNING_CONTAINER_VISIBLE, true, true) {
3779
3780 @Override
3781 public void applyDataBinding() {
3782 if (model != null) {
3783 model.addPropertyChangeListener("rowsInError", this);
3784 }
3785 if (model != null) {
3786 model.addPropertyChangeListener("emptyRows", this);
3787 }
3788 if (model != null) {
3789 model.addPropertyChangeListener("rows", this);
3790 }
3791 }
3792
3793 @Override
3794 public void processDataBinding() {
3795 if (model != null && model.getRows() != null && model.getEmptyRows() != null && model.getRowsInError() != null) {
3796 dataInFrequenciesWarningContainer.setVisible((model.getRowsInError().size() + model.getEmptyRows().size()) != model.getRows().size());
3797 }
3798 }
3799
3800 @Override
3801 public void removeDataBinding() {
3802 if (model != null) {
3803 model.removePropertyChangeListener("rowsInError", this);
3804 }
3805 if (model != null) {
3806 model.removePropertyChangeListener("emptyRows", this);
3807 }
3808 if (model != null) {
3809 model.removePropertyChangeListener("rows", this);
3810 }
3811 }
3812 });
3813 registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_SIMPLE_COUNTING_NUMBER_FIELD_NUMBER_PATTERN, true ,"INT_6_DIGITS_PATTERN") {
3814
3815 @Override
3816 public void processDataBinding() {
3817 simpleCountingNumberField.setNumberPattern(INT_6_DIGITS_PATTERN);
3818 }
3819 });
3820 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SIMPLE_COUNTING_NUMBER_FIELD_NUMBER_VALUE, true) {
3821
3822 @Override
3823 public void applyDataBinding() {
3824 if (model != null) {
3825 model.addPropertyChangeListener("simpleCount", this);
3826 }
3827 }
3828
3829 @Override
3830 public void processDataBinding() {
3831 if (model != null) {
3832 simpleCountingNumberField.setNumberValue(model.getSimpleCount());
3833 }
3834 }
3835
3836 @Override
3837 public void removeDataBinding() {
3838 if (model != null) {
3839 model.removePropertyChangeListener("simpleCount", this);
3840 }
3841 }
3842 });
3843 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SIMPLE_COUNTING_WEIGHT_FIELD_NUMBER_VALUE, true) {
3844
3845 @Override
3846 public void applyDataBinding() {
3847 if (model != null) {
3848 model.addPropertyChangeListener("totalWeight", this);
3849 }
3850 }
3851
3852 @Override
3853 public void processDataBinding() {
3854 if (model != null) {
3855 simpleCountingWeightField.setNumberValue(model.getTotalWeight());
3856 }
3857 }
3858
3859 @Override
3860 public void removeDataBinding() {
3861 if (model != null) {
3862 model.removePropertyChangeListener("totalWeight", this);
3863 }
3864 }
3865 });
3866 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SIMPLE_COUNTING_WEIGHT_FIELD_BEAN, true) {
3867
3868 @Override
3869 public void applyDataBinding() {
3870 if (model != null) {
3871 model.addPropertyChangeListener("totalComputedOrNotWeight", this);
3872 }
3873 }
3874
3875 @Override
3876 public void processDataBinding() {
3877 if (model != null) {
3878 simpleCountingWeightField.setBean(model.getTotalComputedOrNotWeight());
3879 }
3880 }
3881
3882 @Override
3883 public void removeDataBinding() {
3884 if (model != null) {
3885 model.removePropertyChangeListener("totalComputedOrNotWeight", this);
3886 }
3887 }
3888 });
3889 }
3890
3891 }