1 package fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.create;
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.referential.CaracteristicQualitativeValue;
28 import fr.ifremer.tutti.ui.swing.TuttiHelpBroker;
29 import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUI;
30 import fr.ifremer.tutti.ui.swing.util.TuttiUI;
31 import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
32 import java.awt.BorderLayout;
33 import java.awt.Component;
34 import java.awt.Container;
35 import java.awt.GridBagConstraints;
36 import java.awt.GridLayout;
37 import java.awt.Insets;
38 import java.awt.LayoutManager;
39 import java.util.ArrayList;
40 import java.util.HashMap;
41 import java.util.List;
42 import java.util.Map;
43 import java.util.TreeMap;
44 import javax.swing.JButton;
45 import javax.swing.JLabel;
46 import javax.swing.JPanel;
47 import jaxx.runtime.JAXXBinding;
48 import jaxx.runtime.JAXXContext;
49 import jaxx.runtime.JAXXObject;
50 import jaxx.runtime.JAXXObjectDescriptor;
51 import jaxx.runtime.JAXXUtil;
52 import jaxx.runtime.JAXXValidator;
53 import jaxx.runtime.SwingUtil;
54 import jaxx.runtime.binding.DefaultJAXXBinding;
55 import jaxx.runtime.binding.SimpleJAXXObjectBinding;
56 import jaxx.runtime.context.DefaultJAXXContext;
57 import jaxx.runtime.swing.Table;
58 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
59 import jaxx.runtime.swing.help.JAXXHelpUI;
60 import jaxx.runtime.validator.swing.SwingValidator;
61 import jaxx.runtime.validator.swing.SwingValidatorUtil;
62 import jaxx.runtime.validator.swing.meta.Validator;
63 import jaxx.runtime.validator.swing.meta.ValidatorField;
64 import jaxx.runtime.validator.swing.ui.ImageValidationUI;
65 import org.apache.commons.logging.Log;
66 import org.apache.commons.logging.LogFactory;
67 import org.nuiton.jaxx.widgets.number.NumberEditor;
68 import static org.nuiton.i18n.I18n.t;
69
70 public class CreateMarineLitterBatchUI extends JPanel implements JAXXHelpUI<TuttiHelpBroker>, TuttiUI<CreateMarineLitterBatchUIModel, CreateMarineLitterBatchUIHandler>, JAXXObject, JAXXValidator {
71
72
73
74
75
76 public static final String BINDING_MARINE_LITTER_CATEGORY_COMBO_BOX_SELECTED_ITEM = "marineLitterCategoryComboBox.selectedItem";
77 public static final String BINDING_MARINE_LITTER_NUMBER_FIELD_NUMBER_PATTERN = "marineLitterNumberField.numberPattern";
78 public static final String BINDING_MARINE_LITTER_NUMBER_FIELD_NUMBER_VALUE = "marineLitterNumberField.numberValue";
79 public static final String BINDING_MARINE_LITTER_SIZE_CATEGORY_COMBO_BOX_SELECTED_ITEM = "marineLitterSizeCategoryComboBox.selectedItem";
80 public static final String BINDING_MARINE_LITTER_WEIGHT_FIELD_NUMBER_VALUE = "marineLitterWeightField.numberValue";
81 public static final String BINDING_SAVE_AND_CLOSE_BUTTON_ENABLED = "saveAndCloseButton.enabled";
82 public static final String BINDING_SAVE_AND_CONTINUE_BUTTON_ENABLED = "saveAndContinueButton.enabled";
83
84
85
86
87
88 private static final String $jaxxObjectDescriptor = "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";
89 private static final Log log = LogFactory.getLog(CreateMarineLitterBatchUI.class);
90 private static final long serialVersionUID = 1L;
91
92
93
94
95
96 protected List<Object> $activeBindings = new ArrayList<Object>();
97 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
98 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
99 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
100 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
101 private boolean allComponentsCreated;
102 protected final JAXXContext delegateContext = new DefaultJAXXContext();
103
104
105
106
107
108 protected TuttiHelpBroker broker;
109 protected JButton cancelButton;
110 protected Table configurationPanel;
111 protected CreateMarineLitterBatchUI createMarineLitterBatchTopPanel = this;
112 protected final CreateMarineLitterBatchUIHandler handler = createHandler();
113 @ValidatorField( validatorId = "validator", propertyName = "marineLitterCategory", editorName = "marineLitterCategoryComboBox")
114 protected BeanFilterableComboBox<CaracteristicQualitativeValue> marineLitterCategoryComboBox;
115 protected JLabel marineLitterCategoryLabel;
116 @ValidatorField( validatorId = "validator", propertyName = "number", editorName = "marineLitterNumberField")
117 protected NumberEditor marineLitterNumberField;
118 protected JLabel marineLitterNumberLabel;
119 @ValidatorField( validatorId = "validator", propertyName = "marineLitterSizeCategory", editorName = "marineLitterSizeCategoryComboBox")
120 protected BeanFilterableComboBox<CaracteristicQualitativeValue> marineLitterSizeCategoryComboBox;
121 protected JLabel marineLitterSizeCategoryLabel;
122 @ValidatorField( validatorId = "validator", propertyName = "weight", editorName = "marineLitterWeightField")
123 protected NumberEditor marineLitterWeightField;
124 protected JLabel marineLitterWeightLabel;
125 protected CreateMarineLitterBatchUIModel model;
126 protected JButton saveAndCloseButton;
127 protected JButton saveAndContinueButton;
128 @Validator( validatorId = "validator")
129 protected SwingValidator<CreateMarineLitterBatchUIModel> validator;
130 protected List<String> validatorIds = new ArrayList<String>();
131
132
133
134
135
136 private JPanel $JPanel0;
137
138
139
140
141
142 public CreateMarineLitterBatchUI(EditCatchesUI parentUI) {
143 TuttiUIUtil.setParentUI(this, parentUI);
144 $initialize();
145 }
146
147 public CreateMarineLitterBatchUI(LayoutManager param0, boolean param1) {
148 super(param0 ,param1);
149 $initialize();
150 }
151
152 public CreateMarineLitterBatchUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
153 super(param1 ,param2);
154 JAXXUtil.initContext(this, parentContext);
155 $initialize();
156 }
157
158 public CreateMarineLitterBatchUI(LayoutManager param0) {
159 super(param0);
160 $initialize();
161 }
162
163 public CreateMarineLitterBatchUI(JAXXContext parentContext, LayoutManager param1) {
164 super(param1);
165 JAXXUtil.initContext(this, parentContext);
166 $initialize();
167 }
168
169 public CreateMarineLitterBatchUI() {
170 $initialize();
171 }
172
173 public CreateMarineLitterBatchUI(JAXXContext parentContext) {
174 JAXXUtil.initContext(this, parentContext);
175 $initialize();
176 }
177
178 public CreateMarineLitterBatchUI(boolean param0) {
179 super(param0);
180 $initialize();
181 }
182
183 public CreateMarineLitterBatchUI(JAXXContext parentContext, boolean param1) {
184 super(param1);
185 JAXXUtil.initContext(this, parentContext);
186 $initialize();
187 }
188
189
190
191
192
193 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
194 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
195 }
196
197
198
199
200
201 @Override
202 public void applyDataBinding(String $binding) {
203 if (allComponentsCreated && $bindings.containsKey($binding)) {
204 getDataBinding($binding).applyDataBinding();
205 }
206 processDataBinding($binding);
207 }
208
209 @Override
210 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
211 super.firePropertyChange(propertyName, oldValue, newValue);
212 }
213
214 @Override
215 public Map<String, Object> get$objectMap() {
216 return $objectMap;
217 }
218
219 @Override
220 public JAXXBinding getDataBinding(String bindingId) {
221 return $bindings.get(bindingId);
222 }
223
224 @Override
225 public JAXXBinding[] getDataBindings() {
226 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
227 }
228
229 @Override
230 public Object getObjectById(String id) {
231 return $objectMap.get(id);
232 }
233
234 @Override
235 public void processDataBinding(String $binding, boolean $force) {
236 if (!$force && $activeBindings.contains($binding)) {
237 return;
238 }
239 $activeBindings.add($binding);
240 try {
241 if (allComponentsCreated && $bindings.containsKey($binding)) {
242 getDataBinding($binding).processDataBinding();
243 }
244 } finally {
245 $activeBindings.remove($binding);
246 }
247 }
248
249 @Override
250 public void processDataBinding(String $binding) {
251 processDataBinding($binding, false);
252 }
253
254 @Override
255 public void registerDataBinding(JAXXBinding binding) {
256 $bindings.put(binding.getId(), binding);
257 }
258
259 @Override
260 public void removeDataBinding(String $binding) {
261 if (allComponentsCreated && $bindings.containsKey($binding)) {
262 getDataBinding($binding).removeDataBinding();
263 }
264 }
265
266
267
268
269
270 @Override
271 public <T> T getContextValue(Class<T> clazz) {
272 return delegateContext.getContextValue(clazz, null);
273 }
274
275 @Override
276 public <T> T getContextValue(Class<T> clazz, String name) {
277 return delegateContext.getContextValue(clazz, name);
278 }
279
280 @Override
281 public JAXXContext getDelegateContext() {
282 return delegateContext;
283 }
284
285 @Override
286 public <O extends Container> O getParentContainer(Class<O> clazz) {
287 return SwingUtil.getParentContainer(this, clazz);
288 }
289
290 @Override
291 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
292 return SwingUtil.getParentContainer(source, clazz);
293 }
294
295 @Override
296 public <T> void removeContextValue(Class<T> clazz) {
297 delegateContext.removeContextValue(clazz, null);
298 }
299
300 @Override
301 public <T> void removeContextValue(Class<T> clazz, String name) {
302 delegateContext.removeContextValue(clazz, name);
303 }
304
305 @Override
306 public <T> void setContextValue(T o) {
307 delegateContext.setContextValue(o, null);
308 }
309
310 @Override
311 public <T> void setContextValue(T o, String name) {
312 delegateContext.setContextValue(o, name);
313 }
314
315
316
317
318
319 @Override
320 public SwingValidator<?> getValidator(String validatorId) {
321 return (SwingValidator<?>) (validatorIds.contains(validatorId) ? getObjectById(validatorId) : null);
322 }
323
324 @Override
325 public List<String> getValidatorIds() {
326 return validatorIds;
327 }
328
329 @Override
330 public void registerValidatorFields() {
331 SwingValidatorUtil.detectValidatorFields(this);
332 }
333
334
335
336
337
338 public TuttiHelpBroker getBroker() {
339 return broker;
340 }
341
342 public JButton getCancelButton() {
343 return cancelButton;
344 }
345
346 public Table getConfigurationPanel() {
347 return configurationPanel;
348 }
349
350 public CreateMarineLitterBatchUIHandler getHandler() {
351 return handler;
352 }
353
354 public BeanFilterableComboBox<CaracteristicQualitativeValue> getMarineLitterCategoryComboBox() {
355 return marineLitterCategoryComboBox;
356 }
357
358 public JLabel getMarineLitterCategoryLabel() {
359 return marineLitterCategoryLabel;
360 }
361
362 public NumberEditor getMarineLitterNumberField() {
363 return marineLitterNumberField;
364 }
365
366 public JLabel getMarineLitterNumberLabel() {
367 return marineLitterNumberLabel;
368 }
369
370 public BeanFilterableComboBox<CaracteristicQualitativeValue> getMarineLitterSizeCategoryComboBox() {
371 return marineLitterSizeCategoryComboBox;
372 }
373
374 public JLabel getMarineLitterSizeCategoryLabel() {
375 return marineLitterSizeCategoryLabel;
376 }
377
378 public NumberEditor getMarineLitterWeightField() {
379 return marineLitterWeightField;
380 }
381
382 public JLabel getMarineLitterWeightLabel() {
383 return marineLitterWeightLabel;
384 }
385
386 public CreateMarineLitterBatchUIModel getModel() {
387 return model;
388 }
389
390 public JButton getSaveAndCloseButton() {
391 return saveAndCloseButton;
392 }
393
394 public JButton getSaveAndContinueButton() {
395 return saveAndContinueButton;
396 }
397
398 public SwingValidator<CreateMarineLitterBatchUIModel> getValidator() {
399 return validator;
400 }
401
402
403
404
405
406 @Override
407 public void registerHelpId(TuttiHelpBroker broker, Component component, String helpId) {
408 broker.installUI(component, helpId);
409 }
410
411 @Override
412 public void showHelp(String helpId) {
413 getBroker().showHelp(this, helpId);
414 }
415
416
417
418
419
420 protected JPanel get$JPanel0() {
421 return $JPanel0;
422 }
423
424
425
426
427
428 protected void addChildrenToConfigurationPanel() {
429 if (!allComponentsCreated) {
430 return;
431 }
432 configurationPanel.add(marineLitterCategoryLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
433 configurationPanel.add(SwingUtil.boxComponentWithJxLayer(marineLitterCategoryComboBox), new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
434 configurationPanel.add(marineLitterSizeCategoryLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
435 configurationPanel.add(SwingUtil.boxComponentWithJxLayer(marineLitterSizeCategoryComboBox), new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
436 configurationPanel.add(marineLitterNumberLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
437 configurationPanel.add(SwingUtil.boxComponentWithJxLayer(marineLitterNumberField), new GridBagConstraints(1, 2, 2, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
438 configurationPanel.add(marineLitterWeightLabel, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, 17, 1, new Insets(3, 3, 3, 3), 0, 0));
439 configurationPanel.add(SwingUtil.boxComponentWithJxLayer(marineLitterWeightField), new GridBagConstraints(1, 3, 2, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
440 }
441
442 protected void addChildrenToCreateMarineLitterBatchTopPanel() {
443 if (!allComponentsCreated) {
444 return;
445 }
446 add(configurationPanel, BorderLayout.NORTH);
447 add($JPanel0, BorderLayout.SOUTH);
448 }
449
450 protected void addChildrenToValidator() {
451 if (!allComponentsCreated) {
452 return;
453 }
454 validator.setUiClass(ImageValidationUI.class);
455 validator.setBean(model);
456 }
457
458 protected void createBroker() {
459 $objectMap.put("broker", broker = new TuttiHelpBroker("tutti.createMarineLitterBatch.help"));
460 }
461
462 protected void createCancelButton() {
463 $objectMap.put("cancelButton", cancelButton = new JButton());
464
465 cancelButton.setName("cancelButton");
466 cancelButton.setText(t("tutti.createMarineLitterBatch.action.cancel"));
467 cancelButton.setToolTipText(t("tutti.createMarineLitterBatch.action.cancel.tip"));
468 cancelButton.putClientProperty("help", "tutti.createMarineLitterBatch.action.cancel.help");
469 cancelButton.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.create.actions.CreateMarineLitterBatchBatchCancelAction.class);
470 }
471
472 protected void createConfigurationPanel() {
473 $objectMap.put("configurationPanel", configurationPanel = new Table());
474
475 configurationPanel.setName("configurationPanel");
476 }
477
478 protected CreateMarineLitterBatchUIHandler createHandler() {
479 return new CreateMarineLitterBatchUIHandler();
480 }
481
482 protected void createMarineLitterCategoryComboBox() {
483 $objectMap.put("marineLitterCategoryComboBox", marineLitterCategoryComboBox = new BeanFilterableComboBox<CaracteristicQualitativeValue>(this));
484
485 marineLitterCategoryComboBox.setName("marineLitterCategoryComboBox");
486 marineLitterCategoryComboBox.setProperty("marineLitterCategory");
487 marineLitterCategoryComboBox.setShowReset(true);
488 marineLitterCategoryComboBox.putClientProperty("help", "tutti.createMarineLitterBatch.field.marineLitterCategory.help");
489 }
490
491 protected void createMarineLitterCategoryLabel() {
492 $objectMap.put("marineLitterCategoryLabel", marineLitterCategoryLabel = new JLabel());
493
494 marineLitterCategoryLabel.setName("marineLitterCategoryLabel");
495 marineLitterCategoryLabel.setText(t("tutti.createMarineLitterBatch.field.marineLitterCategory"));
496 marineLitterCategoryLabel.setToolTipText(t("tutti.createMarineLitterBatch.field.marineLitterCategory.tip"));
497 marineLitterCategoryLabel.putClientProperty("help", "tutti.createMarineLitterBatch.field.marineLitterCategory.help");
498 }
499
500 protected void createMarineLitterNumberField() {
501 $objectMap.put("marineLitterNumberField", marineLitterNumberField = new NumberEditor(this));
502
503 marineLitterNumberField.setName("marineLitterNumberField");
504 marineLitterNumberField.setProperty("number");
505 marineLitterNumberField.setShowReset(true);
506 marineLitterNumberField.putClientProperty("help", "tutti.createMarineLitterBatch.field.number.help");
507 }
508
509 protected void createMarineLitterNumberLabel() {
510 $objectMap.put("marineLitterNumberLabel", marineLitterNumberLabel = new JLabel());
511
512 marineLitterNumberLabel.setName("marineLitterNumberLabel");
513 marineLitterNumberLabel.setText(t("tutti.createMarineLitterBatch.field.number"));
514 marineLitterNumberLabel.setToolTipText(t("tutti.createMarineLitterBatch.field.number.tip"));
515 marineLitterNumberLabel.putClientProperty("help", "tutti.createMarineLitterBatch.field.number.help");
516 }
517
518 protected void createMarineLitterSizeCategoryComboBox() {
519 $objectMap.put("marineLitterSizeCategoryComboBox", marineLitterSizeCategoryComboBox = new BeanFilterableComboBox<CaracteristicQualitativeValue>(this));
520
521 marineLitterSizeCategoryComboBox.setName("marineLitterSizeCategoryComboBox");
522 marineLitterSizeCategoryComboBox.setProperty("marineLitterSizeCategory");
523 marineLitterSizeCategoryComboBox.setShowReset(true);
524 marineLitterSizeCategoryComboBox.putClientProperty("help", "tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help");
525 }
526
527 protected void createMarineLitterSizeCategoryLabel() {
528 $objectMap.put("marineLitterSizeCategoryLabel", marineLitterSizeCategoryLabel = new JLabel());
529
530 marineLitterSizeCategoryLabel.setName("marineLitterSizeCategoryLabel");
531 marineLitterSizeCategoryLabel.setText(t("tutti.createMarineLitterBatch.field.marineLitterSizeCategory"));
532 marineLitterSizeCategoryLabel.setToolTipText(t("tutti.createMarineLitterBatch.field.marineLitterSizeCategory.tip"));
533 marineLitterSizeCategoryLabel.putClientProperty("help", "tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help");
534 }
535
536 protected void createMarineLitterWeightField() {
537 $objectMap.put("marineLitterWeightField", marineLitterWeightField = new NumberEditor(this));
538
539 marineLitterWeightField.setName("marineLitterWeightField");
540 marineLitterWeightField.setProperty("weight");
541 marineLitterWeightField.setShowReset(true);
542 marineLitterWeightField.putClientProperty("help", "tutti.createMarineLitterBatch.field.weight.help");
543 }
544
545 protected void createMarineLitterWeightLabel() {
546 $objectMap.put("marineLitterWeightLabel", marineLitterWeightLabel = new JLabel());
547
548 marineLitterWeightLabel.setName("marineLitterWeightLabel");
549 marineLitterWeightLabel.setText(t("tutti.createMarineLitterBatch.field.weight"));
550 marineLitterWeightLabel.setToolTipText(t("tutti.createMarineLitterBatch.field.weight.tip"));
551 marineLitterWeightLabel.putClientProperty("help", "tutti.createMarineLitterBatch.field.weight.help");
552 marineLitterWeightLabel.putClientProperty("addWeightUnit", model.getWeightUnit());
553 }
554
555 protected void createModel() {
556 $objectMap.put("model", model = getContextValue(CreateMarineLitterBatchUIModel.class));
557 }
558
559 protected void createSaveAndCloseButton() {
560 $objectMap.put("saveAndCloseButton", saveAndCloseButton = new JButton());
561
562 saveAndCloseButton.setName("saveAndCloseButton");
563 saveAndCloseButton.setText(t("tutti.createMarineLitterBatch.action.saveAndClose"));
564 saveAndCloseButton.setToolTipText(t("tutti.createMarineLitterBatch.action.saveAndClose.tip"));
565 saveAndCloseButton.putClientProperty("help", "tutti.createMarineLitterBatch.action.saveAndClose.help");
566 saveAndCloseButton.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.create.actions.CreateMarineLitterBatchBatchAndCloseAction.class);
567 }
568
569 protected void createSaveAndContinueButton() {
570 $objectMap.put("saveAndContinueButton", saveAndContinueButton = new JButton());
571
572 saveAndContinueButton.setName("saveAndContinueButton");
573 saveAndContinueButton.setText(t("tutti.createMarineLitterBatch.action.saveAndContinue"));
574 saveAndContinueButton.setToolTipText(t("tutti.createMarineLitterBatch.action.saveAndContinue.tip"));
575 saveAndContinueButton.putClientProperty("help", "tutti.createMarineLitterBatch.action.saveAndContinue.help");
576 saveAndContinueButton.putClientProperty("simpleAction", fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter.create.actions.CreateMarineLitterBatchBatchAndContinueAction.class);
577 }
578
579 protected void createValidator() {
580 $objectMap.put("validator", validator = SwingValidator.newValidator(CreateMarineLitterBatchUIModel.class, null));
581 }
582
583
584
585
586
587 private void $completeSetup() {
588 allComponentsCreated = true;
589 if (log.isDebugEnabled()) {
590 log.debug(this);
591 }
592 addChildrenToCreateMarineLitterBatchTopPanel();
593 addChildrenToValidator();
594 addChildrenToConfigurationPanel();
595
596 $JPanel0.add(cancelButton);
597 $JPanel0.add(saveAndContinueButton);
598 $JPanel0.add(saveAndCloseButton);
599
600
601 JAXXUtil.applyDataBinding(this, $bindings.keySet());
602
603
604 marineLitterCategoryComboBox.setBeanType(CaracteristicQualitativeValue.class);
605 marineLitterSizeCategoryComboBox.setBeanType(CaracteristicQualitativeValue.class);
606 marineLitterCategoryLabel.setLabelFor(marineLitterCategoryComboBox);
607 marineLitterCategoryComboBox.setBean(model);
608 marineLitterSizeCategoryLabel.setLabelFor(marineLitterSizeCategoryComboBox);
609 marineLitterSizeCategoryComboBox.setBean(model);
610 marineLitterNumberLabel.setLabelFor(marineLitterNumberField);
611 marineLitterNumberField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
612 marineLitterNumberField.setNumberType(Integer.class);
613 marineLitterNumberField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
614 marineLitterNumberField.setBean(model);
615 marineLitterWeightLabel.setLabelFor(marineLitterWeightField);
616 marineLitterWeightField.setAutoPopup(handler.getConfig().isAutoPopupNumberEditor());
617 marineLitterWeightField.setNumberType(Float.class);
618 marineLitterWeightField.setShowPopupButton(handler.getConfig().isShowNumberEditorButton());
619 marineLitterWeightField.setBean(model);
620 cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.createMarineLitterBatch.action.cancel.mnemonic"),'Z'));
621 cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
622 saveAndContinueButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.createMarineLitterBatch.action.saveAndContinue.mnemonic"),'Z'));
623 saveAndContinueButton.setIcon(SwingUtil.createActionIcon("save"));
624 saveAndCloseButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.createMarineLitterBatch.action.saveAndClose.mnemonic"),'Z'));
625 saveAndCloseButton.setIcon(SwingUtil.createActionIcon("save"));
626
627
628 TuttiHelpBroker _broker = getBroker();
629 registerHelpId(_broker, createMarineLitterBatchTopPanel, "tutti.createMarineLitterBatch.help");
630 registerHelpId(_broker, marineLitterCategoryLabel, "tutti.createMarineLitterBatch.field.marineLitterCategory.help");
631 registerHelpId(_broker, marineLitterCategoryComboBox, "tutti.createMarineLitterBatch.field.marineLitterCategory.help");
632 registerHelpId(_broker, marineLitterSizeCategoryLabel, "tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help");
633 registerHelpId(_broker, marineLitterSizeCategoryComboBox, "tutti.createMarineLitterBatch.field.marineLitterSizeCategory.help");
634 registerHelpId(_broker, marineLitterNumberLabel, "tutti.createMarineLitterBatch.field.number.help");
635 registerHelpId(_broker, marineLitterNumberField, "tutti.createMarineLitterBatch.field.number.help");
636 registerHelpId(_broker, marineLitterWeightLabel, "tutti.createMarineLitterBatch.field.weight.help");
637 registerHelpId(_broker, marineLitterWeightField, "tutti.createMarineLitterBatch.field.weight.help");
638 registerHelpId(_broker, cancelButton, "tutti.createMarineLitterBatch.action.cancel.help");
639 registerHelpId(_broker, saveAndContinueButton, "tutti.createMarineLitterBatch.action.saveAndContinue.help");
640 registerHelpId(_broker, saveAndCloseButton, "tutti.createMarineLitterBatch.action.saveAndClose.help");
641 _broker.prepareUI(this);
642
643 validatorIds = SwingValidatorUtil.detectValidators(this);
644 SwingValidatorUtil.installUI(this);
645 }
646
647 private void $initialize() {
648 if (allComponentsCreated) {
649 return;
650 }
651 if (log.isDebugEnabled()) {
652 log.debug(this);
653 }
654 handler.beforeInit(this);
655 $objectMap.put("createMarineLitterBatchTopPanel", createMarineLitterBatchTopPanel);
656 createModel();
657 createValidator();
658 createBroker();
659 createConfigurationPanel();
660 createMarineLitterCategoryLabel();
661 createMarineLitterCategoryComboBox();
662 createMarineLitterSizeCategoryLabel();
663 createMarineLitterSizeCategoryComboBox();
664 createMarineLitterNumberLabel();
665 createMarineLitterNumberField();
666 createMarineLitterWeightLabel();
667 createMarineLitterWeightField();
668
669 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
670
671 $JPanel0.setName("$JPanel0");
672 $JPanel0.setLayout(new GridLayout(1, 0));
673 SwingUtil.setComponentHeight($JPanel0,50);
674 createCancelButton();
675 createSaveAndContinueButton();
676 createSaveAndCloseButton();
677
678 setName("createMarineLitterBatchTopPanel");
679 setLayout(new BorderLayout());
680 createMarineLitterBatchTopPanel.putClientProperty("help", "tutti.createMarineLitterBatch.help");
681
682
683 $registerDefaultBindings();
684 $completeSetup();
685 handler.afterInit(this);
686 }
687
688 private void $registerDefaultBindings() {
689
690 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MARINE_LITTER_CATEGORY_COMBO_BOX_SELECTED_ITEM, true) {
691
692 @Override
693 public void applyDataBinding() {
694 if (model != null) {
695 model.addPropertyChangeListener("marineLitterCategory", this);
696 }
697 }
698
699 @Override
700 public void processDataBinding() {
701 if (model != null) {
702 marineLitterCategoryComboBox.setSelectedItem(model.getMarineLitterCategory());
703 }
704 }
705
706 @Override
707 public void removeDataBinding() {
708 if (model != null) {
709 model.removePropertyChangeListener("marineLitterCategory", this);
710 }
711 }
712 });
713 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MARINE_LITTER_SIZE_CATEGORY_COMBO_BOX_SELECTED_ITEM, true) {
714
715 @Override
716 public void applyDataBinding() {
717 if (model != null) {
718 model.addPropertyChangeListener("marineLitterSizeCategory", this);
719 }
720 }
721
722 @Override
723 public void processDataBinding() {
724 if (model != null) {
725 marineLitterSizeCategoryComboBox.setSelectedItem(model.getMarineLitterSizeCategory());
726 }
727 }
728
729 @Override
730 public void removeDataBinding() {
731 if (model != null) {
732 model.removePropertyChangeListener("marineLitterSizeCategory", this);
733 }
734 }
735 });
736 registerDataBinding(new SimpleJAXXObjectBinding(this, BINDING_MARINE_LITTER_NUMBER_FIELD_NUMBER_PATTERN, true ,"INT_6_DIGITS_PATTERN") {
737
738 @Override
739 public void processDataBinding() {
740 marineLitterNumberField.setNumberPattern(INT_6_DIGITS_PATTERN);
741 }
742 });
743 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MARINE_LITTER_NUMBER_FIELD_NUMBER_VALUE, true) {
744
745 @Override
746 public void applyDataBinding() {
747 if (model != null) {
748 model.addPropertyChangeListener("number", this);
749 }
750 }
751
752 @Override
753 public void processDataBinding() {
754 if (model != null) {
755 marineLitterNumberField.setNumberValue(model.getNumber());
756 }
757 }
758
759 @Override
760 public void removeDataBinding() {
761 if (model != null) {
762 model.removePropertyChangeListener("number", this);
763 }
764 }
765 });
766 registerDataBinding(new DefaultJAXXBinding(this, BINDING_MARINE_LITTER_WEIGHT_FIELD_NUMBER_VALUE, true) {
767
768 @Override
769 public void applyDataBinding() {
770 if (model != null) {
771 model.addPropertyChangeListener("weight", this);
772 }
773 }
774
775 @Override
776 public void processDataBinding() {
777 if (model != null) {
778 marineLitterWeightField.setNumberValue(model.getWeight());
779 }
780 }
781
782 @Override
783 public void removeDataBinding() {
784 if (model != null) {
785 model.removePropertyChangeListener("weight", this);
786 }
787 }
788 });
789 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAVE_AND_CONTINUE_BUTTON_ENABLED, true) {
790
791 @Override
792 public void applyDataBinding() {
793 if (model != null) {
794 model.addPropertyChangeListener("valid", this);
795 }
796 }
797
798 @Override
799 public void processDataBinding() {
800 if (model != null) {
801 saveAndContinueButton.setEnabled(model.isValid());
802 }
803 }
804
805 @Override
806 public void removeDataBinding() {
807 if (model != null) {
808 model.removePropertyChangeListener("valid", this);
809 }
810 }
811 });
812 registerDataBinding(new DefaultJAXXBinding(this, BINDING_SAVE_AND_CLOSE_BUTTON_ENABLED, true) {
813
814 @Override
815 public void applyDataBinding() {
816 if (model != null) {
817 model.addPropertyChangeListener("valid", this);
818 }
819 }
820
821 @Override
822 public void processDataBinding() {
823 if (model != null) {
824 saveAndCloseButton.setEnabled(model.isValid());
825 }
826 }
827
828 @Override
829 public void removeDataBinding() {
830 if (model != null) {
831 model.removePropertyChangeListener("valid", this);
832 }
833 }
834 });
835 }
836
837 }