1 package fr.ifremer.dali.ui.swing.content.extraction.config.preset;
2
3 import fr.ifremer.dali.dto.referential.pmfm.PmfmDTO;
4 import fr.ifremer.dali.dto.referential.pmfm.QualitativeValueDTO;
5 import fr.ifremer.dali.ui.swing.DaliUIContext;
6 import fr.ifremer.dali.ui.swing.util.DaliUI;
7 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
8 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
9 import fr.ifremer.quadrige3.ui.swing.component.bean.ExtendedBeanDoubleList;
10 import fr.ifremer.quadrige3.ui.swing.table.SwingTable;
11 import java.awt.BorderLayout;
12 import java.awt.Component;
13 import java.awt.Container;
14 import java.awt.Dialog;
15 import java.awt.Dialog.ModalityType;
16 import java.awt.Frame;
17 import java.awt.GraphicsConfiguration;
18 import java.awt.GridLayout;
19 import java.awt.Window;
20 import java.awt.event.ActionEvent;
21 import java.awt.event.ActionListener;
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26 import java.util.TreeMap;
27 import javax.swing.BorderFactory;
28 import javax.swing.JButton;
29 import javax.swing.JDialog;
30 import javax.swing.JLabel;
31 import javax.swing.JPanel;
32 import javax.swing.JScrollPane;
33 import javax.swing.SwingConstants;
34 import jaxx.runtime.JAXXBinding;
35 import jaxx.runtime.JAXXContext;
36 import jaxx.runtime.JAXXObject;
37 import jaxx.runtime.JAXXObjectDescriptor;
38 import jaxx.runtime.JAXXUtil;
39 import jaxx.runtime.JAXXValidator;
40 import jaxx.runtime.SwingUtil;
41 import jaxx.runtime.binding.DefaultJAXXBinding;
42 import jaxx.runtime.context.DefaultJAXXContext;
43 import jaxx.runtime.validator.swing.SwingValidator;
44 import jaxx.runtime.validator.swing.SwingValidatorUtil;
45 import jaxx.runtime.validator.swing.meta.Validator;
46 import jaxx.runtime.validator.swing.meta.ValidatorField;
47 import jaxx.runtime.validator.swing.ui.ImageValidationUI;
48 import org.apache.commons.logging.Log;
49 import org.apache.commons.logging.LogFactory;
50 import static org.nuiton.i18n.I18n.t;
51
52 public class PmfmPresetUI extends JDialog implements DaliUI<PmfmPresetUIModel, PmfmPresetUIHandler>, JAXXObject, JAXXValidator {
53
54
55
56
57
58 public static final String BINDING_VALID_BUTTON_ENABLED = "validButton.enabled";
59 public static final String BINDING_VALUE_DOUBLE_LIST_ENABLED = "valueDoubleList.enabled";
60
61
62
63
64
65 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAM1XzW8bRRSfuHESJ2lD81naBpIUQULRhjaIDwXoh5OItEmJ4rRU5MJ4d2xPNd7dzs42dqMg/gT+BLhzQeLGCXHgAJceuCAu/AEIcYAj4s3s7qzXWX9UDqKRsrL3vfeb33tv5vfGX/2Osh5H8w9wrWZw3xa0SoxbN+7f/7D4gJhijXgmp65wOAr++jIos49GLP3eE+jS/pYMXw7Dl/NO1XVsYjdEr26hYU/UGfEqhAiBZpMRpuctF7R5teb6PELVpNJQv/jzj8zn1mdfZhCqucBuElKZ6xQVZ9K/hTLUEmgcVnqElxm2y0CDU7sMfE/Ld3mGPe8OrpKH6FM0uIUGXMwBTKCF7lNWGCq+5go06lZL1R1OPCLubgq0UeIGLXFSJdywMKOGTw3vABgYpmMLADRITXBsCurY8lWJlg1XRRs7DUCuq1YYEChbdSzCBLp9MsDbEi1Gzz0CKAtDegJdThRaG8JVCvJ5L3oZIwy9dGsH24S9DmWXFa6F/sFb6ZTTvmNxrbR1Uj7GtcuEdNnDRUYKJncYk34CzSSQY4sMmoqT0bECGQ3leuhji9MyWYlrJqRXkJMKkAgzGmgEkveJl+Q4dSzlK9o2q21ngChlEnILF2XfkkVRL6XrizritEcYnExiadulpMOYYrPm+BKUerBZ8+2TM6PNaxQJto31GmwPi1g34UuMkqQ9Ak3xWcuuRBlf1bYlbZvUGe8qjGQal+PORnm2d5sMmUArk2QXk8tGlFY0pXifjZrYNgm76QsBZwNNJFoQvJWeK4mGUyu2vBWaObqQOBSga0asa7Hw9O2jLPfhtUDn9o9L4S6YAhE81ySCElBZ/5me+PnbX7/ZiJTvPKw9leraINygSC53XMIFlUuPBbLnC8qWt7G7uo9yQc2Vql9MIVYIzUAO1jsrww0ZbnyAvQpAZAd/+e776U+enEKZDTTMHGxtYOm/iXKiAo2qOMyqudeuK0ajB0PwfA7+Twk0XKJMEB4cxn7BfSJ3esU5WCOmwwPByZYw86RZblOBBg+V1B3VoE4XU+qkyRZzP/w1Ufj6elSrPuD+fEv3uF7Zj9EAtRm1iZoT4QhInQsjrkd8y4mlPk38Ecj/dPrpCvXxmnrm0wqUg/LRx4n6ZAUV8uu80vcUOYczYYQ+cixgFobWfLnMbVUK+WkbNc0ltwOfPoEGig63YCehncOb6lPQ6bphcoIF2ZPLWoFlUSwutKEYLBoQXVhaOkpj1zwJnobg3RMiGJezFcu0YdSJaQbCKg6nj0F5MLvBaNmuqhvGzKEaN3nH9gRsd8/Ir9/ZW989kj0EngJdUJSDc2NoUTWYFMo0dk2j5r8jdr6RWKTirXklB9rTdPajE+psML7b97ZxxnfiCMd1HLMDXPcKoFuFMD19bodCEa5DT6Lc7yl0EDViyw6B88uBvBllIgpQbthT0Tx0DhaX5ubfm7N9xtJPS9MN4P+oaTCWO9S04Rbx7JyT1AvKM3Na0q5FXfS3Yc81Icibk5dah7SbVael+mGS0Ctv29s2qTo2NaPywx2zKveJumgZVW0dDjbQpvxRggYCsy7N+PFQ2DTCcdgedfdauaROt8YbXqccssdymG1cJfylQ1pmgU2TuEJnMZkW3JxHC6dYDs6GckA99aNqsbVKRRfTbk49w3UHnNGZd2E9PFektgWb9f1j0H3yOdwRUb7+UT5+SkeY6BlhumeEF3pGmOvmvMk76l7dJW1wXumZyas9I7zWFcJvbRCu9szhjS7q2U/N4KdWC4w3u2LxdxuEdwDhX7F50vUOEwAA";
66 private static final Log log = LogFactory.getLog(PmfmPresetUI.class);
67 private static final long serialVersionUID = 1L;
68
69
70
71
72
73 protected List<Object> $activeBindings = new ArrayList<Object>();
74 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
75 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
76 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
77 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
78 private boolean allComponentsCreated;
79 protected final JAXXContext delegateContext = new DefaultJAXXContext();
80
81
82
83
84
85 protected JLabel availableLabel;
86 protected JLabel availableResultLabel;
87 protected JButton cancelButton;
88 protected final PmfmPresetUIHandler handler = createHandler();
89 protected PmfmPresetUIModel model;
90 protected JPanel pmfmPresetPanel;
91 protected PmfmPresetUI pmfmPresetUI = this;
92 protected SwingTable pmfmTable;
93 @ValidatorField( validatorId = "validator", propertyName = "presetValid", editorName = "pmfmTableScrollPane")
94 protected JScrollPane pmfmTableScrollPane;
95 protected JPanel resultPanel;
96 @ValidatorField( validatorId = "validator", propertyName = "resultValid", editorName = "resultPmfmDoubleList")
97 protected ExtendedBeanDoubleList<PmfmDTO> resultPmfmDoubleList;
98 protected JLabel selectedLabel;
99 protected JLabel selectedResultLabel;
100 protected JButton validButton;
101 @Validator( validatorId = "validator")
102 protected SwingValidator<PmfmPresetUIModel> validator;
103 protected List<String> validatorIds = new ArrayList<String>();
104 protected ExtendedBeanDoubleList<QualitativeValueDTO> valueDoubleList;
105 protected JPanel valuesPanel;
106
107
108
109
110
111 private JPanel $JPanel0;
112 private JPanel $JPanel1;
113 private JPanel $JPanel2;
114 private JPanel $JPanel3;
115
116
117
118
119
120 public PmfmPresetUI(DaliUIContext context) {
121 super(context.getMainUI());
122 ApplicationUIUtil.setApplicationContext(this, context);
123 $initialize();
124 }
125
126 public PmfmPresetUI(Window param0) {
127 super(param0);
128 $initialize();
129 }
130
131 public PmfmPresetUI(JAXXContext parentContext, Window param1) {
132 super(param1);
133 JAXXUtil.initContext(this, parentContext);
134 $initialize();
135 }
136
137 public PmfmPresetUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
138 super(param0 ,param1 ,param2 ,param3);
139 $initialize();
140 }
141
142 public PmfmPresetUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
143 super(param1 ,param2 ,param3 ,param4);
144 JAXXUtil.initContext(this, parentContext);
145 $initialize();
146 }
147
148 public PmfmPresetUI(Dialog param0, String param1, boolean param2) {
149 super(param0 ,param1 ,param2);
150 $initialize();
151 }
152
153 public PmfmPresetUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
154 super(param1 ,param2 ,param3);
155 JAXXUtil.initContext(this, parentContext);
156 $initialize();
157 }
158
159 public PmfmPresetUI(Dialog param0, String param1) {
160 super(param0 ,param1);
161 $initialize();
162 }
163
164 public PmfmPresetUI(JAXXContext parentContext, Dialog param1, String param2) {
165 super(param1 ,param2);
166 JAXXUtil.initContext(this, parentContext);
167 $initialize();
168 }
169
170 public PmfmPresetUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
171 super(param0 ,param1 ,param2 ,param3);
172 $initialize();
173 }
174
175 public PmfmPresetUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
176 super(param1 ,param2 ,param3 ,param4);
177 JAXXUtil.initContext(this, parentContext);
178 $initialize();
179 }
180
181 public PmfmPresetUI(Window param0, String param1, ModalityType param2) {
182 super(param0 ,param1 ,param2);
183 $initialize();
184 }
185
186 public PmfmPresetUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
187 super(param1 ,param2 ,param3);
188 JAXXUtil.initContext(this, parentContext);
189 $initialize();
190 }
191
192 public PmfmPresetUI(Window param0, String param1) {
193 super(param0 ,param1);
194 $initialize();
195 }
196
197 public PmfmPresetUI(JAXXContext parentContext, Window param1, String param2) {
198 super(param1 ,param2);
199 JAXXUtil.initContext(this, parentContext);
200 $initialize();
201 }
202
203 public PmfmPresetUI(Window param0, ModalityType param1) {
204 super(param0 ,param1);
205 $initialize();
206 }
207
208 public PmfmPresetUI(JAXXContext parentContext, Window param1, ModalityType param2) {
209 super(param1 ,param2);
210 JAXXUtil.initContext(this, parentContext);
211 $initialize();
212 }
213
214 public PmfmPresetUI(Frame param0, String param1) {
215 super(param0 ,param1);
216 $initialize();
217 }
218
219 public PmfmPresetUI(JAXXContext parentContext, Frame param1, String param2) {
220 super(param1 ,param2);
221 JAXXUtil.initContext(this, parentContext);
222 $initialize();
223 }
224
225 public PmfmPresetUI(Frame param0, boolean param1) {
226 super(param0 ,param1);
227 $initialize();
228 }
229
230 public PmfmPresetUI(JAXXContext parentContext, Frame param1, boolean param2) {
231 super(param1 ,param2);
232 JAXXUtil.initContext(this, parentContext);
233 $initialize();
234 }
235
236 public PmfmPresetUI(Frame param0) {
237 super(param0);
238 $initialize();
239 }
240
241 public PmfmPresetUI(JAXXContext parentContext, Frame param1) {
242 super(param1);
243 JAXXUtil.initContext(this, parentContext);
244 $initialize();
245 }
246
247 public PmfmPresetUI() {
248 $initialize();
249 }
250
251 public PmfmPresetUI(JAXXContext parentContext) {
252 JAXXUtil.initContext(this, parentContext);
253 $initialize();
254 }
255
256 public PmfmPresetUI(Dialog param0, boolean param1) {
257 super(param0 ,param1);
258 $initialize();
259 }
260
261 public PmfmPresetUI(JAXXContext parentContext, Dialog param1, boolean param2) {
262 super(param1 ,param2);
263 JAXXUtil.initContext(this, parentContext);
264 $initialize();
265 }
266
267 public PmfmPresetUI(Dialog param0) {
268 super(param0);
269 $initialize();
270 }
271
272 public PmfmPresetUI(JAXXContext parentContext, Dialog param1) {
273 super(param1);
274 JAXXUtil.initContext(this, parentContext);
275 $initialize();
276 }
277
278 public PmfmPresetUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
279 super(param0 ,param1 ,param2 ,param3);
280 $initialize();
281 }
282
283 public PmfmPresetUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
284 super(param1 ,param2 ,param3 ,param4);
285 JAXXUtil.initContext(this, parentContext);
286 $initialize();
287 }
288
289 public PmfmPresetUI(Frame param0, String param1, boolean param2) {
290 super(param0 ,param1 ,param2);
291 $initialize();
292 }
293
294 public PmfmPresetUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
295 super(param1 ,param2 ,param3);
296 JAXXUtil.initContext(this, parentContext);
297 $initialize();
298 }
299
300
301
302
303
304 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
305 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
306 }
307
308
309
310
311
312 @Override
313 public void applyDataBinding(String $binding) {
314 if (allComponentsCreated && $bindings.containsKey($binding)) {
315 getDataBinding($binding).applyDataBinding();
316 }
317 processDataBinding($binding);
318 }
319
320 @Override
321 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
322 super.firePropertyChange(propertyName, oldValue, newValue);
323 }
324
325 @Override
326 public Map<String, Object> get$objectMap() {
327 return $objectMap;
328 }
329
330 @Override
331 public JAXXBinding getDataBinding(String bindingId) {
332 return $bindings.get(bindingId);
333 }
334
335 @Override
336 public JAXXBinding[] getDataBindings() {
337 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
338 }
339
340 @Override
341 public Object getObjectById(String id) {
342 return $objectMap.get(id);
343 }
344
345 @Override
346 public void processDataBinding(String $binding, boolean $force) {
347 if (!$force && $activeBindings.contains($binding)) {
348 return;
349 }
350 $activeBindings.add($binding);
351 try {
352 if (allComponentsCreated && $bindings.containsKey($binding)) {
353 getDataBinding($binding).processDataBinding();
354 }
355 } finally {
356 $activeBindings.remove($binding);
357 }
358 }
359
360 @Override
361 public void processDataBinding(String $binding) {
362 processDataBinding($binding, false);
363 }
364
365 @Override
366 public void registerDataBinding(JAXXBinding binding) {
367 $bindings.put(binding.getId(), binding);
368 }
369
370 @Override
371 public void removeDataBinding(String $binding) {
372 if (allComponentsCreated && $bindings.containsKey($binding)) {
373 getDataBinding($binding).removeDataBinding();
374 }
375 }
376
377
378
379
380
381 @Override
382 public <T> T getContextValue(Class<T> clazz) {
383 return delegateContext.getContextValue(clazz, null);
384 }
385
386 @Override
387 public <T> T getContextValue(Class<T> clazz, String name) {
388 return delegateContext.getContextValue(clazz, name);
389 }
390
391 @Override
392 public JAXXContext getDelegateContext() {
393 return delegateContext;
394 }
395
396 @Override
397 public <O extends Container> O getParentContainer(Class<O> clazz) {
398 return SwingUtil.getParentContainer(this, clazz);
399 }
400
401 @Override
402 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
403 return SwingUtil.getParentContainer(source, clazz);
404 }
405
406 @Override
407 public <T> void removeContextValue(Class<T> clazz) {
408 delegateContext.removeContextValue(clazz, null);
409 }
410
411 @Override
412 public <T> void removeContextValue(Class<T> clazz, String name) {
413 delegateContext.removeContextValue(clazz, name);
414 }
415
416 @Override
417 public <T> void setContextValue(T o) {
418 delegateContext.setContextValue(o, null);
419 }
420
421 @Override
422 public <T> void setContextValue(T o, String name) {
423 delegateContext.setContextValue(o, name);
424 }
425
426
427
428
429
430 @Override
431 public SwingValidator<?> getValidator(String validatorId) {
432 return (SwingValidator<?>) (validatorIds.contains(validatorId) ? getObjectById(validatorId) : null);
433 }
434
435 @Override
436 public List<String> getValidatorIds() {
437 return validatorIds;
438 }
439
440 @Override
441 public void registerValidatorFields() {
442 SwingValidatorUtil.detectValidatorFields(this);
443 }
444
445
446
447
448
449 public void doActionPerformed__on__cancelButton(ActionEvent event) {
450 if (log.isDebugEnabled()) {
451 log.debug(event);
452 }
453 handler.cancel();
454 }
455
456 public void doActionPerformed__on__validButton(ActionEvent event) {
457 if (log.isDebugEnabled()) {
458 log.debug(event);
459 }
460 handler.valid();
461 }
462
463
464
465
466
467 public JLabel getAvailableLabel() {
468 return availableLabel;
469 }
470
471 public JLabel getAvailableResultLabel() {
472 return availableResultLabel;
473 }
474
475 public JButton getCancelButton() {
476 return cancelButton;
477 }
478
479 public PmfmPresetUIHandler getHandler() {
480 return handler;
481 }
482
483 public PmfmPresetUIModel getModel() {
484 return model;
485 }
486
487 public JPanel getPmfmPresetPanel() {
488 return pmfmPresetPanel;
489 }
490
491 public SwingTable getPmfmTable() {
492 return pmfmTable;
493 }
494
495 public JScrollPane getPmfmTableScrollPane() {
496 return pmfmTableScrollPane;
497 }
498
499 public JPanel getResultPanel() {
500 return resultPanel;
501 }
502
503 public ExtendedBeanDoubleList<PmfmDTO> getResultPmfmDoubleList() {
504 return resultPmfmDoubleList;
505 }
506
507 public JLabel getSelectedLabel() {
508 return selectedLabel;
509 }
510
511 public JLabel getSelectedResultLabel() {
512 return selectedResultLabel;
513 }
514
515 public JButton getValidButton() {
516 return validButton;
517 }
518
519 public SwingValidator<PmfmPresetUIModel> getValidator() {
520 return validator;
521 }
522
523 public ExtendedBeanDoubleList<QualitativeValueDTO> getValueDoubleList() {
524 return valueDoubleList;
525 }
526
527 public JPanel getValuesPanel() {
528 return valuesPanel;
529 }
530
531
532
533
534
535 protected JPanel get$JPanel0() {
536 return $JPanel0;
537 }
538
539 protected JPanel get$JPanel1() {
540 return $JPanel1;
541 }
542
543 protected JPanel get$JPanel2() {
544 return $JPanel2;
545 }
546
547 protected JPanel get$JPanel3() {
548 return $JPanel3;
549 }
550
551
552
553
554
555 protected void addChildrenToPmfmPresetPanel() {
556 if (!allComponentsCreated) {
557 return;
558 }
559 pmfmPresetPanel.add(SwingUtil.boxComponentWithJxLayer(pmfmTableScrollPane), BorderLayout.PAGE_START);
560 pmfmPresetPanel.add(valuesPanel, BorderLayout.CENTER);
561 }
562
563 protected void addChildrenToPmfmPresetUI() {
564 if (!allComponentsCreated) {
565 return;
566 }
567 add($JPanel0, BorderLayout.CENTER);
568 add($JPanel3, BorderLayout.PAGE_END);
569 }
570
571 protected void addChildrenToPmfmTableScrollPane() {
572 if (!allComponentsCreated) {
573 return;
574 }
575 pmfmTableScrollPane.getViewport().add(pmfmTable);
576 }
577
578 protected void addChildrenToResultPanel() {
579 if (!allComponentsCreated) {
580 return;
581 }
582 resultPanel.add($JPanel2, BorderLayout.PAGE_START);
583 resultPanel.add(SwingUtil.boxComponentWithJxLayer(resultPmfmDoubleList), BorderLayout.CENTER);
584 }
585
586 protected void addChildrenToValidator() {
587 if (!allComponentsCreated) {
588 return;
589 }
590 validator.setUiClass(ImageValidationUI.class);
591 validator.setBean(model);
592 }
593
594 protected void addChildrenToValuesPanel() {
595 if (!allComponentsCreated) {
596 return;
597 }
598 valuesPanel.add($JPanel1, BorderLayout.PAGE_START);
599 valuesPanel.add(valueDoubleList, BorderLayout.CENTER);
600 }
601
602 protected void createAvailableLabel() {
603 $objectMap.put("availableLabel", availableLabel = new JLabel());
604
605 availableLabel.setName("availableLabel");
606 availableLabel.setText(t("dali.filter.available.label"));
607 }
608
609 protected void createAvailableResultLabel() {
610 $objectMap.put("availableResultLabel", availableResultLabel = new JLabel());
611
612 availableResultLabel.setName("availableResultLabel");
613 availableResultLabel.setText(t("dali.filter.available.label"));
614 }
615
616 protected void createCancelButton() {
617 $objectMap.put("cancelButton", cancelButton = new JButton());
618
619 cancelButton.setName("cancelButton");
620 cancelButton.setText(t("dali.common.cancel"));
621 cancelButton.setToolTipText(t("dali.common.cancel"));
622 cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
623 }
624
625 protected PmfmPresetUIHandler createHandler() {
626 return new PmfmPresetUIHandler();
627 }
628
629 protected void createModel() {
630 $objectMap.put("model", model = getContextValue(PmfmPresetUIModel.class));
631 }
632
633 protected void createPmfmPresetPanel() {
634 $objectMap.put("pmfmPresetPanel", pmfmPresetPanel = new JPanel());
635
636 pmfmPresetPanel.setName("pmfmPresetPanel");
637 pmfmPresetPanel.setLayout(new BorderLayout());
638 }
639
640 protected void createPmfmTable() {
641 $objectMap.put("pmfmTable", pmfmTable = new SwingTable());
642
643 pmfmTable.setName("pmfmTable");
644 }
645
646 protected void createPmfmTableScrollPane() {
647 $objectMap.put("pmfmTableScrollPane", pmfmTableScrollPane = new JScrollPane());
648
649 pmfmTableScrollPane.setName("pmfmTableScrollPane");
650 }
651
652 protected void createResultPanel() {
653 $objectMap.put("resultPanel", resultPanel = new JPanel());
654
655 resultPanel.setName("resultPanel");
656 resultPanel.setLayout(new BorderLayout());
657 }
658
659 protected void createResultPmfmDoubleList() {
660 $objectMap.put("resultPmfmDoubleList", resultPmfmDoubleList = new ExtendedBeanDoubleList<PmfmDTO>());
661
662 resultPmfmDoubleList.setName("resultPmfmDoubleList");
663 resultPmfmDoubleList.setFilterable(true);
664 resultPmfmDoubleList.setShowDecorator(false);
665 resultPmfmDoubleList.setProperty("selectedResultPmfms");
666 }
667
668 protected void createSelectedLabel() {
669 $objectMap.put("selectedLabel", selectedLabel = new JLabel());
670
671 selectedLabel.setName("selectedLabel");
672 selectedLabel.setText(t("dali.filter.selected.label"));
673 }
674
675 protected void createSelectedResultLabel() {
676 $objectMap.put("selectedResultLabel", selectedResultLabel = new JLabel());
677
678 selectedResultLabel.setName("selectedResultLabel");
679 selectedResultLabel.setText(t("dali.filter.selected.label"));
680 }
681
682 protected void createValidButton() {
683 $objectMap.put("validButton", validButton = new JButton());
684
685 validButton.setName("validButton");
686 validButton.setText(t("dali.common.validate"));
687 validButton.setToolTipText(t("dali.common.validate"));
688 validButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validButton"));
689 }
690
691 protected void createValidator() {
692 $objectMap.put("validator", validator = SwingValidator.newValidator(PmfmPresetUIModel.class, null));
693 }
694
695 protected void createValueDoubleList() {
696 $objectMap.put("valueDoubleList", valueDoubleList = new ExtendedBeanDoubleList<QualitativeValueDTO>());
697
698 valueDoubleList.setName("valueDoubleList");
699 valueDoubleList.setFilterable(true);
700 valueDoubleList.setShowDecorator(false);
701 valueDoubleList.setAlwaysSortSelected(true);
702 valueDoubleList.setProperty("selectedValues");
703 }
704
705 protected void createValuesPanel() {
706 $objectMap.put("valuesPanel", valuesPanel = new JPanel());
707
708 valuesPanel.setName("valuesPanel");
709 valuesPanel.setLayout(new BorderLayout());
710 }
711
712
713
714
715
716 private void $completeSetup() {
717 allComponentsCreated = true;
718 if (log.isDebugEnabled()) {
719 log.debug(this);
720 }
721 addChildrenToPmfmPresetUI();
722 addChildrenToValidator();
723
724 $JPanel0.add(pmfmPresetPanel, BorderLayout.CENTER);
725 $JPanel0.add(resultPanel, BorderLayout.PAGE_END);
726 addChildrenToPmfmPresetPanel();
727 addChildrenToPmfmTableScrollPane();
728 addChildrenToValuesPanel();
729
730 $JPanel1.add(availableLabel);
731 $JPanel1.add(selectedLabel);
732 addChildrenToResultPanel();
733
734 $JPanel2.add(availableResultLabel);
735 $JPanel2.add(selectedResultLabel);
736
737 $JPanel3.add(cancelButton);
738 $JPanel3.add(validButton);
739
740
741 JAXXUtil.applyDataBinding(this, $bindings.keySet());
742
743
744 valueDoubleList.setBeanType(QualitativeValueDTO.class);
745 resultPmfmDoubleList.setBeanType(PmfmDTO.class);
746 pmfmPresetPanel.setBorder(BorderFactory.createTitledBorder(t("dali.extraction.config.pmfmPreset.title")));
747 pmfmTableScrollPane.setBorder(BorderFactory.createTitledBorder(t("dali.extraction.config.pmfmPreset.pmfm.title")));
748 valuesPanel.setBorder(BorderFactory.createTitledBorder(t("dali.extraction.config.pmfmPreset.values.title")));
749 availableLabel.setHorizontalAlignment(SwingConstants.CENTER);
750 selectedLabel.setHorizontalAlignment(SwingConstants.CENTER);
751 valueDoubleList.setBean(model);
752 resultPanel.setBorder(BorderFactory.createTitledBorder(t("dali.extraction.config.pmfmPreset.result.title")));
753 availableResultLabel.setHorizontalAlignment(SwingConstants.CENTER);
754 selectedResultLabel.setHorizontalAlignment(SwingConstants.CENTER);
755 resultPmfmDoubleList.setBean(model);
756 cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
757 cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
758 validButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
759 validButton.setIcon(SwingUtil.createActionIcon("accept"));
760
761 pmfmPresetUI.pack();
762
763 validatorIds = SwingValidatorUtil.detectValidators(this);
764 SwingValidatorUtil.installUI(this);
765 }
766
767 private void $initialize() {
768 if (allComponentsCreated) {
769 return;
770 }
771 if (log.isDebugEnabled()) {
772 log.debug(this);
773 }
774 handler.beforeInit(this);
775 $objectMap.put("pmfmPresetUI", pmfmPresetUI);
776 createModel();
777 createValidator();
778
779 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
780
781 $JPanel0.setName("$JPanel0");
782 $JPanel0.setLayout(new BorderLayout());
783 createPmfmPresetPanel();
784 createPmfmTableScrollPane();
785 createPmfmTable();
786 createValuesPanel();
787
788 $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
789
790 $JPanel1.setName("$JPanel1");
791 $JPanel1.setLayout(new GridLayout(1,0));
792 createAvailableLabel();
793 createSelectedLabel();
794 createValueDoubleList();
795 createResultPanel();
796
797 $objectMap.put("$JPanel2", $JPanel2 = new JPanel());
798
799 $JPanel2.setName("$JPanel2");
800 $JPanel2.setLayout(new GridLayout(1,0));
801 createAvailableResultLabel();
802 createSelectedResultLabel();
803 createResultPmfmDoubleList();
804
805 $objectMap.put("$JPanel3", $JPanel3 = new JPanel());
806
807 $JPanel3.setName("$JPanel3");
808 $JPanel3.setLayout(new GridLayout(1,0));
809 createCancelButton();
810 createValidButton();
811
812 setName("pmfmPresetUI");
813 pmfmPresetUI.getContentPane().setLayout(new BorderLayout());
814 setResizable(true);
815 setTitle(t("dali.extraction.config.pmfm.title"));
816 setModal(true);
817
818
819 $registerDefaultBindings();
820 $completeSetup();
821 handler.afterInit(this);
822 }
823
824 private void $registerDefaultBindings() {
825
826 registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALUE_DOUBLE_LIST_ENABLED, true) {
827
828 @Override
829 public void applyDataBinding() {
830 if (model != null) {
831 model.addPropertyChangeListener("singleSelectedRow", this);
832 }
833 }
834
835 @Override
836 public void processDataBinding() {
837 if (model != null) {
838 valueDoubleList.setEnabled(model.getSingleSelectedRow() != null);
839 }
840 }
841
842 @Override
843 public void removeDataBinding() {
844 if (model != null) {
845 model.removePropertyChangeListener("singleSelectedRow", this);
846 }
847 }
848 });
849 registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALID_BUTTON_ENABLED, true) {
850
851 @Override
852 public void applyDataBinding() {
853 if (model != null) {
854 model.addPropertyChangeListener("valid", this);
855 }
856 }
857
858 @Override
859 public void processDataBinding() {
860 if (model != null) {
861 validButton.setEnabled(model.isValid());
862 }
863 }
864
865 @Override
866 public void removeDataBinding() {
867 if (model != null) {
868 model.removePropertyChangeListener("valid", this);
869 }
870 }
871 });
872 }
873
874 }