1 package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation;
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.service.sampling.SamplingCodePrefix;
28 import fr.ifremer.tutti.ui.swing.TuttiUIContext;
29 import fr.ifremer.tutti.ui.swing.util.TuttiUI;
30 import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
31 import java.awt.BorderLayout;
32 import java.awt.Container;
33 import java.awt.Dialog;
34 import java.awt.Dialog.ModalityType;
35 import java.awt.Frame;
36 import java.awt.GraphicsConfiguration;
37 import java.awt.GridBagConstraints;
38 import java.awt.GridLayout;
39 import java.awt.Insets;
40 import java.awt.Window;
41 import java.awt.event.ActionEvent;
42 import java.awt.event.ActionListener;
43 import java.util.ArrayList;
44 import java.util.HashMap;
45 import java.util.List;
46 import java.util.Map;
47 import java.util.TreeMap;
48 import javax.swing.JButton;
49 import javax.swing.JDialog;
50 import javax.swing.JLabel;
51 import javax.swing.JPanel;
52 import jaxx.runtime.JAXXBinding;
53 import jaxx.runtime.JAXXContext;
54 import jaxx.runtime.JAXXObject;
55 import jaxx.runtime.JAXXObjectDescriptor;
56 import jaxx.runtime.JAXXUtil;
57 import jaxx.runtime.JAXXValidator;
58 import jaxx.runtime.SwingUtil;
59 import jaxx.runtime.binding.DefaultJAXXBinding;
60 import jaxx.runtime.context.DefaultJAXXContext;
61 import jaxx.runtime.swing.Table;
62 import jaxx.runtime.validator.swing.SwingValidator;
63 import jaxx.runtime.validator.swing.SwingValidatorUtil;
64 import jaxx.runtime.validator.swing.meta.Validator;
65 import jaxx.runtime.validator.swing.meta.ValidatorField;
66 import jaxx.runtime.validator.swing.ui.ImageValidationUI;
67 import org.apache.commons.logging.Log;
68 import org.apache.commons.logging.LogFactory;
69 import org.nuiton.jaxx.widgets.number.NumberEditor;
70 import static org.nuiton.i18n.I18n.t;
71
72 public class SampleCodeEditionPopupUI extends JDialog implements TuttiUI<SampleCodeEditionPopupUIModel, SampleCodeEditionPopupUIHandler>, JAXXObject, JAXXValidator {
73
74
75
76
77
78 public static final String PROPERTY_MODEL = "model";
79
80
81
82
83
84 public static final String BINDING_SAMPLE_CODE_FIELD_NUMBER_VALUE = "sampleCodeField.numberValue";
85 public static final String BINDING_SAMPLE_CODE_PREFIX_TEXT = "sampleCodePrefix.text";
86 public static final String BINDING_VALIDATE_BUTTON_ENABLED = "validateButton.enabled";
87
88
89
90
91
92 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVWzW8bRRSfmNqJnaRpE6Upoo3a0kNLxTggQEhB0DSpwZHzodihFTmE8e7EnrI7M+zOJhtZQfwJ5coJ7lyQuHFCHDhz4IL4FxDi0Cvizay967XXcQ6Qwzp6n7/35r3fzHd/orzvodvPSBhiL+CKuRRvrj19utN8Ri21QX3LY1IJD0V/EzmUO0DTdiz3FXr1oKbdy1338rpwpeCU93mv1lDJV6cO9duUKoVupj0s3y/XY/VqKAOvFzUGlRX1m7//yj23v/w2h1AoAV0JSrk1ziup5FIN5Zit0DxkOiZlh/AWwPAYbwHeWS1bd4jvbxOXfo6+QJM1VJDEg2AK3bl4ySaG8Q+lQks+cSUIhU0f20wxwTcYcURLoeaRh9mRR13qYRUoxXDAsH8CaLAluILgWEjqEe2DLaKsNvUx4zY7ZnYAIZo+9Y4jbX0wx66QgdyvSmmAFBTKu6B0FGr9/0m3dKYkc/GYOMwm0CGFHqTOKlZ0AdT19+OesC+CSxjfJVzjv56KEPk1SNMxB1aMXeaSrtdIUzvO6+MNux6bRqht52OXK4nLrkePWKjlS2mbvrAVRh0YpQfCa2EeMAUNMdBOmN2iygeZ24Qeb5sf3SDhpWNN3d00Na0MYjPStO2MRbhFnUdwYHBIaCFlH0m15c3Y4XK3tzRR3ulaeOiVVA9hF3Gyi8myTBygvBeAGJp+MLy+e6CKFvf6wOLqgEb7z7WF337844dKb1tnIPdipmkf2cAWSU+PoGI69Vy0qoFiTnmLyNUDVPSpA0xlmOhGBrB6Vw3gIN9V7Y61O/6I+G0IkZ/8/aefr33660soV0ElRxC7QrR9FRVV24MuCMcO5QcPDaKZkyn4XtHYoKmHxLafUNZqq33OgBSWOmarMBx4Ir53/yyErtzI6EoMrVn85cVC/fuHvc5MANKXR5on3cl/ggqMO4xTw2Rdkspkrmnp08AWCRll0ROSEihq1tHb8ISptsZvdK+ZL87qQqFtSlUo9/ZKGGizN00F+r+3ooDTTTN1ZpDPDZcDYlJMOTB31YiNKGxKNaabnYRuHmkuwkqvujHSrDFIQLgbS5MdgZ2/pLyADmMcTcqySzrn4J0yzapoNrvaGaCDM52ShtCbxn9RTSLBJmlWJYNEN66CiRji6x0YW8PV9+7rCa4P0B9IlYhuRzPSw7mHGHNc8iJwOQmUMBeFQuVOm3DbAZaE9OuCHzHIhJm/1jPpJ0/AoFApYtXGqYRTnutU4cJqgbulRxrUs5F6lyhFPeDJ5U5DH8N+FVe3G4fvHG5UP6w26oe7a43G473tM929tjgxqXrUujICUx0M++FE9gbUVJevTgFf0hFNFxFT7fCKsAJgq0JHzyN4TEc44aoLaIpFkjMwkYsa3h719QvKzDL8NCkBmJORT+axDF5S404lD/cLe+NdvsWpKzizgFaj6bWE65pXgL57sBurS8CXMJ9V/WBAhUgNRR36nzG5ZlQJ3GjWFjICgocSwmkw2Rhpk1Ve6i4cV1thqLblVJreNTmquqmewfn1LWYGHaxwlNUk5ZoI4DWx2EneRMw3T6ERuzdwwV9g7QsOORVgjC6/B37kVlO/6njr/aHoE/pbGhtRi5/rz1fZEZYvQkXMih4nI2LcvhCKr8+JcBci/AtBxsKp9AwAAA==";
93 private static final Log log = LogFactory.getLog(SampleCodeEditionPopupUI.class);
94 private static final long serialVersionUID = 1L;
95
96
97
98
99
100 protected List<Object> $activeBindings = new ArrayList<Object>();
101 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
102 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
103 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
104 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
105 private boolean allComponentsCreated;
106 protected final JAXXContext delegateContext = new DefaultJAXXContext();
107
108
109
110
111
112 protected JButton cancelButton;
113 protected final SampleCodeEditionPopupUIHandler handler = createHandler();
114 protected Table mainPanel;
115 protected SampleCodeEditionPopupUIModel model;
116 protected SampleCodeEditionPopupUI sampleCodeEditionDialog = this;
117 @ValidatorField( validatorId = "validator", propertyName = "sampleCode", editorName = "sampleCodeField")
118 protected NumberEditor sampleCodeField;
119 protected JLabel sampleCodeLabel;
120 protected JLabel sampleCodePrefix;
121 protected JButton validateButton;
122 @Validator( validatorId = "validator")
123 protected SwingValidator<SampleCodeEditionPopupUIModel> validator;
124 protected List<String> validatorIds = new ArrayList<String>();
125
126
127
128
129
130 private JPanel $JPanel0;
131
132
133
134
135
136
137 public void open(SamplingCodePrefix prefix, Integer sampleCode) {
138 handler.open(prefix, sampleCode);
139 }
140
141
142
143
144
145 public SampleCodeEditionPopupUI(TuttiUI parentUI) {
146 super(parentUI.getHandler().getContext().getMainUI());
147 TuttiUIUtil.setParentUI(this, parentUI);
148 $initialize();
149 }
150
151 public SampleCodeEditionPopupUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
152 super(param0 ,param1 ,param2 ,param3);
153 $initialize();
154 }
155
156 public SampleCodeEditionPopupUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
157 super(param1 ,param2 ,param3 ,param4);
158 JAXXUtil.initContext(this, parentContext);
159 $initialize();
160 }
161
162 public SampleCodeEditionPopupUI(Dialog param0) {
163 super(param0);
164 $initialize();
165 }
166
167 public SampleCodeEditionPopupUI(JAXXContext parentContext, Dialog param1) {
168 super(param1);
169 JAXXUtil.initContext(this, parentContext);
170 $initialize();
171 }
172
173 public SampleCodeEditionPopupUI(Frame param0, String param1, boolean param2) {
174 super(param0 ,param1 ,param2);
175 $initialize();
176 }
177
178 public SampleCodeEditionPopupUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
179 super(param1 ,param2 ,param3);
180 JAXXUtil.initContext(this, parentContext);
181 $initialize();
182 }
183
184 public SampleCodeEditionPopupUI() {
185 $initialize();
186 }
187
188 public SampleCodeEditionPopupUI(JAXXContext parentContext) {
189 JAXXUtil.initContext(this, parentContext);
190 $initialize();
191 }
192
193 public SampleCodeEditionPopupUI(Frame param0) {
194 super(param0);
195 $initialize();
196 }
197
198 public SampleCodeEditionPopupUI(JAXXContext parentContext, Frame param1) {
199 super(param1);
200 JAXXUtil.initContext(this, parentContext);
201 $initialize();
202 }
203
204 public SampleCodeEditionPopupUI(Frame param0, boolean param1) {
205 super(param0 ,param1);
206 $initialize();
207 }
208
209 public SampleCodeEditionPopupUI(JAXXContext parentContext, Frame param1, boolean param2) {
210 super(param1 ,param2);
211 JAXXUtil.initContext(this, parentContext);
212 $initialize();
213 }
214
215 public SampleCodeEditionPopupUI(Frame param0, String param1) {
216 super(param0 ,param1);
217 $initialize();
218 }
219
220 public SampleCodeEditionPopupUI(JAXXContext parentContext, Frame param1, String param2) {
221 super(param1 ,param2);
222 JAXXUtil.initContext(this, parentContext);
223 $initialize();
224 }
225
226 public SampleCodeEditionPopupUI(Window param0) {
227 super(param0);
228 $initialize();
229 }
230
231 public SampleCodeEditionPopupUI(JAXXContext parentContext, Window param1) {
232 super(param1);
233 JAXXUtil.initContext(this, parentContext);
234 $initialize();
235 }
236
237 public SampleCodeEditionPopupUI(Window param0, ModalityType param1) {
238 super(param0 ,param1);
239 $initialize();
240 }
241
242 public SampleCodeEditionPopupUI(JAXXContext parentContext, Window param1, ModalityType param2) {
243 super(param1 ,param2);
244 JAXXUtil.initContext(this, parentContext);
245 $initialize();
246 }
247
248 public SampleCodeEditionPopupUI(Window param0, String param1) {
249 super(param0 ,param1);
250 $initialize();
251 }
252
253 public SampleCodeEditionPopupUI(JAXXContext parentContext, Window param1, String param2) {
254 super(param1 ,param2);
255 JAXXUtil.initContext(this, parentContext);
256 $initialize();
257 }
258
259 public SampleCodeEditionPopupUI(Window param0, String param1, ModalityType param2) {
260 super(param0 ,param1 ,param2);
261 $initialize();
262 }
263
264 public SampleCodeEditionPopupUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
265 super(param1 ,param2 ,param3);
266 JAXXUtil.initContext(this, parentContext);
267 $initialize();
268 }
269
270 public SampleCodeEditionPopupUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
271 super(param0 ,param1 ,param2 ,param3);
272 $initialize();
273 }
274
275 public SampleCodeEditionPopupUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
276 super(param1 ,param2 ,param3 ,param4);
277 JAXXUtil.initContext(this, parentContext);
278 $initialize();
279 }
280
281 public SampleCodeEditionPopupUI(Dialog param0, boolean param1) {
282 super(param0 ,param1);
283 $initialize();
284 }
285
286 public SampleCodeEditionPopupUI(JAXXContext parentContext, Dialog param1, boolean param2) {
287 super(param1 ,param2);
288 JAXXUtil.initContext(this, parentContext);
289 $initialize();
290 }
291
292 public SampleCodeEditionPopupUI(Dialog param0, String param1) {
293 super(param0 ,param1);
294 $initialize();
295 }
296
297 public SampleCodeEditionPopupUI(JAXXContext parentContext, Dialog param1, String param2) {
298 super(param1 ,param2);
299 JAXXUtil.initContext(this, parentContext);
300 $initialize();
301 }
302
303 public SampleCodeEditionPopupUI(Dialog param0, String param1, boolean param2) {
304 super(param0 ,param1 ,param2);
305 $initialize();
306 }
307
308 public SampleCodeEditionPopupUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
309 super(param1 ,param2 ,param3);
310 JAXXUtil.initContext(this, parentContext);
311 $initialize();
312 }
313
314 public SampleCodeEditionPopupUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
315 super(param0 ,param1 ,param2 ,param3);
316 $initialize();
317 }
318
319 public SampleCodeEditionPopupUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
320 super(param1 ,param2 ,param3 ,param4);
321 JAXXUtil.initContext(this, parentContext);
322 $initialize();
323 }
324
325
326
327
328
329 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
330 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
331 }
332
333
334
335
336
337 @Override
338 public void applyDataBinding(String $binding) {
339 if (allComponentsCreated && $bindings.containsKey($binding)) {
340 getDataBinding($binding).applyDataBinding();
341 }
342 processDataBinding($binding);
343 }
344
345 @Override
346 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
347 super.firePropertyChange(propertyName, oldValue, newValue);
348 }
349
350 @Override
351 public Map<String, Object> get$objectMap() {
352 return $objectMap;
353 }
354
355 @Override
356 public JAXXBinding getDataBinding(String bindingId) {
357 return $bindings.get(bindingId);
358 }
359
360 @Override
361 public JAXXBinding[] getDataBindings() {
362 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
363 }
364
365 @Override
366 public Object getObjectById(String id) {
367 return $objectMap.get(id);
368 }
369
370 @Override
371 public void processDataBinding(String $binding, boolean $force) {
372 if (!$force && $activeBindings.contains($binding)) {
373 return;
374 }
375 $activeBindings.add($binding);
376 try {
377 if (allComponentsCreated && $bindings.containsKey($binding)) {
378 getDataBinding($binding).processDataBinding();
379 }
380 } finally {
381 $activeBindings.remove($binding);
382 }
383 }
384
385 @Override
386 public void processDataBinding(String $binding) {
387 processDataBinding($binding, false);
388 }
389
390 @Override
391 public void registerDataBinding(JAXXBinding binding) {
392 $bindings.put(binding.getId(), binding);
393 }
394
395 @Override
396 public void removeDataBinding(String $binding) {
397 if (allComponentsCreated && $bindings.containsKey($binding)) {
398 getDataBinding($binding).removeDataBinding();
399 }
400 }
401
402
403
404
405
406 @Override
407 public <T> T getContextValue(Class<T> clazz) {
408 return delegateContext.getContextValue(clazz, null);
409 }
410
411 @Override
412 public <T> T getContextValue(Class<T> clazz, String name) {
413 return delegateContext.getContextValue(clazz, name);
414 }
415
416 @Override
417 public JAXXContext getDelegateContext() {
418 return delegateContext;
419 }
420
421 @Override
422 public <O extends Container> O getParentContainer(Class<O> clazz) {
423 return SwingUtil.getParentContainer(this, clazz);
424 }
425
426 @Override
427 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
428 return SwingUtil.getParentContainer(source, clazz);
429 }
430
431 @Override
432 public <T> void removeContextValue(Class<T> clazz) {
433 delegateContext.removeContextValue(clazz, null);
434 }
435
436 @Override
437 public <T> void removeContextValue(Class<T> clazz, String name) {
438 delegateContext.removeContextValue(clazz, name);
439 }
440
441 @Override
442 public <T> void setContextValue(T o) {
443 delegateContext.setContextValue(o, null);
444 }
445
446 @Override
447 public <T> void setContextValue(T o, String name) {
448 delegateContext.setContextValue(o, name);
449 }
450
451
452
453
454
455 @Override
456 public SwingValidator<?> getValidator(String validatorId) {
457 return (SwingValidator<?>) (validatorIds.contains(validatorId) ? getObjectById(validatorId) : null);
458 }
459
460 @Override
461 public List<String> getValidatorIds() {
462 return validatorIds;
463 }
464
465 @Override
466 public void registerValidatorFields() {
467 SwingValidatorUtil.detectValidatorFields(this);
468 }
469
470
471
472
473
474 public void doActionPerformed__on__cancelButton(ActionEvent event) {
475 if (log.isDebugEnabled()) {
476 log.debug(event);
477 }
478 handler.cancel();
479 }
480
481 public void doActionPerformed__on__validateButton(ActionEvent event) {
482 if (log.isDebugEnabled()) {
483 log.debug(event);
484 }
485 handler.validate();
486 }
487
488
489
490
491
492 public JButton getCancelButton() {
493 return cancelButton;
494 }
495
496 public SampleCodeEditionPopupUIHandler getHandler() {
497 return handler;
498 }
499
500 public Table getMainPanel() {
501 return mainPanel;
502 }
503
504 public SampleCodeEditionPopupUIModel getModel() {
505 return model;
506 }
507
508 public NumberEditor getSampleCodeField() {
509 return sampleCodeField;
510 }
511
512 public JLabel getSampleCodeLabel() {
513 return sampleCodeLabel;
514 }
515
516 public JLabel getSampleCodePrefix() {
517 return sampleCodePrefix;
518 }
519
520 public JButton getValidateButton() {
521 return validateButton;
522 }
523
524 public SwingValidator<SampleCodeEditionPopupUIModel> getValidator() {
525 return validator;
526 }
527
528
529
530
531
532 public void setModel(SampleCodeEditionPopupUIModel model) {
533 SampleCodeEditionPopupUIModel oldValue = this.model;
534 this.model = model;
535 firePropertyChange(PROPERTY_MODEL, oldValue, model);
536 }
537
538
539
540
541
542 protected JPanel get$JPanel0() {
543 return $JPanel0;
544 }
545
546
547
548
549
550 protected void addChildrenToMainPanel() {
551 if (!allComponentsCreated) {
552 return;
553 }
554 mainPanel.add(sampleCodeLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
555 mainPanel.add(sampleCodePrefix, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
556 mainPanel.add(SwingUtil.boxComponentWithJxLayer(sampleCodeField), new GridBagConstraints(2, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
557 mainPanel.add($JPanel0, new GridBagConstraints(0, 1, 3, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
558 }
559
560 protected void addChildrenToSampleCodeEditionDialog() {
561 if (!allComponentsCreated) {
562 return;
563 }
564 add(mainPanel);
565 }
566
567 protected void addChildrenToValidator() {
568 if (!allComponentsCreated) {
569 return;
570 }
571 validator.setUiClass(ImageValidationUI.class);
572 validator.setBean(model);
573 }
574
575 protected void createCancelButton() {
576 $objectMap.put("cancelButton", cancelButton = new JButton());
577
578 cancelButton.setName("cancelButton");
579 cancelButton.setText(t("tutti.common.cancel"));
580 cancelButton.setToolTipText(t("tutti.common.cancel"));
581 cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
582 cancelButton.putClientProperty("skipAction", true);
583 }
584
585 protected SampleCodeEditionPopupUIHandler createHandler() {
586 return new SampleCodeEditionPopupUIHandler();
587 }
588
589 protected void createMainPanel() {
590 $objectMap.put("mainPanel", mainPanel = new Table());
591
592 mainPanel.setName("mainPanel");
593 }
594
595 protected void createModel() {
596 $objectMap.put("model", model = new SampleCodeEditionPopupUIModel());
597 }
598
599 protected void createSampleCodeField() {
600 $objectMap.put("sampleCodeField", sampleCodeField = new NumberEditor());
601
602 sampleCodeField.setName("sampleCodeField");
603 sampleCodeField.setProperty("sampleCode");
604 sampleCodeField.setShowReset(true);
605 sampleCodeField.putClientProperty("selectOnFocus", true);
606 }
607
608 protected void createSampleCodeLabel() {
609 $objectMap.put("sampleCodeLabel", sampleCodeLabel = new JLabel());
610
611 sampleCodeLabel.setName("sampleCodeLabel");
612 sampleCodeLabel.setText(t("tutti.editIndividualObservationBatch.table.editor.sampleCodeEdition.sampleCode.label"));
613 }
614
615 protected void createSampleCodePrefix() {
616 $objectMap.put("sampleCodePrefix", sampleCodePrefix = new JLabel());
617
618 sampleCodePrefix.setName("sampleCodePrefix");
619 }
620
621 protected void createValidateButton() {
622 $objectMap.put("validateButton", validateButton = new JButton());
623
624 validateButton.setName("validateButton");
625 validateButton.setText(t("tutti.common.validate"));
626 validateButton.setToolTipText(t("tutti.common.validate"));
627 validateButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validateButton"));
628 validateButton.putClientProperty("skipAction", true);
629 }
630
631 protected void createValidator() {
632 $objectMap.put("validator", validator = SwingValidator.newValidator(SampleCodeEditionPopupUIModel.class, null));
633 }
634
635
636
637
638
639 private void $completeSetup() {
640 allComponentsCreated = true;
641 if (log.isDebugEnabled()) {
642 log.debug(this);
643 }
644 addChildrenToSampleCodeEditionDialog();
645 addChildrenToValidator();
646 addChildrenToMainPanel();
647
648 $JPanel0.add(cancelButton);
649 $JPanel0.add(validateButton);
650
651
652 JAXXUtil.applyDataBinding(this, $bindings.keySet());
653
654
655 sampleCodeLabel.setLabelFor(sampleCodeField);
656 sampleCodeField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
657 sampleCodeField.setNumberType(Integer.class);
658 sampleCodeField.setNumberPattern(TuttiUI.INT_6_DIGITS_PATTERN);
659 sampleCodeField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
660 sampleCodeField.setBean(model);
661 cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.common.cancel.mnemonic"),'Z'));
662 cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
663 validateButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.common.validate.mnemonic"),'Z'));
664 validateButton.setIcon(SwingUtil.createActionIcon("validate"));
665
666 sampleCodeEditionDialog.pack();
667
668 validatorIds = SwingValidatorUtil.detectValidators(this);
669 SwingValidatorUtil.installUI(this);
670 }
671
672 private void $initialize() {
673 if (allComponentsCreated) {
674 return;
675 }
676 if (log.isDebugEnabled()) {
677 log.debug(this);
678 }
679 handler.beforeInit(this);
680 $objectMap.put("sampleCodeEditionDialog", sampleCodeEditionDialog);
681 createModel();
682 createValidator();
683 createMainPanel();
684 createSampleCodeLabel();
685 createSampleCodePrefix();
686 createSampleCodeField();
687
688 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
689
690 $JPanel0.setName("$JPanel0");
691 $JPanel0.setLayout(new GridLayout(1, 0));
692 createCancelButton();
693 createValidateButton();
694
695 setName("sampleCodeEditionDialog");
696 sampleCodeEditionDialog.getContentPane().setLayout(new BorderLayout());
697 setTitle(t("tutti.editIndividualObservationBatch.table.editor.sampleCodeEdition.title"));
698 setModal(true);
699
700
701 $registerDefaultBindings();
702 $completeSetup();
703 handler.afterInit(this);
704 }
705
706 private void $registerDefaultBindings() {
707
708 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAMPLE_CODE_PREFIX_TEXT, true, true) {
709
710 @Override
711 public void applyDataBinding() {
712 addPropertyChangeListener("model", this);
713 if (getModel() != null) {
714 getModel().addPropertyChangeListener("sampleCodePrefix", this);
715 }
716 }
717
718 @Override
719 public void processDataBinding() {
720 if (getModel() != null && getModel().getSampleCodePrefix() != null) {
721 sampleCodePrefix.setText(t(getModel().getSampleCodePrefix().toString()));
722 }
723 }
724
725 @Override
726 public void removeDataBinding() {
727 removePropertyChangeListener("model", this);
728 if (getModel() != null) {
729 getModel().removePropertyChangeListener("sampleCodePrefix", this);
730 }
731 }
732 });
733 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAMPLE_CODE_FIELD_NUMBER_VALUE, true) {
734
735 @Override
736 public void applyDataBinding() {
737 if (model != null) {
738 model.addPropertyChangeListener("sampleCode", this);
739 }
740 }
741
742 @Override
743 public void processDataBinding() {
744 if (model != null) {
745 sampleCodeField.setNumberValue(model.getSampleCode());
746 }
747 }
748
749 @Override
750 public void removeDataBinding() {
751 if (model != null) {
752 model.removePropertyChangeListener("sampleCode", this);
753 }
754 }
755 });
756 registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_BUTTON_ENABLED, true) {
757
758 @Override
759 public void applyDataBinding() {
760 if (validator != null) {
761 validator.addPropertyChangeListener("valid", this);
762 }
763 }
764
765 @Override
766 public void processDataBinding() {
767 if (validator != null) {
768 validateButton.setEnabled(validator.isValid());
769 }
770 }
771
772 @Override
773 public void removeDataBinding() {
774 if (validator != null) {
775 validator.removePropertyChangeListener("valid", this);
776 }
777 }
778 });
779 }
780
781 }