View Javadoc
1   package fr.ifremer.tutti.ui.swing.content.protocol.maturity;
2   
3   /*
4    * #%L
5    * Tutti :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2012 - 2017 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU General Public License as
13   * published by the Free Software Foundation, either version 3 of the
14   * License, or (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU General Public
22   * License along with this program.  If not, see
23   * <http://www.gnu.org/licenses/gpl-3.0.html>.
24   * #L%
25   */
26  
27  import fr.ifremer.tutti.persistence.entities.protocol.MaturityCaracteristic;
28  import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
29  import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
30  import fr.ifremer.tutti.ui.swing.TuttiUIContext;
31  import fr.ifremer.tutti.ui.swing.util.TuttiUI;
32  import fr.ifremer.tutti.ui.swing.util.TuttiUIUtil;
33  import java.awt.BorderLayout;
34  import java.awt.Container;
35  import java.awt.Dialog;
36  import java.awt.Dialog.ModalityType;
37  import java.awt.Frame;
38  import java.awt.GraphicsConfiguration;
39  import java.awt.GridBagConstraints;
40  import java.awt.GridLayout;
41  import java.awt.Insets;
42  import java.awt.Window;
43  import java.awt.event.ActionEvent;
44  import java.awt.event.ActionListener;
45  import java.util.ArrayList;
46  import java.util.HashMap;
47  import java.util.List;
48  import java.util.Map;
49  import java.util.TreeMap;
50  import javax.swing.BorderFactory;
51  import javax.swing.JButton;
52  import javax.swing.JDialog;
53  import javax.swing.JLabel;
54  import javax.swing.JList;
55  import javax.swing.JPanel;
56  import jaxx.runtime.JAXXBinding;
57  import jaxx.runtime.JAXXContext;
58  import jaxx.runtime.JAXXObject;
59  import jaxx.runtime.JAXXObjectDescriptor;
60  import jaxx.runtime.JAXXUtil;
61  import jaxx.runtime.JAXXValidator;
62  import jaxx.runtime.SwingUtil;
63  import jaxx.runtime.binding.DefaultJAXXBinding;
64  import jaxx.runtime.context.DefaultJAXXContext;
65  import jaxx.runtime.swing.Table;
66  import jaxx.runtime.validator.swing.SwingValidator;
67  import jaxx.runtime.validator.swing.SwingValidatorUtil;
68  import jaxx.runtime.validator.swing.meta.Validator;
69  import jaxx.runtime.validator.swing.meta.ValidatorField;
70  import jaxx.runtime.validator.swing.ui.ImageValidationUI;
71  import org.apache.commons.logging.Log;
72  import org.apache.commons.logging.LogFactory;
73  import static org.nuiton.i18n.I18n.t;
74  
75  public class EditMaturityCaracteristicPopupUI extends JDialog implements TuttiUI<EditMaturityCaracteristicPopupUIModel, EditMaturityCaracteristicPopupUIHandler>, JAXXObject, JAXXValidator {
76  
77      /*-----------------------------------------------------------------------*/
78      /*---------------- Constants for all javaBean properties ----------------*/
79      /*-----------------------------------------------------------------------*/
80  
81      public static final String PROPERTY_MODEL = "model";
82  
83      /*-----------------------------------------------------------------------*/
84      /*------------------ Constants for all public bindings ------------------*/
85      /*-----------------------------------------------------------------------*/
86  
87      public static final String BINDING_VALIDATE_BUTTON_ENABLED = "validateButton.enabled";
88  
89      /*-----------------------------------------------------------------------*/
90      /*------------------------- Other static fields -------------------------*/
91      /*-----------------------------------------------------------------------*/
92  
93      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVVQW8bRRSemNiJnbZAQ0pRAw2FQxDROEWKhBQEbdNGJHJKRFJa8KGMd6f2lNmZYWa2XSsC8RP4CXDngsSNE+LAmQMXxF9AiANXxJvZ9Tprr+1cyGFizXvve99789633/2JqkajVx+TJME6FpZFFO/ffPDgg85jGtjb1ASaKSs1Sv/mKqjSRkthfm8seq3dcuHNLLy5IyMlBRWnordbqGFsn1PTo9Ra9HIxIjCmeZSbtxMV6wFqTqoM9Zu//6p8HX71bQWhRAG7OpSyNitqWMl8C1VYaNFFyPSENDkRXaChmegC3/PubocTY+6SiH6OvkQLLVRTRAOYRdfOXrLH8PGJsugqDZk9IDbWzPZ3iCaBpZoZy4LbjHDZtej4kcbskaYR1djG1jIcM2yeAiscSGEhCVZaWhlIjqMMCN+ZhHooVazu7SnlKdQsqkYypNyij/+PNAcOe5ir/oRwFhLohkVvFt4lN2Qpj9z50eDyFEJEmDgkwjG+XEBI445Jh/vHqechCxE1hnQpvKt7wiTz3G+RDuXO52Lu+sKgMMgcU+Oqc1SfL8ZBgcWwxdf3PaXN0RT+tuh7LiAioPwWdBi6ipYL/umt87ySB1zIWkOHxrXMQ6MrhRbA2uDh2gzneq6NqjqGa+hZe3zTPgRTumOXR3bMAXrrv5eWf/vxjx92B4vVgNwrpa6ndAEGHiZGUW2ZS/1sulWxZbx5QNR2G9aTchAVLxqrJcSOMjOQg3z+FbALx+8T0wOI6sLvP/186dNfn0GVXdTgkoS7xPnvobrtaeiC5GGi3rvhGZ17ugjnc44bNPUhCcP7lHV79p5gsL8vnvg1wDAmw+v1N75IoCurJV3JqXXqv/yzfPT9jUFn5oDpSxPdh92pfoJqTHAmqBedTE9KRWZJGRqHcqgbZUqClAI1Oc/dUN9ntuf4e9u6PzfKulDr+VItqmxtJrFz2/QVuF9vpYBLHT91fpCnwlVASSyzHOZuK5UPJ2yHo4pREAkceonDWZxTIgJ7PW91TMf5zNZKlenEtJI7UocwkWjj5Jb/lU5MHweawo7diZTtp4b1rY3rmxvucFMwTmYgK7OSVmHn2fW3xYGgkRQsgFFP+xPICC5wqgc4ys0NYMSk2HOqi2qpGR7iofmMqZvelLXI/aMJPN9yCSBEWCn5MVPHE33Kyiro06zaamO1vVJIM5CuSdUtDhym17dSCjpa4SSvBSrcRwG+6ysnw88MM/7rsl7+uCOie5bB4qQvwRldeAfiyFqHiRA0/d0x9Dl3NmYiumsv9rIcYfUMnOZZIKdhXD0Ti2QKwjVA+A+QvkhOMwoAAA==";
94      private static final Log log = LogFactory.getLog(EditMaturityCaracteristicPopupUI.class);
95      private static final long serialVersionUID = 1L;
96  
97      /*-----------------------------------------------------------------------*/
98      /*--------------------------- Internal states ---------------------------*/
99      /*-----------------------------------------------------------------------*/
100 
101     protected List<Object> $activeBindings = new ArrayList<Object>();
102     protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
103     protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
104     protected Map<String, Object> $objectMap = new HashMap<String, Object>();
105     protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
106     private boolean allComponentsCreated;
107     protected final JAXXContext delegateContext = new DefaultJAXXContext();
108 
109     /*-----------------------------------------------------------------------*/
110     /*------------------------ Protected components  ------------------------*/
111     /*-----------------------------------------------------------------------*/
112 
113     protected JButton cancelButton;
114     protected EditMaturityCaracteristicPopupUI editMaturityCaracteristicDialog = this;
115     protected final EditMaturityCaracteristicPopupUIHandler handler = createHandler();
116     protected Table mainPanel;
117     @ValidatorField( validatorId = "validator",  propertyName = "matureStateIds",  editorName = "maturityValuesEditor")
118     protected JList<CaracteristicQualitativeValue> maturityValuesEditor;
119     protected JLabel message;
120     protected EditMaturityCaracteristicPopupUIModel model;
121     protected JButton validateButton;
122     @Validator( validatorId = "validator")
123     protected SwingValidator<EditMaturityCaracteristicPopupUIModel> validator;
124     protected List<String> validatorIds = new ArrayList<String>();
125 
126     /*-----------------------------------------------------------------------*/
127     /*------------------------- Private components  -------------------------*/
128     /*-----------------------------------------------------------------------*/
129 
130     private JPanel $JPanel0;
131 
132     /*-----------------------------------------------------------------------*/
133     /*---------------------- Raw body code from script ----------------------*/
134     /*-----------------------------------------------------------------------*/
135     
136     
137     public void open(Caracteristic caracteristic, MaturityCaracteristic maturityCaracteristic) {
138         handler.open(caracteristic, maturityCaracteristic);
139     }
140 
141     /*-----------------------------------------------------------------------*/
142     /*---------------------------- Constructors  ----------------------------*/
143     /*-----------------------------------------------------------------------*/
144 
145     public EditMaturityCaracteristicPopupUI(TuttiUI parentUI) {
146         super(parentUI.getHandler().getContext().getMainUI());
147             TuttiUIUtil.setParentUI(this, parentUI);
148             $initialize();
149     }
150 
151     public EditMaturityCaracteristicPopupUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
152         super(param0 ,param1 ,param2 ,param3);
153         $initialize();
154     }
155 
156     public EditMaturityCaracteristicPopupUI(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 EditMaturityCaracteristicPopupUI(Dialog param0) {
163         super(param0);
164         $initialize();
165     }
166 
167     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Dialog param1) {
168         super(param1);
169         JAXXUtil.initContext(this, parentContext);
170         $initialize();
171     }
172 
173     public EditMaturityCaracteristicPopupUI(Frame param0, String param1, boolean param2) {
174         super(param0 ,param1 ,param2);
175         $initialize();
176     }
177 
178     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
179         super(param1 ,param2 ,param3);
180         JAXXUtil.initContext(this, parentContext);
181         $initialize();
182     }
183 
184     public EditMaturityCaracteristicPopupUI() {
185         $initialize();
186     }
187 
188     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext) {
189         JAXXUtil.initContext(this, parentContext);
190         $initialize();
191     }
192 
193     public EditMaturityCaracteristicPopupUI(Frame param0) {
194         super(param0);
195         $initialize();
196     }
197 
198     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Frame param1) {
199         super(param1);
200         JAXXUtil.initContext(this, parentContext);
201         $initialize();
202     }
203 
204     public EditMaturityCaracteristicPopupUI(Frame param0, boolean param1) {
205         super(param0 ,param1);
206         $initialize();
207     }
208 
209     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Frame param1, boolean param2) {
210         super(param1 ,param2);
211         JAXXUtil.initContext(this, parentContext);
212         $initialize();
213     }
214 
215     public EditMaturityCaracteristicPopupUI(Frame param0, String param1) {
216         super(param0 ,param1);
217         $initialize();
218     }
219 
220     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Frame param1, String param2) {
221         super(param1 ,param2);
222         JAXXUtil.initContext(this, parentContext);
223         $initialize();
224     }
225 
226     public EditMaturityCaracteristicPopupUI(Window param0) {
227         super(param0);
228         $initialize();
229     }
230 
231     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Window param1) {
232         super(param1);
233         JAXXUtil.initContext(this, parentContext);
234         $initialize();
235     }
236 
237     public EditMaturityCaracteristicPopupUI(Window param0, ModalityType param1) {
238         super(param0 ,param1);
239         $initialize();
240     }
241 
242     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Window param1, ModalityType param2) {
243         super(param1 ,param2);
244         JAXXUtil.initContext(this, parentContext);
245         $initialize();
246     }
247 
248     public EditMaturityCaracteristicPopupUI(Window param0, String param1) {
249         super(param0 ,param1);
250         $initialize();
251     }
252 
253     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Window param1, String param2) {
254         super(param1 ,param2);
255         JAXXUtil.initContext(this, parentContext);
256         $initialize();
257     }
258 
259     public EditMaturityCaracteristicPopupUI(Window param0, String param1, ModalityType param2) {
260         super(param0 ,param1 ,param2);
261         $initialize();
262     }
263 
264     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
265         super(param1 ,param2 ,param3);
266         JAXXUtil.initContext(this, parentContext);
267         $initialize();
268     }
269 
270     public EditMaturityCaracteristicPopupUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
271         super(param0 ,param1 ,param2 ,param3);
272         $initialize();
273     }
274 
275     public EditMaturityCaracteristicPopupUI(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 EditMaturityCaracteristicPopupUI(Dialog param0, boolean param1) {
282         super(param0 ,param1);
283         $initialize();
284     }
285 
286     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Dialog param1, boolean param2) {
287         super(param1 ,param2);
288         JAXXUtil.initContext(this, parentContext);
289         $initialize();
290     }
291 
292     public EditMaturityCaracteristicPopupUI(Dialog param0, String param1) {
293         super(param0 ,param1);
294         $initialize();
295     }
296 
297     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Dialog param1, String param2) {
298         super(param1 ,param2);
299         JAXXUtil.initContext(this, parentContext);
300         $initialize();
301     }
302 
303     public EditMaturityCaracteristicPopupUI(Dialog param0, String param1, boolean param2) {
304         super(param0 ,param1 ,param2);
305         $initialize();
306     }
307 
308     public EditMaturityCaracteristicPopupUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
309         super(param1 ,param2 ,param3);
310         JAXXUtil.initContext(this, parentContext);
311         $initialize();
312     }
313 
314     public EditMaturityCaracteristicPopupUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
315         super(param0 ,param1 ,param2 ,param3);
316         $initialize();
317     }
318 
319     public EditMaturityCaracteristicPopupUI(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     /*--------------------------- Statics methods ---------------------------*/
327     /*-----------------------------------------------------------------------*/
328 
329     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
330         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
331     }
332 
333     /*-----------------------------------------------------------------------*/
334     /*---------------------- JAXXObject implementation ----------------------*/
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     /*--------------------- JAXXContext implementation  ---------------------*/
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     /*-------------------- JAXXValidator implementation  --------------------*/
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     /*---------------------------- Event methods ----------------------------*/
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     /*----------------------- Public acessor methods  -----------------------*/
490     /*-----------------------------------------------------------------------*/
491 
492     public JButton getCancelButton() {
493         return cancelButton;
494     }
495 
496     public EditMaturityCaracteristicPopupUIHandler getHandler() {
497         return handler;
498     }
499 
500     public Table getMainPanel() {
501         return mainPanel;
502     }
503 
504     public JList<CaracteristicQualitativeValue> getMaturityValuesEditor() {
505         return maturityValuesEditor;
506     }
507 
508     public JLabel getMessage() {
509         return message;
510     }
511 
512     public EditMaturityCaracteristicPopupUIModel getModel() {
513         return model;
514     }
515 
516     public JButton getValidateButton() {
517         return validateButton;
518     }
519 
520     public SwingValidator<EditMaturityCaracteristicPopupUIModel> getValidator() {
521         return validator;
522     }
523 
524     /*-----------------------------------------------------------------------*/
525     /*----------------------- Public mutator methods  -----------------------*/
526     /*-----------------------------------------------------------------------*/
527 
528     public void setModel(EditMaturityCaracteristicPopupUIModel model) {
529         EditMaturityCaracteristicPopupUIModel oldValue = this.model;
530         this.model = model;
531         firePropertyChange(PROPERTY_MODEL, oldValue, model);
532     }
533 
534     /*-----------------------------------------------------------------------*/
535     /*--------------------- Protected acessors methods  ---------------------*/
536     /*-----------------------------------------------------------------------*/
537 
538     protected JPanel get$JPanel0() {
539         return $JPanel0;
540     }
541 
542     /*-----------------------------------------------------------------------*/
543     /*--------------------- Components creation methods ---------------------*/
544     /*-----------------------------------------------------------------------*/
545 
546     protected void addChildrenToEditMaturityCaracteristicDialog() {
547         if (!allComponentsCreated) {
548             return;
549         }
550         add(mainPanel);
551     }
552 
553     protected void addChildrenToMainPanel() {
554         if (!allComponentsCreated) {
555             return;
556         }
557         mainPanel.add(message, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
558         mainPanel.add(SwingUtil.boxComponentWithJxLayer(maturityValuesEditor), new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
559         mainPanel.add($JPanel0, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
560     }
561 
562     protected void addChildrenToValidator() {
563         if (!allComponentsCreated) {
564             return;
565         }
566         validator.setUiClass(ImageValidationUI.class);
567         validator.setBean(model);
568     }
569 
570     protected void createCancelButton() {
571         $objectMap.put("cancelButton", cancelButton = new JButton());
572         
573         cancelButton.setName("cancelButton");
574         cancelButton.setText(t("tutti.common.cancel"));
575         cancelButton.setToolTipText(t("tutti.common.cancel"));
576         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
577         cancelButton.putClientProperty("skipAction", true);
578     }
579 
580     protected EditMaturityCaracteristicPopupUIHandler createHandler() {
581         return new EditMaturityCaracteristicPopupUIHandler();
582     }
583 
584     protected void createMainPanel() {
585         $objectMap.put("mainPanel", mainPanel = new Table());
586         
587         mainPanel.setName("mainPanel");
588     }
589 
590     protected void createMaturityValuesEditor() {
591         $objectMap.put("maturityValuesEditor", maturityValuesEditor = new JList<CaracteristicQualitativeValue>());
592         
593         maturityValuesEditor.setName("maturityValuesEditor");
594     }
595 
596     protected void createMessage() {
597         $objectMap.put("message", message = new JLabel());
598         
599         message.setName("message");
600     }
601 
602     protected void createModel() {
603         $objectMap.put("model", model = new EditMaturityCaracteristicPopupUIModel());
604     }
605 
606     protected void createValidateButton() {
607         $objectMap.put("validateButton", validateButton = new JButton());
608         
609         validateButton.setName("validateButton");
610         validateButton.setText(t("tutti.common.validate"));
611         validateButton.setToolTipText(t("tutti.common.validate"));
612         validateButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validateButton"));
613         validateButton.putClientProperty("skipAction", true);
614     }
615 
616     protected void createValidator() {
617         $objectMap.put("validator", validator = SwingValidator.newValidator(EditMaturityCaracteristicPopupUIModel.class, null));
618     }
619 
620     /*-----------------------------------------------------------------------*/
621     /*------------------------ Internal jaxx methods ------------------------*/
622     /*-----------------------------------------------------------------------*/
623 
624     private void $completeSetup() {
625         allComponentsCreated = true;
626         if (log.isDebugEnabled()) {
627             log.debug(this);
628         }
629         addChildrenToEditMaturityCaracteristicDialog();
630         addChildrenToValidator();
631         addChildrenToMainPanel();
632         // inline complete setup of $JPanel0
633         $JPanel0.add(cancelButton);
634         $JPanel0.add(validateButton);
635         
636         // apply 1 data bindings
637         JAXXUtil.applyDataBinding(this, $bindings.keySet());
638         
639         // apply 7 property setters
640         message.setBorder(BorderFactory.createEmptyBorder(5,10,5,10));
641         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.common.cancel.mnemonic"),'Z'));
642         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
643         validateButton.setMnemonic(SwingUtil.getFirstCharAt(t("tutti.common.validate.mnemonic"),'Z'));
644         validateButton.setIcon(SwingUtil.createActionIcon("validate"));
645         // late initializer
646         editMaturityCaracteristicDialog.pack();
647         // register 1 validator(s)
648         validatorIds = SwingValidatorUtil.detectValidators(this);
649         SwingValidatorUtil.installUI(this);
650     }
651 
652     private void $initialize() {
653         if (allComponentsCreated) {
654             return;
655         }
656         if (log.isDebugEnabled()) {
657             log.debug(this);
658         }
659         handler.beforeInit(this);
660         $objectMap.put("editMaturityCaracteristicDialog", editMaturityCaracteristicDialog);
661         createModel();
662         createValidator();
663         createMainPanel();
664         createMessage();
665         createMaturityValuesEditor();
666         // inline creation of $JPanel0
667         $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
668         
669         $JPanel0.setName("$JPanel0");
670         $JPanel0.setLayout(new GridLayout(1, 0));
671         createCancelButton();
672         createValidateButton();
673         // inline creation of editMaturityCaracteristicDialog
674         setName("editMaturityCaracteristicDialog");
675         editMaturityCaracteristicDialog.getContentPane().setLayout(new BorderLayout());
676         setTitle(t("tutti.editProtocol.maturityCaracteristic.dialog.title"));
677         setModal(true);
678         
679         // registers 1 data bindings
680         $registerDefaultBindings();
681         $completeSetup();
682         handler.afterInit(this);
683     }
684 
685     private void $registerDefaultBindings() {
686         // register 1 data bindings
687         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_BUTTON_ENABLED, true) {
688         
689             @Override
690             public void applyDataBinding() {
691                 if (validator != null) {
692                     validator.addPropertyChangeListener("valid", this);
693                 }
694             }
695         
696             @Override
697             public void processDataBinding() {
698                 if (validator != null) {
699                     validateButton.setEnabled(validator.isValid());
700                 }
701             }
702         
703             @Override
704             public void removeDataBinding() {
705                 if (validator != null) {
706                     validator.removePropertyChangeListener("valid", this);
707                 }
708             }
709         });
710     }
711 
712 }