View Javadoc
1   package fr.ifremer.dali.ui.swing.content.home.survey.validate;
2   
3   import fr.ifremer.dali.ui.swing.DaliHelpBroker;
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 java.awt.BorderLayout;
9   import java.awt.Container;
10  import java.awt.Dialog;
11  import java.awt.Dialog.ModalityType;
12  import java.awt.Frame;
13  import java.awt.GraphicsConfiguration;
14  import java.awt.GridBagConstraints;
15  import java.awt.GridLayout;
16  import java.awt.Insets;
17  import java.awt.Window;
18  import java.awt.event.ActionEvent;
19  import java.awt.event.ActionListener;
20  import java.awt.event.KeyEvent;
21  import java.awt.event.KeyListener;
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.JButton;
28  import javax.swing.JDialog;
29  import javax.swing.JLabel;
30  import javax.swing.JPanel;
31  import javax.swing.JScrollPane;
32  import javax.swing.JTextArea;
33  import jaxx.runtime.JAXXBinding;
34  import jaxx.runtime.JAXXContext;
35  import jaxx.runtime.JAXXObject;
36  import jaxx.runtime.JAXXObjectDescriptor;
37  import jaxx.runtime.JAXXUtil;
38  import jaxx.runtime.JAXXValidator;
39  import jaxx.runtime.SwingUtil;
40  import jaxx.runtime.binding.DefaultJAXXBinding;
41  import jaxx.runtime.context.DefaultJAXXContext;
42  import jaxx.runtime.swing.Table;
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 ValidateSurveyUI extends JDialog implements DaliUI<ValidateSurveyUIModel, ValidateSurveyUIHandler>, JAXXObject, JAXXValidator {
53  
54      /*-----------------------------------------------------------------------*/
55      /*------------------ Constants for all public bindings ------------------*/
56      /*-----------------------------------------------------------------------*/
57  
58      public static final String BINDING_COMMENT_EDITOR_TEXT = "commentEditor.text";
59      public static final String BINDING_COMMENT_LABEL_TEXT = "commentLabel.text";
60      public static final String BINDING_CONFIRMATION_LABEL_TEXT = "confirmationLabel.text";
61      public static final String BINDING_VALIDATE_BUTTON_ENABLED = "validateButton.enabled";
62      public static final String BINDING_VALIDATE_BUTTON_TEXT = "validateButton.text";
63      public static final String BINDING_VALIDATE_BUTTON_TOOL_TIP_TEXT = "validateButton.toolTipText";
64      public static final String BINDING_VALIDATE_SURVEY_UI_TITLE = "validateSurveyUI.title";
65  
66      /*-----------------------------------------------------------------------*/
67      /*------------------------- Other static fields -------------------------*/
68      /*-----------------------------------------------------------------------*/
69  
70      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAK1WTW8bRRgeu7FTJ/2K04+gBskNQbRCrNsbkIq2BCwSnIJwWlX4wnh3nEw6O7PMzCYbqiAk/gA/Ae5ckLhxQhx67oEL4i8gxIEr4p3Z9a7XXmMrwlLW8bzP+7wfM887+/0fqKIkunGAo8iRIdfUJ872gydPPuodEFe/R5QraaCFRPGnVEblLlr00nWl0SvdtnFvJu7NTeEHghM+5L3RRgtKHzOi9gnRGr2c93CVanZS80YUhHLAmiZVxPrtX3+Wv/G++q6MUBRAdotQSmOaV1bJXBuVqadRHSId4ibDfA/SkJTvQb7nzdomw0o9xD75HH2J5tuoGmAJZBqtzV6y5bD+UaDRpUPMqIc16YTykBw/2tKo1ZcO7UviE+l4YHVC6qgjyMJxBddA6uwLKEVZB2fg7zweIQoCG6WqUcUXHmEaffj/EO8Ytoy9lgCF1Oj1XLNTQxKlY56PB4sZw/z6Lu4xclujlZx/7GVtBllLHc65wvch3zbumbrqZmuiBL5tFw2wnuKXEnzHlYKxjzEnGl3LOWWWvOf5xPN9j9oCr+S8dkmkH0iCDXhlOBrvU+ljTQVPs7mWJz67vm2isduj6dvV0XIxdwl7N9Qa9gkt5/DxqkE2UocLg73LjK8mCImu53oMUnMyqWVaKHVRRYawDJvSHVfnJ2CKdbkyoktDaK3/XF3+9afff2wNi/FKIXRoloBIAikCIjU1oS/GSgw1Zc0dHGx0UU0RBoPIDprVgsQ6iRmSg3hLxt0x7s4HWO0DRWX+t59/ufrZizOo3EILTGCvhQ1+C9X0voQuCOZFwb37NqNzR2fheQn+zsA5Byv9whxGUFQfM2W+NdXmd/+ZlZhD1SOeHHDY+5u3Gvcaa1ZpEAMWnJCnqkpUZgnWGm/nccWok1jKGI78nJYhiaD9qwXtT3vQqz3/e7nzw/3BFpSgJS9NhGfbUPkUVSlnlBM7EZNhVzgBFwNFQk9kQ61ozKGCORck+n/DPu+MdbwMGmFGPC2ju4vPckI8MR0A8Wl0eOrOY/UUqDdj2qk7kEefRKHJ+i3bU/PfBhqZStPKK6UVXE4q2CM6ob95q5A/P4tmD3Bw6hb5RCm8N/14DnCFaY+Pw2mpV6CX9M6bfIcTX3DqwvuBjW7qH47up/aFOLEtc4+hKnZdEui0/va0+hPerP6s4JGQRoKLWgi2S4NdS74zmfxU7POEmxEDbyFLKbPlnXAoRkb9tNbOjbX2+nAm8UUzsbGxOW1sfdx1tD0FkGLpDN1wM5zsKsPHAsDowl2oHTd6lHtwG74zxl0yz4VZtCLFEVwp9bvx3GtgDS9+vVCTCZyrUznNsrXpYoYbs2RF3fj6nsCxPlMWX/8Hw2vA8C8blCMX9QsAAA==";
71      private static final Log log = LogFactory.getLog(ValidateSurveyUI.class);
72      private static final long serialVersionUID = 1L;
73  
74      /*-----------------------------------------------------------------------*/
75      /*--------------------------- Internal states ---------------------------*/
76      /*-----------------------------------------------------------------------*/
77  
78      protected List<Object> $activeBindings = new ArrayList<Object>();
79      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
80      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
81      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
82      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
83      private boolean allComponentsCreated;
84      protected final JAXXContext delegateContext = new DefaultJAXXContext();
85  
86      /*-----------------------------------------------------------------------*/
87      /*------------------------ Protected components  ------------------------*/
88      /*-----------------------------------------------------------------------*/
89  
90      protected JButton cancelButton;
91      protected JTextArea commentEditor;
92      protected JLabel commentLabel;
93      @ValidatorField( validatorId = "validator",  propertyName = "comment",  editorName = "commentScrollPane")
94      protected JScrollPane commentScrollPane;
95      protected JLabel confirmationLabel;
96      protected final ValidateSurveyUIHandler handler = createHandler();
97      protected ValidateSurveyUIModel model;
98      protected JButton validateButton;
99      protected ValidateSurveyUI validateSurveyUI = this;
100     @Validator( validatorId = "validator")
101     protected SwingValidator<ValidateSurveyUIModel> validator;
102     protected List<String> validatorIds = new ArrayList<String>();
103 
104     /*-----------------------------------------------------------------------*/
105     /*------------------------- Private components  -------------------------*/
106     /*-----------------------------------------------------------------------*/
107 
108     private JPanel $JPanel0;
109     private Table $Table0;
110 
111     /*-----------------------------------------------------------------------*/
112     /*---------------------------- Constructors  ----------------------------*/
113     /*-----------------------------------------------------------------------*/
114 
115     public ValidateSurveyUI(DaliUIContext context) {
116         super(context.getMainUI());
117         			ApplicationUIUtil.setApplicationContext(this, context);
118             $initialize();
119     }
120 
121     public ValidateSurveyUI(Window param0) {
122         super(param0);
123         $initialize();
124     }
125 
126     public ValidateSurveyUI(JAXXContext parentContext, Window param1) {
127         super(param1);
128         JAXXUtil.initContext(this, parentContext);
129         $initialize();
130     }
131 
132     public ValidateSurveyUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
133         super(param0 ,param1 ,param2 ,param3);
134         $initialize();
135     }
136 
137     public ValidateSurveyUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
138         super(param1 ,param2 ,param3 ,param4);
139         JAXXUtil.initContext(this, parentContext);
140         $initialize();
141     }
142 
143     public ValidateSurveyUI(Dialog param0, String param1, boolean param2) {
144         super(param0 ,param1 ,param2);
145         $initialize();
146     }
147 
148     public ValidateSurveyUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
149         super(param1 ,param2 ,param3);
150         JAXXUtil.initContext(this, parentContext);
151         $initialize();
152     }
153 
154     public ValidateSurveyUI(Dialog param0, String param1) {
155         super(param0 ,param1);
156         $initialize();
157     }
158 
159     public ValidateSurveyUI(JAXXContext parentContext, Dialog param1, String param2) {
160         super(param1 ,param2);
161         JAXXUtil.initContext(this, parentContext);
162         $initialize();
163     }
164 
165     public ValidateSurveyUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
166         super(param0 ,param1 ,param2 ,param3);
167         $initialize();
168     }
169 
170     public ValidateSurveyUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
171         super(param1 ,param2 ,param3 ,param4);
172         JAXXUtil.initContext(this, parentContext);
173         $initialize();
174     }
175 
176     public ValidateSurveyUI(Window param0, String param1, ModalityType param2) {
177         super(param0 ,param1 ,param2);
178         $initialize();
179     }
180 
181     public ValidateSurveyUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
182         super(param1 ,param2 ,param3);
183         JAXXUtil.initContext(this, parentContext);
184         $initialize();
185     }
186 
187     public ValidateSurveyUI(Window param0, String param1) {
188         super(param0 ,param1);
189         $initialize();
190     }
191 
192     public ValidateSurveyUI(JAXXContext parentContext, Window param1, String param2) {
193         super(param1 ,param2);
194         JAXXUtil.initContext(this, parentContext);
195         $initialize();
196     }
197 
198     public ValidateSurveyUI(Window param0, ModalityType param1) {
199         super(param0 ,param1);
200         $initialize();
201     }
202 
203     public ValidateSurveyUI(JAXXContext parentContext, Window param1, ModalityType param2) {
204         super(param1 ,param2);
205         JAXXUtil.initContext(this, parentContext);
206         $initialize();
207     }
208 
209     public ValidateSurveyUI(Frame param0, String param1) {
210         super(param0 ,param1);
211         $initialize();
212     }
213 
214     public ValidateSurveyUI(JAXXContext parentContext, Frame param1, String param2) {
215         super(param1 ,param2);
216         JAXXUtil.initContext(this, parentContext);
217         $initialize();
218     }
219 
220     public ValidateSurveyUI(Frame param0, boolean param1) {
221         super(param0 ,param1);
222         $initialize();
223     }
224 
225     public ValidateSurveyUI(JAXXContext parentContext, Frame param1, boolean param2) {
226         super(param1 ,param2);
227         JAXXUtil.initContext(this, parentContext);
228         $initialize();
229     }
230 
231     public ValidateSurveyUI(Frame param0) {
232         super(param0);
233         $initialize();
234     }
235 
236     public ValidateSurveyUI(JAXXContext parentContext, Frame param1) {
237         super(param1);
238         JAXXUtil.initContext(this, parentContext);
239         $initialize();
240     }
241 
242     public ValidateSurveyUI() {
243         $initialize();
244     }
245 
246     public ValidateSurveyUI(JAXXContext parentContext) {
247         JAXXUtil.initContext(this, parentContext);
248         $initialize();
249     }
250 
251     public ValidateSurveyUI(Dialog param0, boolean param1) {
252         super(param0 ,param1);
253         $initialize();
254     }
255 
256     public ValidateSurveyUI(JAXXContext parentContext, Dialog param1, boolean param2) {
257         super(param1 ,param2);
258         JAXXUtil.initContext(this, parentContext);
259         $initialize();
260     }
261 
262     public ValidateSurveyUI(Dialog param0) {
263         super(param0);
264         $initialize();
265     }
266 
267     public ValidateSurveyUI(JAXXContext parentContext, Dialog param1) {
268         super(param1);
269         JAXXUtil.initContext(this, parentContext);
270         $initialize();
271     }
272 
273     public ValidateSurveyUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
274         super(param0 ,param1 ,param2 ,param3);
275         $initialize();
276     }
277 
278     public ValidateSurveyUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
279         super(param1 ,param2 ,param3 ,param4);
280         JAXXUtil.initContext(this, parentContext);
281         $initialize();
282     }
283 
284     public ValidateSurveyUI(Frame param0, String param1, boolean param2) {
285         super(param0 ,param1 ,param2);
286         $initialize();
287     }
288 
289     public ValidateSurveyUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
290         super(param1 ,param2 ,param3);
291         JAXXUtil.initContext(this, parentContext);
292         $initialize();
293     }
294 
295     /*-----------------------------------------------------------------------*/
296     /*--------------------------- Statics methods ---------------------------*/
297     /*-----------------------------------------------------------------------*/
298 
299     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
300         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
301     }
302 
303     /*-----------------------------------------------------------------------*/
304     /*---------------------- JAXXObject implementation ----------------------*/
305     /*-----------------------------------------------------------------------*/
306 
307     @Override
308     public void applyDataBinding(String $binding) {
309         if (allComponentsCreated && $bindings.containsKey($binding)) {
310             getDataBinding($binding).applyDataBinding();
311         }
312         processDataBinding($binding);
313     }
314 
315     @Override
316     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
317         super.firePropertyChange(propertyName, oldValue, newValue);
318     }
319 
320     @Override
321     public Map<String, Object> get$objectMap() {
322         return $objectMap;
323     }
324 
325     @Override
326     public JAXXBinding getDataBinding(String bindingId) {
327         return $bindings.get(bindingId);
328     }
329 
330     @Override
331     public JAXXBinding[] getDataBindings() {
332         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
333     }
334 
335     @Override
336     public Object getObjectById(String id) {
337         return $objectMap.get(id);
338     }
339 
340     @Override
341     public void processDataBinding(String $binding, boolean $force) {
342         if (!$force && $activeBindings.contains($binding)) { 
343             return;
344         }
345         $activeBindings.add($binding);
346         try {
347             if (allComponentsCreated && $bindings.containsKey($binding)) {
348                 getDataBinding($binding).processDataBinding();
349             }
350         } finally {
351             $activeBindings.remove($binding);
352         }
353     }
354 
355     @Override
356     public void processDataBinding(String $binding) {
357         processDataBinding($binding, false);
358     }
359 
360     @Override
361     public void registerDataBinding(JAXXBinding binding) {
362         $bindings.put(binding.getId(), binding);
363     }
364 
365     @Override
366     public void removeDataBinding(String $binding) {
367         if (allComponentsCreated && $bindings.containsKey($binding)) {
368             getDataBinding($binding).removeDataBinding();
369         }
370     }
371 
372     /*-----------------------------------------------------------------------*/
373     /*--------------------- JAXXContext implementation  ---------------------*/
374     /*-----------------------------------------------------------------------*/
375 
376     @Override
377     public <T> T getContextValue(Class<T> clazz) {
378         return delegateContext.getContextValue(clazz, null);
379     }
380 
381     @Override
382     public <T> T getContextValue(Class<T> clazz, String name) {
383         return delegateContext.getContextValue(clazz, name);
384     }
385 
386     @Override
387     public JAXXContext getDelegateContext() {
388         return delegateContext;
389     }
390 
391     @Override
392     public <O extends Container> O getParentContainer(Class<O> clazz) {
393         return SwingUtil.getParentContainer(this, clazz);
394     }
395 
396     @Override
397     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
398         return SwingUtil.getParentContainer(source, clazz);
399     }
400 
401     @Override
402     public <T> void removeContextValue(Class<T> clazz) {
403         delegateContext.removeContextValue(clazz, null);
404     }
405 
406     @Override
407     public <T> void removeContextValue(Class<T> clazz, String name) {
408         delegateContext.removeContextValue(clazz, name);
409     }
410 
411     @Override
412     public <T> void setContextValue(T o) {
413         delegateContext.setContextValue(o, null);
414     }
415 
416     @Override
417     public <T> void setContextValue(T o, String name) {
418         delegateContext.setContextValue(o, name);
419     }
420 
421     /*-----------------------------------------------------------------------*/
422     /*-------------------- JAXXValidator implementation  --------------------*/
423     /*-----------------------------------------------------------------------*/
424 
425     @Override
426     public SwingValidator<?> getValidator(String validatorId) {
427         return (SwingValidator<?>) (validatorIds.contains(validatorId) ? getObjectById(validatorId) : null);
428     }
429 
430     @Override
431     public List<String> getValidatorIds() {
432         return validatorIds;
433     }
434 
435     @Override
436     public void registerValidatorFields() {
437         SwingValidatorUtil.detectValidatorFields(this);
438     }
439 
440     /*-----------------------------------------------------------------------*/
441     /*---------------------------- Event methods ----------------------------*/
442     /*-----------------------------------------------------------------------*/
443 
444     public void doActionPerformed__on__cancelButton(ActionEvent event) {
445         if (log.isDebugEnabled()) {
446             log.debug(event);
447         }
448         handler.cancel();
449     }
450 
451     public void doActionPerformed__on__validateButton(ActionEvent event) {
452         if (log.isDebugEnabled()) {
453             log.debug(event);
454         }
455         handler.validate();
456     }
457 
458     public void doKeyReleased__on__commentEditor(KeyEvent event) {
459         if (log.isDebugEnabled()) {
460             log.debug(event);
461         }
462         handler.setText(event, "comment");
463     }
464 
465     /*-----------------------------------------------------------------------*/
466     /*----------------------- Public acessor methods  -----------------------*/
467     /*-----------------------------------------------------------------------*/
468 
469     public JButton getCancelButton() {
470         return cancelButton;
471     }
472 
473     public JTextArea getCommentEditor() {
474         return commentEditor;
475     }
476 
477     public JLabel getCommentLabel() {
478         return commentLabel;
479     }
480 
481     public JScrollPane getCommentScrollPane() {
482         return commentScrollPane;
483     }
484 
485     public JLabel getConfirmationLabel() {
486         return confirmationLabel;
487     }
488 
489     public ValidateSurveyUIHandler getHandler() {
490         return handler;
491     }
492 
493     public ValidateSurveyUIModel getModel() {
494         return model;
495     }
496 
497     public JButton getValidateButton() {
498         return validateButton;
499     }
500 
501     public SwingValidator<ValidateSurveyUIModel> getValidator() {
502         return validator;
503     }
504 
505     /*-----------------------------------------------------------------------*/
506     /*--------------------- Protected acessors methods  ---------------------*/
507     /*-----------------------------------------------------------------------*/
508 
509     protected JPanel get$JPanel0() {
510         return $JPanel0;
511     }
512 
513     protected Table get$Table0() {
514         return $Table0;
515     }
516 
517     /*-----------------------------------------------------------------------*/
518     /*--------------------- Components creation methods ---------------------*/
519     /*-----------------------------------------------------------------------*/
520 
521     protected void addChildrenToCommentScrollPane() {
522         if (!allComponentsCreated) {
523             return;
524         }
525         commentScrollPane.getViewport().add(commentEditor);
526     }
527 
528     protected void addChildrenToValidateSurveyUI() {
529         if (!allComponentsCreated) {
530             return;
531         }
532         add($Table0);
533         add($JPanel0, BorderLayout.PAGE_END);
534     }
535 
536     protected void addChildrenToValidator() {
537         if (!allComponentsCreated) {
538             return;
539         }
540         validator.setUiClass(ImageValidationUI.class);
541         validator.setBean(model);
542     }
543 
544     protected void createCancelButton() {
545         $objectMap.put("cancelButton", cancelButton = new JButton());
546         
547         cancelButton.setName("cancelButton");
548         cancelButton.setText(t("dali.common.cancel"));
549         cancelButton.setToolTipText(t("dali.common.cancel"));
550         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
551     }
552 
553     protected void createCommentEditor() {
554         $objectMap.put("commentEditor", commentEditor = new JTextArea());
555         
556         commentEditor.setName("commentEditor");
557         commentEditor.setColumns(15);
558         commentEditor.setLineWrap(true);
559         commentEditor.setWrapStyleWord(true);
560         commentEditor.setRows(4);
561         commentEditor.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__commentEditor"));
562     }
563 
564     protected void createCommentLabel() {
565         $objectMap.put("commentLabel", commentLabel = new JLabel());
566         
567         commentLabel.setName("commentLabel");
568     }
569 
570     protected void createCommentScrollPane() {
571         $objectMap.put("commentScrollPane", commentScrollPane = new JScrollPane());
572         
573         commentScrollPane.setName("commentScrollPane");
574     }
575 
576     protected void createConfirmationLabel() {
577         $objectMap.put("confirmationLabel", confirmationLabel = new JLabel());
578         
579         confirmationLabel.setName("confirmationLabel");
580     }
581 
582     protected ValidateSurveyUIHandler createHandler() {
583         return new ValidateSurveyUIHandler();
584     }
585 
586     protected void createModel() {
587         $objectMap.put("model", model = getContextValue(ValidateSurveyUIModel.class));
588     }
589 
590     protected void createValidateButton() {
591         $objectMap.put("validateButton", validateButton = new JButton());
592         
593         validateButton.setName("validateButton");
594         validateButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validateButton"));
595     }
596 
597     protected void createValidator() {
598         $objectMap.put("validator", validator = SwingValidator.newValidator(ValidateSurveyUIModel.class, null));
599     }
600 
601     /*-----------------------------------------------------------------------*/
602     /*------------------------ Internal jaxx methods ------------------------*/
603     /*-----------------------------------------------------------------------*/
604 
605     private void $completeSetup() {
606         allComponentsCreated = true;
607         if (log.isDebugEnabled()) {
608             log.debug(this);
609         }
610         addChildrenToValidateSurveyUI();
611         addChildrenToValidator();
612         // inline complete setup of $Table0
613         $Table0.add(commentLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(5, 5, 5, 5), 0, 0));
614         $Table0.add(SwingUtil.boxComponentWithJxLayer(commentScrollPane), new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(5, 5, 5, 5), 0, 0));
615         $Table0.add(confirmationLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(5, 5, 5, 5), 0, 0));
616         addChildrenToCommentScrollPane();
617         // inline complete setup of $JPanel0
618         $JPanel0.add(cancelButton);
619         $JPanel0.add(validateButton);
620         
621         // apply 7 data bindings
622         JAXXUtil.applyDataBinding(this, $bindings.keySet());
623         
624         // apply 7 property setters
625         commentLabel.setLabelFor(commentEditor);
626         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
627         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
628         validateButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
629         validateButton.setIcon(SwingUtil.createActionIcon("accept"));
630         // late initializer
631         validateSurveyUI.pack();
632         // register 1 validator(s)
633         validatorIds = SwingValidatorUtil.detectValidators(this);
634         SwingValidatorUtil.installUI(this);
635     }
636 
637     private void $initialize() {
638         if (allComponentsCreated) {
639             return;
640         }
641         if (log.isDebugEnabled()) {
642             log.debug(this);
643         }
644         handler.beforeInit(this);
645         $objectMap.put("validateSurveyUI", validateSurveyUI);
646         createModel();
647         createValidator();
648         // inline creation of $Table0
649         $objectMap.put("$Table0", $Table0 = new Table());
650         
651         $Table0.setName("$Table0");
652         createCommentLabel();
653         createCommentScrollPane();
654         createCommentEditor();
655         createConfirmationLabel();
656         // inline creation of $JPanel0
657         $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
658         
659         $JPanel0.setName("$JPanel0");
660         $JPanel0.setLayout(new GridLayout(1,0));
661         createCancelButton();
662         createValidateButton();
663         // inline creation of validateSurveyUI
664         setName("validateSurveyUI");
665         validateSurveyUI.getContentPane().setLayout(new BorderLayout());
666         setResizable(false);
667         setModal(true);
668         
669         // registers 7 data bindings
670         $registerDefaultBindings();
671         $completeSetup();
672         handler.afterInit(this);
673     }
674 
675     private void $registerDefaultBindings() {
676         // register 7 data bindings
677         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_SURVEY_UI_TITLE, true) {
678         
679             @Override
680             public void applyDataBinding() {
681                 if (model != null) {
682                     model.addPropertyChangeListener("unValidation", this);
683                 }
684             }
685         
686             @Override
687             public void processDataBinding() {
688                 if (model != null) {
689                     setTitle(t(model.isUnValidation() ? "dali.action.unvalidate.survey.title" : "dali.action.validate.survey.title"));
690                 }
691             }
692         
693             @Override
694             public void removeDataBinding() {
695                 if (model != null) {
696                     model.removePropertyChangeListener("unValidation", this);
697                 }
698             }
699         });
700         registerDataBinding(new DefaultJAXXBinding(this, BINDING_COMMENT_LABEL_TEXT, true) {
701         
702             @Override
703             public void applyDataBinding() {
704                 if (model != null) {
705                     model.addPropertyChangeListener("unValidation", this);
706                 }
707             }
708         
709             @Override
710             public void processDataBinding() {
711                 if (model != null) {
712                     commentLabel.setText(t(model.isUnValidation() ? "dali.action.unvalidate.survey.askForComment" : "dali.action.validate.survey.askForComment"));
713                 }
714             }
715         
716             @Override
717             public void removeDataBinding() {
718                 if (model != null) {
719                     model.removePropertyChangeListener("unValidation", this);
720                 }
721             }
722         });
723         registerDataBinding(new DefaultJAXXBinding(this, BINDING_COMMENT_EDITOR_TEXT, true) {
724         
725             @Override
726             public void applyDataBinding() {
727                 if (model != null) {
728                     model.addPropertyChangeListener("comment", this);
729                 }
730             }
731         
732             @Override
733             public void processDataBinding() {
734                 if (model != null) {
735                     SwingUtil.setText(commentEditor, model.getComment());
736                 }
737             }
738         
739             @Override
740             public void removeDataBinding() {
741                 if (model != null) {
742                     model.removePropertyChangeListener("comment", this);
743                 }
744             }
745         });
746         registerDataBinding(new DefaultJAXXBinding(this, BINDING_CONFIRMATION_LABEL_TEXT, true) {
747         
748             @Override
749             public void applyDataBinding() {
750                 if (model != null) {
751                     model.addPropertyChangeListener("unValidation", this);
752                 }
753             }
754         
755             @Override
756             public void processDataBinding() {
757                 if (model != null) {
758                     confirmationLabel.setText(t(model.isUnValidation() ? "dali.action.unvalidate.survey.message" : "dali.action.validate.survey.message"));
759                 }
760             }
761         
762             @Override
763             public void removeDataBinding() {
764                 if (model != null) {
765                     model.removePropertyChangeListener("unValidation", this);
766                 }
767             }
768         });
769         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_BUTTON_TEXT, true) {
770         
771             @Override
772             public void applyDataBinding() {
773                 if (model != null) {
774                     model.addPropertyChangeListener("unValidation", this);
775                 }
776             }
777         
778             @Override
779             public void processDataBinding() {
780                 if (model != null) {
781                     validateButton.setText(t(model.isUnValidation() ? "dali.common.unvalidate" : "dali.common.validate"));
782                 }
783             }
784         
785             @Override
786             public void removeDataBinding() {
787                 if (model != null) {
788                     model.removePropertyChangeListener("unValidation", this);
789                 }
790             }
791         });
792         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_BUTTON_TOOL_TIP_TEXT, true) {
793         
794             @Override
795             public void applyDataBinding() {
796                 if (model != null) {
797                     model.addPropertyChangeListener("unValidation", this);
798                 }
799             }
800         
801             @Override
802             public void processDataBinding() {
803                 if (model != null) {
804                     validateButton.setToolTipText(t(model.isUnValidation() ?  "dali.common.unvalidate" : "dali.common.validate"));
805                 }
806             }
807         
808             @Override
809             public void removeDataBinding() {
810                 if (model != null) {
811                     model.removePropertyChangeListener("unValidation", this);
812                 }
813             }
814         });
815         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALIDATE_BUTTON_ENABLED, true) {
816         
817             @Override
818             public void applyDataBinding() {
819                 if (model != null) {
820                     model.addPropertyChangeListener("valid", this);
821                 }
822             }
823         
824             @Override
825             public void processDataBinding() {
826                 if (model != null) {
827                     validateButton.setEnabled(model.isValid());
828                 }
829             }
830         
831             @Override
832             public void removeDataBinding() {
833                 if (model != null) {
834                     model.removePropertyChangeListener("valid", this);
835                 }
836             }
837         });
838     }
839 
840 }