1 package fr.ifremer.dali.ui.swing.content.manage.referential.pmfm.qualitativevalue;
2
3 import fr.ifremer.dali.dto.referential.pmfm.QualitativeValueDTO;
4 import fr.ifremer.dali.ui.swing.DaliUIContext;
5 import fr.ifremer.dali.ui.swing.util.DaliUI;
6 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
7 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
8 import fr.ifremer.quadrige3.ui.swing.component.bean.ExtendedBeanDoubleList;
9 import fr.ifremer.quadrige3.ui.swing.table.SwingTable;
10 import java.awt.BorderLayout;
11 import java.awt.Container;
12 import java.awt.Dialog;
13 import java.awt.Dialog.ModalityType;
14 import java.awt.FlowLayout;
15 import java.awt.Frame;
16 import java.awt.GraphicsConfiguration;
17 import java.awt.Window;
18 import java.awt.event.ActionEvent;
19 import java.awt.event.ActionListener;
20 import java.util.ArrayList;
21 import java.util.HashMap;
22 import java.util.List;
23 import java.util.Map;
24 import java.util.TreeMap;
25 import javax.swing.Box;
26 import javax.swing.BoxLayout;
27 import javax.swing.JButton;
28 import javax.swing.JDialog;
29 import javax.swing.JPanel;
30 import javax.swing.JScrollPane;
31 import jaxx.runtime.JAXXBinding;
32 import jaxx.runtime.JAXXContext;
33 import jaxx.runtime.JAXXObject;
34 import jaxx.runtime.JAXXObjectDescriptor;
35 import jaxx.runtime.JAXXUtil;
36 import jaxx.runtime.SwingUtil;
37 import jaxx.runtime.binding.DefaultJAXXBinding;
38 import jaxx.runtime.context.DefaultJAXXContext;
39 import jaxx.runtime.swing.CardLayout2Ext;
40 import org.apache.commons.logging.Log;
41 import org.apache.commons.logging.LogFactory;
42 import static org.nuiton.i18n.I18n.t;
43
44 public class QualitativeValueUI extends JDialog implements DaliUI<QualitativeValueUIModel, QualitativeValueUIHandler>, JAXXObject {
45
46
47
48
49
50 public static final String BINDING_ACTION_VALIDATE_VISIBLE = "actionValidate.visible";
51
52
53
54
55
56 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVVz28bRRQeu3ESJ00KSQhBbVGapiiR0DiFS6WgEvJLJHJKqV1UEQ6Md8f2VOOd7ezbZEMVxIkzfwLcuSBx44Q4cObABfEvIMSBK+LN7GbXjjd2BGokb3bnzfve976Z+ebbP0gp0OTWUxZFVIceiA6n++89efJB4yl3YJsHjhY+KE3iv0KRFA/JpJuOB0BuH1ZNeiVJr2ypjq887nVlr1fJRAAnkgdtzgHIzd4MJwgqtTS8HvmhPkNNSeWhfv3Xn8Wv3C++KRIS+chuEltZHJaVdTJSJUXhApnBSkesIpnXQhpaeC3kO2XGtiQLggesw5+Rz8lYlYz6TCMYkKXLt2wxbH7kY+f4oRzBgLsfhkwKYCCO+EdMhjx4vAfkk6amoql5h2vqYpyGggbHSIk6ygOsQDvMYy1ONW9yw0UwSf1Os0OfZXBHBo6ex3+85/uWyCiQUke5XAJhL7LcgamR1bwmRQAPmcdllZ2oEFXs3XZx3S2m3Tj+1k4EWfbiAOEsKK6jWbIowdm3gya5nGLcGYCxrcKG5FWkCGSrSxXs09Wixd/uliZZbdrgzKNIk3sudzfxI0MxJWfSylPL+zVHKykNqzUgr/ZQzUK9WYN6rjMsBIQOpgpmFq2Zd5tggBdS/PHlWKU18z3Xq9VZ7G4aez2NTTAHhPJ2IoFizfa0sonrqjwzbzGdPh1PR97CxV7M6HIyQ5PrPXsAnYBmTpAd1cIhKekQh4EsHPabxyMMxbaxcM42DKCN/jM/++sPv3+/2+0Vr+RO7bI6PMO+Vj7XIEzpa7FRhCBk5YD564ekHHCJPml98EYOsVoSRnJY72WTTk06fZ8FbYQojf3240/zn/5yhRR3yYRUzN1lZv4eKUNbowpKupH/7oZldPV4HJ8v4c+sQVNI4DreBaUmkwH+n8KE423uKM0QBMgI6BCH581wTOWh8kN/xzNpbhovm/gjHhhrToZm26LVlviDXVunzqMsOGL2PZCx59ZFTiPU/UaO7mnzjfLPf8/Wvts4076AWrx24fRM/9LHZFR4UnjcOnViwrnOPOkHPHRVZrZ59kvQgKd7j2liMG/a51qf0FdQHFwG8Vmsc9J/CQSYz3vWMpMdchL7It4QyAoVowMOb2zATCaIUWiq37fKmLcNMuyi8IfwLgAZbSjtIi/Cnm/at3hnnVBHc0StmxbcOLICK0v/tZWl1dXTPP5laz3GQoZxHQFyVdy95x14vKM84QC5bsmgzeI3dZjncEk7aTRxnz1zQ5HROGyEtDt0pj8VyCQoJevCr180Ja+BLpMb1kGpr4Ob3TWOEuO7sAfmONxHZmNHIhB2o83FR4uKYMcVVsmV1dO0ybk89PNt5k7Ka/ScPV9ma8nkAp9+BzPYYkN4Lrr//T70gnlODEU0wzYG+Qizl+A0bjypfuLzATjz/5vJrUswGRFOfANegHH7Uiy+HIDwBiL8C2TPt466CwAA";
57 private static final Log log = LogFactory.getLog(QualitativeValueUI.class);
58 private static final long serialVersionUID = 1L;
59
60
61
62
63
64 protected List<Object> $activeBindings = new ArrayList<Object>();
65 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
66 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
67 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
68 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
69 private boolean allComponentsCreated;
70 protected final JAXXContext delegateContext = new DefaultJAXXContext();
71
72
73
74
75
76 protected JButton actionExit;
77 protected JButton actionValidate;
78 protected ExtendedBeanDoubleList<QualitativeValueDTO> associatedQualitativeValuesDoubleList;
79 protected JPanel associatedQualitativeValuesPanel;
80 protected SwingTable associatedQualitativeValuesTable;
81 protected QualitativeValueUI associatedQualitativeValuesUI = this;
82 protected final QualitativeValueUIHandler handler = createHandler();
83 protected CardLayout2Ext listPanelLayout;
84 protected QualitativeValueUIModel model;
85
86
87
88
89
90 private JPanel $JPanel0;
91 private JPanel $JPanel1;
92 private JScrollPane $JScrollPane0;
93
94
95
96
97
98 public QualitativeValueUI(DaliUIContext context) {
99 super(context.getMainUI());
100 ApplicationUIUtil.setApplicationContext(this, context);
101 $initialize();
102 }
103
104 public QualitativeValueUI(Window param0) {
105 super(param0);
106 $initialize();
107 }
108
109 public QualitativeValueUI(JAXXContext parentContext, Window param1) {
110 super(param1);
111 JAXXUtil.initContext(this, parentContext);
112 $initialize();
113 }
114
115 public QualitativeValueUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
116 super(param0 ,param1 ,param2 ,param3);
117 $initialize();
118 }
119
120 public QualitativeValueUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
121 super(param1 ,param2 ,param3 ,param4);
122 JAXXUtil.initContext(this, parentContext);
123 $initialize();
124 }
125
126 public QualitativeValueUI(Dialog param0, String param1, boolean param2) {
127 super(param0 ,param1 ,param2);
128 $initialize();
129 }
130
131 public QualitativeValueUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
132 super(param1 ,param2 ,param3);
133 JAXXUtil.initContext(this, parentContext);
134 $initialize();
135 }
136
137 public QualitativeValueUI(Dialog param0, String param1) {
138 super(param0 ,param1);
139 $initialize();
140 }
141
142 public QualitativeValueUI(JAXXContext parentContext, Dialog param1, String param2) {
143 super(param1 ,param2);
144 JAXXUtil.initContext(this, parentContext);
145 $initialize();
146 }
147
148 public QualitativeValueUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
149 super(param0 ,param1 ,param2 ,param3);
150 $initialize();
151 }
152
153 public QualitativeValueUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
154 super(param1 ,param2 ,param3 ,param4);
155 JAXXUtil.initContext(this, parentContext);
156 $initialize();
157 }
158
159 public QualitativeValueUI(Window param0, String param1, ModalityType param2) {
160 super(param0 ,param1 ,param2);
161 $initialize();
162 }
163
164 public QualitativeValueUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
165 super(param1 ,param2 ,param3);
166 JAXXUtil.initContext(this, parentContext);
167 $initialize();
168 }
169
170 public QualitativeValueUI(Window param0, String param1) {
171 super(param0 ,param1);
172 $initialize();
173 }
174
175 public QualitativeValueUI(JAXXContext parentContext, Window param1, String param2) {
176 super(param1 ,param2);
177 JAXXUtil.initContext(this, parentContext);
178 $initialize();
179 }
180
181 public QualitativeValueUI(Window param0, ModalityType param1) {
182 super(param0 ,param1);
183 $initialize();
184 }
185
186 public QualitativeValueUI(JAXXContext parentContext, Window param1, ModalityType param2) {
187 super(param1 ,param2);
188 JAXXUtil.initContext(this, parentContext);
189 $initialize();
190 }
191
192 public QualitativeValueUI(Frame param0, String param1) {
193 super(param0 ,param1);
194 $initialize();
195 }
196
197 public QualitativeValueUI(JAXXContext parentContext, Frame param1, String param2) {
198 super(param1 ,param2);
199 JAXXUtil.initContext(this, parentContext);
200 $initialize();
201 }
202
203 public QualitativeValueUI(Frame param0, boolean param1) {
204 super(param0 ,param1);
205 $initialize();
206 }
207
208 public QualitativeValueUI(JAXXContext parentContext, Frame param1, boolean param2) {
209 super(param1 ,param2);
210 JAXXUtil.initContext(this, parentContext);
211 $initialize();
212 }
213
214 public QualitativeValueUI(Frame param0) {
215 super(param0);
216 $initialize();
217 }
218
219 public QualitativeValueUI(JAXXContext parentContext, Frame param1) {
220 super(param1);
221 JAXXUtil.initContext(this, parentContext);
222 $initialize();
223 }
224
225 public QualitativeValueUI() {
226 $initialize();
227 }
228
229 public QualitativeValueUI(JAXXContext parentContext) {
230 JAXXUtil.initContext(this, parentContext);
231 $initialize();
232 }
233
234 public QualitativeValueUI(Dialog param0, boolean param1) {
235 super(param0 ,param1);
236 $initialize();
237 }
238
239 public QualitativeValueUI(JAXXContext parentContext, Dialog param1, boolean param2) {
240 super(param1 ,param2);
241 JAXXUtil.initContext(this, parentContext);
242 $initialize();
243 }
244
245 public QualitativeValueUI(Dialog param0) {
246 super(param0);
247 $initialize();
248 }
249
250 public QualitativeValueUI(JAXXContext parentContext, Dialog param1) {
251 super(param1);
252 JAXXUtil.initContext(this, parentContext);
253 $initialize();
254 }
255
256 public QualitativeValueUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
257 super(param0 ,param1 ,param2 ,param3);
258 $initialize();
259 }
260
261 public QualitativeValueUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
262 super(param1 ,param2 ,param3 ,param4);
263 JAXXUtil.initContext(this, parentContext);
264 $initialize();
265 }
266
267 public QualitativeValueUI(Frame param0, String param1, boolean param2) {
268 super(param0 ,param1 ,param2);
269 $initialize();
270 }
271
272 public QualitativeValueUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
273 super(param1 ,param2 ,param3);
274 JAXXUtil.initContext(this, parentContext);
275 $initialize();
276 }
277
278
279
280
281
282 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
283 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
284 }
285
286
287
288
289
290 @Override
291 public void applyDataBinding(String $binding) {
292 if (allComponentsCreated && $bindings.containsKey($binding)) {
293 getDataBinding($binding).applyDataBinding();
294 }
295 processDataBinding($binding);
296 }
297
298 @Override
299 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
300 super.firePropertyChange(propertyName, oldValue, newValue);
301 }
302
303 @Override
304 public Map<String, Object> get$objectMap() {
305 return $objectMap;
306 }
307
308 @Override
309 public JAXXBinding getDataBinding(String bindingId) {
310 return $bindings.get(bindingId);
311 }
312
313 @Override
314 public JAXXBinding[] getDataBindings() {
315 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
316 }
317
318 @Override
319 public Object getObjectById(String id) {
320 return $objectMap.get(id);
321 }
322
323 @Override
324 public void processDataBinding(String $binding, boolean $force) {
325 if (!$force && $activeBindings.contains($binding)) {
326 return;
327 }
328 $activeBindings.add($binding);
329 try {
330 if (allComponentsCreated && $bindings.containsKey($binding)) {
331 getDataBinding($binding).processDataBinding();
332 }
333 } finally {
334 $activeBindings.remove($binding);
335 }
336 }
337
338 @Override
339 public void processDataBinding(String $binding) {
340 processDataBinding($binding, false);
341 }
342
343 @Override
344 public void registerDataBinding(JAXXBinding binding) {
345 $bindings.put(binding.getId(), binding);
346 }
347
348 @Override
349 public void removeDataBinding(String $binding) {
350 if (allComponentsCreated && $bindings.containsKey($binding)) {
351 getDataBinding($binding).removeDataBinding();
352 }
353 }
354
355
356
357
358
359 @Override
360 public <T> T getContextValue(Class<T> clazz) {
361 return delegateContext.getContextValue(clazz, null);
362 }
363
364 @Override
365 public <T> T getContextValue(Class<T> clazz, String name) {
366 return delegateContext.getContextValue(clazz, name);
367 }
368
369 @Override
370 public JAXXContext getDelegateContext() {
371 return delegateContext;
372 }
373
374 @Override
375 public <O extends Container> O getParentContainer(Class<O> clazz) {
376 return SwingUtil.getParentContainer(this, clazz);
377 }
378
379 @Override
380 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
381 return SwingUtil.getParentContainer(source, clazz);
382 }
383
384 @Override
385 public <T> void removeContextValue(Class<T> clazz) {
386 delegateContext.removeContextValue(clazz, null);
387 }
388
389 @Override
390 public <T> void removeContextValue(Class<T> clazz, String name) {
391 delegateContext.removeContextValue(clazz, name);
392 }
393
394 @Override
395 public <T> void setContextValue(T o) {
396 delegateContext.setContextValue(o, null);
397 }
398
399 @Override
400 public <T> void setContextValue(T o, String name) {
401 delegateContext.setContextValue(o, name);
402 }
403
404
405
406
407
408 public void doActionPerformed__on__actionExit(ActionEvent event) {
409 if (log.isDebugEnabled()) {
410 log.debug(event);
411 }
412 handler.cancel();
413 }
414
415 public void doActionPerformed__on__actionValidate(ActionEvent event) {
416 if (log.isDebugEnabled()) {
417 log.debug(event);
418 }
419 handler.valid();
420 }
421
422
423
424
425
426 public JButton getActionExit() {
427 return actionExit;
428 }
429
430 public JButton getActionValidate() {
431 return actionValidate;
432 }
433
434 public ExtendedBeanDoubleList<QualitativeValueDTO> getAssociatedQualitativeValuesDoubleList() {
435 return associatedQualitativeValuesDoubleList;
436 }
437
438 public JPanel getAssociatedQualitativeValuesPanel() {
439 return associatedQualitativeValuesPanel;
440 }
441
442 public SwingTable getAssociatedQualitativeValuesTable() {
443 return associatedQualitativeValuesTable;
444 }
445
446 public QualitativeValueUIHandler getHandler() {
447 return handler;
448 }
449
450 public CardLayout2Ext getListPanelLayout() {
451 return listPanelLayout;
452 }
453
454 public QualitativeValueUIModel getModel() {
455 return model;
456 }
457
458
459
460
461
462 protected JPanel get$JPanel0() {
463 return $JPanel0;
464 }
465
466 protected JPanel get$JPanel1() {
467 return $JPanel1;
468 }
469
470 protected JScrollPane get$JScrollPane0() {
471 return $JScrollPane0;
472 }
473
474
475
476
477
478 protected void addChildrenToAssociatedQualitativeValuesPanel() {
479 if (!allComponentsCreated) {
480 return;
481 }
482 associatedQualitativeValuesPanel.add(associatedQualitativeValuesDoubleList, QualitativeValueUIHandler.DOUBLE_LIST);
483 associatedQualitativeValuesPanel.add($JScrollPane0, QualitativeValueUIHandler.TABLE);
484 }
485
486 protected void addChildrenToAssociatedQualitativeValuesUI() {
487 if (!allComponentsCreated) {
488 return;
489 }
490 add(associatedQualitativeValuesPanel, BorderLayout.CENTER);
491 add($JPanel0, BorderLayout.PAGE_END);
492 }
493
494 protected void createActionExit() {
495 $objectMap.put("actionExit", actionExit = new JButton());
496
497 actionExit.setName("actionExit");
498 actionExit.setText(t("dali.common.cancel"));
499 actionExit.setToolTipText(t("dali.common.cancel"));
500 actionExit.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__actionExit"));
501 }
502
503 protected void createActionValidate() {
504 $objectMap.put("actionValidate", actionValidate = new JButton());
505
506 actionValidate.setName("actionValidate");
507 actionValidate.setText(t("dali.common.validate"));
508 actionValidate.setToolTipText(t("dali.common.validate"));
509 actionValidate.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__actionValidate"));
510 }
511
512 protected void createAssociatedQualitativeValuesDoubleList() {
513 $objectMap.put("associatedQualitativeValuesDoubleList", associatedQualitativeValuesDoubleList = new ExtendedBeanDoubleList<QualitativeValueDTO>());
514
515 associatedQualitativeValuesDoubleList.setName("associatedQualitativeValuesDoubleList");
516 associatedQualitativeValuesDoubleList.setFilterable(false);
517 associatedQualitativeValuesDoubleList.setShowDecorator(true);
518 associatedQualitativeValuesDoubleList.setShowSelectPopupEnabled(true);
519 associatedQualitativeValuesDoubleList.setShowReset(true);
520 associatedQualitativeValuesDoubleList.setHighlightFilterText(true);
521 }
522
523 protected void createAssociatedQualitativeValuesPanel() {
524 $objectMap.put("associatedQualitativeValuesPanel", associatedQualitativeValuesPanel = new JPanel());
525
526 associatedQualitativeValuesPanel.setName("associatedQualitativeValuesPanel");
527 associatedQualitativeValuesPanel.setLayout(listPanelLayout);
528 }
529
530 protected void createAssociatedQualitativeValuesTable() {
531 $objectMap.put("associatedQualitativeValuesTable", associatedQualitativeValuesTable = new SwingTable());
532
533 associatedQualitativeValuesTable.setName("associatedQualitativeValuesTable");
534 }
535
536 protected QualitativeValueUIHandler createHandler() {
537 return new QualitativeValueUIHandler();
538 }
539
540 protected void createListPanelLayout() {
541 $objectMap.put("listPanelLayout", listPanelLayout = new CardLayout2Ext(this, "associatedQualitativeValuesPanel"));
542 }
543
544 protected void createModel() {
545 $objectMap.put("model", model = getContextValue(QualitativeValueUIModel.class));
546 }
547
548
549
550
551
552 private void $completeSetup() {
553 allComponentsCreated = true;
554 if (log.isDebugEnabled()) {
555 log.debug(this);
556 }
557 addChildrenToAssociatedQualitativeValuesUI();
558 addChildrenToAssociatedQualitativeValuesPanel();
559
560 $JScrollPane0.getViewport().add(associatedQualitativeValuesTable);
561
562 $JPanel0.add($JPanel1);
563
564 $JPanel1.add(actionExit);
565 $JPanel1.add(actionValidate);
566
567
568 JAXXUtil.applyDataBinding(this, $bindings.keySet());
569
570
571 associatedQualitativeValuesDoubleList.setBeanType(QualitativeValueDTO.class);
572 associatedQualitativeValuesDoubleList.setBean(model);
573 actionExit.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
574 actionExit.setIcon(SwingUtil.createActionIcon("cancel"));
575 actionValidate.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
576 actionValidate.setIcon(SwingUtil.createActionIcon("accept"));
577
578 associatedQualitativeValuesUI.pack();
579 }
580
581 private void $initialize() {
582 if (allComponentsCreated) {
583 return;
584 }
585 if (log.isDebugEnabled()) {
586 log.debug(this);
587 }
588 handler.beforeInit(this);
589 $objectMap.put("associatedQualitativeValuesUI", associatedQualitativeValuesUI);
590 createModel();
591 createListPanelLayout();
592 createAssociatedQualitativeValuesPanel();
593 createAssociatedQualitativeValuesDoubleList();
594
595 $objectMap.put("$JScrollPane0", $JScrollPane0 = new JScrollPane());
596
597 $JScrollPane0.setName("$JScrollPane0");
598 createAssociatedQualitativeValuesTable();
599
600 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
601
602 $JPanel0.setName("$JPanel0");
603
604 $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
605
606 $JPanel1.setName("$JPanel1");
607 $JPanel1.setLayout(new FlowLayout());
608 createActionExit();
609 createActionValidate();
610
611 setName("associatedQualitativeValuesUI");
612 associatedQualitativeValuesUI.getContentPane().setLayout(new BorderLayout());
613 setResizable(true);
614 setTitle(t("dali.property.pmfm.parameter.associatedQualitativeValues"));
615 setModal(true);
616
617
618 $registerDefaultBindings();
619 $completeSetup();
620 handler.afterInit(this);
621 }
622
623 private void $registerDefaultBindings() {
624
625 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ACTION_VALIDATE_VISIBLE, true) {
626
627 @Override
628 public void applyDataBinding() {
629 if (model != null) {
630 model.addPropertyChangeListener("editable", this);
631 }
632 }
633
634 @Override
635 public void processDataBinding() {
636 if (model != null) {
637 actionValidate.setVisible(model.isEditable());
638 }
639 }
640
641 @Override
642 public void removeDataBinding() {
643 if (model != null) {
644 model.removePropertyChangeListener("editable", this);
645 }
646 }
647 });
648 }
649
650 }