View Javadoc
1   package fr.ifremer.dali.ui.swing.content.extraction.list.external;
2   
3   import fr.ifremer.dali.ui.swing.DaliUIContext;
4   import fr.ifremer.dali.ui.swing.util.DaliUI;
5   import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
6   import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
7   import java.awt.BorderLayout;
8   import java.awt.Component;
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.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.JTextField;
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 ExternalChooseUI extends JDialog implements DaliUI<ExternalChooseUIModel, ExternalChooseUIHandler>, JAXXObject, JAXXValidator {
53  
54      /*-----------------------------------------------------------------------*/
55      /*------------------ Constants for all public bindings ------------------*/
56      /*-----------------------------------------------------------------------*/
57  
58      public static final String BINDING_EMAIL_FIELD_TEXT = "emailField.text";
59      public static final String BINDING_FILE_NAME_FIELD_TEXT = "fileNameField.text";
60      public static final String BINDING_VALID_BUTTON_ENABLED = "validButton.enabled";
61  
62      /*-----------------------------------------------------------------------*/
63      /*------------------------- Other static fields -------------------------*/
64      /*-----------------------------------------------------------------------*/
65  
66      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAK1Vz28bRRR+dmOndlLaJjQU2tK0jfgh0DrcKoJKIdQikdMiEqqqvjDenSRTze4sM7PtlrSIMyf+BLhzQeLGCXHgzIEL4l9AiAPXqm9m17tee7d2JSx57Z33vu+97828Nz/8DQ0l4dI9EseOjALNfOpsf3Dnzq3BPerqj6hyJQu1kJB8anWo92HBy9aVhiv9noF3UnhnU/ihCGgwgt7oQVvph5yqQ0q1hgtFhKtUZzczb8RhJIesWVJlrN/9+0/9W+/r7+sAcYjZLaCU1WmoXMlcD+rM07CEke6TDifBAaYhWXCA+Z4wa5ucKHWT+PQL+Arme9AMiUQyDZdnl2w5LD4ONZyisaYyIHzzUAhFP9vSsL0vHbYvqU+l4xHOnIg56gFm4bgi0EjqIEYSVzMROJwp+245nBtjZGFoIzU1NHzhUa7h1v9HvmMY8wit+0jnEZSq4a1C0TNDGmnXPG8PF3OG+bU9MuB0XcPZAj5BWZvxbGWANvUJ4z0yMMqWzAbFqfO2XTRuS2PeXUY57vFKwXsPRVpDEXFin3Fqtjtje6nCIQO/UnQ4vrb9CQkoXx/Pz64W1Sy6JHAp/zDSGrcClgv+yarxvJgBFmxhc8taapZwrlA/bCcnb6f8vNf60JARLmPB+5Md+Cmakt47O9Z7htBan6ws//HzXz91hw23iLHPlLqOzAtshFCKkErNTOiTSbdFmvHODgk3+tBSlOOwscPkfEliu6kZk8N4pw3cMXDnY6IOkaIx/+cvv658/vsxqHehzQXxusT4b0FLH0qsguBeHL5/3Wa0+OA4Pk/h9xieYbSyL81Bw47ZJ1yZX820eX/VtstId2SNkTqYFiN4EOe0jGiMZTtfUrYs90Hrt/+Wd3+8PixdDaW8XOmel69xF5os4Cygdlqlg6h0Oi2EikaeyAdO2QiCkhkUpj35tn2uT1Sqjgebm5bommZfPMob67GRj3Qa1irLZb0di48jE+CqlW/+vQuFpp6WRy2LtnRk55tzQPUNA3/jzcfV3DbT59N48qjQ6bnM1ytlDgHVSovjZXaxZ3Kx3ZShQm9xPk2LMId7yd65GuwE1BcBczWcs+pc4eO7k4wnx8+s7UTylrk5oJmY8x2ZhOLE0kLwPRbuVbmUiSjMxWkaGhMaLoxGSa8iWqmCuC4NdabixTLwuI4Kp3kamEmCl83pdMOYsrdexWaNjvMZDkOTk4cCneGF9zAeWR2wwMOr4toEdc0827MwDoT0qDT2R+Usy1NZzPLRMxhWZznmzE0utAqOKzNl8c0zGF5DhqdOb/4W6woAAA==";
67      private static final Log log = LogFactory.getLog(ExternalChooseUI.class);
68      private static final long serialVersionUID = 1L;
69  
70      /*-----------------------------------------------------------------------*/
71      /*--------------------------- Internal states ---------------------------*/
72      /*-----------------------------------------------------------------------*/
73  
74      protected List<Object> $activeBindings = new ArrayList<Object>();
75      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
76      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
77      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
78      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
79      private boolean allComponentsCreated;
80      protected final JAXXContext delegateContext = new DefaultJAXXContext();
81  
82      /*-----------------------------------------------------------------------*/
83      /*------------------------ Protected components  ------------------------*/
84      /*-----------------------------------------------------------------------*/
85  
86      protected JButton cancelButton;
87      @ValidatorField( validatorId = "validator",  propertyName = "email",  editorName = "emailField")
88      protected JTextField emailField;
89      protected JLabel emailLabel;
90      protected ExternalChooseUI externalChooseUI = this;
91      @ValidatorField( validatorId = "validator",  propertyName = "fileName",  editorName = "fileNameField")
92      protected JTextField fileNameField;
93      protected JLabel fileNameLabel;
94      protected final ExternalChooseUIHandler handler = createHandler();
95      protected ExternalChooseUIModel model;
96      protected JButton validButton;
97      @Validator( validatorId = "validator")
98      protected SwingValidator<ExternalChooseUIModel> validator;
99      protected List<String> validatorIds = new ArrayList<String>();
100 
101     /*-----------------------------------------------------------------------*/
102     /*------------------------- Private components  -------------------------*/
103     /*-----------------------------------------------------------------------*/
104 
105     private JPanel $JPanel0;
106     private Table $Table0;
107 
108     /*-----------------------------------------------------------------------*/
109     /*---------------------------- Constructors  ----------------------------*/
110     /*-----------------------------------------------------------------------*/
111 
112     public ExternalChooseUI(DaliUIContext context) {
113         super(context.getMainUI());
114         			ApplicationUIUtil.setApplicationContext(this, context);
115             $initialize();
116     }
117 
118     public ExternalChooseUI(Window param0) {
119         super(param0);
120         $initialize();
121     }
122 
123     public ExternalChooseUI(JAXXContext parentContext, Window param1) {
124         super(param1);
125         JAXXUtil.initContext(this, parentContext);
126         $initialize();
127     }
128 
129     public ExternalChooseUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
130         super(param0 ,param1 ,param2 ,param3);
131         $initialize();
132     }
133 
134     public ExternalChooseUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
135         super(param1 ,param2 ,param3 ,param4);
136         JAXXUtil.initContext(this, parentContext);
137         $initialize();
138     }
139 
140     public ExternalChooseUI(Dialog param0, String param1, boolean param2) {
141         super(param0 ,param1 ,param2);
142         $initialize();
143     }
144 
145     public ExternalChooseUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
146         super(param1 ,param2 ,param3);
147         JAXXUtil.initContext(this, parentContext);
148         $initialize();
149     }
150 
151     public ExternalChooseUI(Dialog param0, String param1) {
152         super(param0 ,param1);
153         $initialize();
154     }
155 
156     public ExternalChooseUI(JAXXContext parentContext, Dialog param1, String param2) {
157         super(param1 ,param2);
158         JAXXUtil.initContext(this, parentContext);
159         $initialize();
160     }
161 
162     public ExternalChooseUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
163         super(param0 ,param1 ,param2 ,param3);
164         $initialize();
165     }
166 
167     public ExternalChooseUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
168         super(param1 ,param2 ,param3 ,param4);
169         JAXXUtil.initContext(this, parentContext);
170         $initialize();
171     }
172 
173     public ExternalChooseUI(Window param0, String param1, ModalityType param2) {
174         super(param0 ,param1 ,param2);
175         $initialize();
176     }
177 
178     public ExternalChooseUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
179         super(param1 ,param2 ,param3);
180         JAXXUtil.initContext(this, parentContext);
181         $initialize();
182     }
183 
184     public ExternalChooseUI(Window param0, String param1) {
185         super(param0 ,param1);
186         $initialize();
187     }
188 
189     public ExternalChooseUI(JAXXContext parentContext, Window param1, String param2) {
190         super(param1 ,param2);
191         JAXXUtil.initContext(this, parentContext);
192         $initialize();
193     }
194 
195     public ExternalChooseUI(Window param0, ModalityType param1) {
196         super(param0 ,param1);
197         $initialize();
198     }
199 
200     public ExternalChooseUI(JAXXContext parentContext, Window param1, ModalityType param2) {
201         super(param1 ,param2);
202         JAXXUtil.initContext(this, parentContext);
203         $initialize();
204     }
205 
206     public ExternalChooseUI(Frame param0, String param1) {
207         super(param0 ,param1);
208         $initialize();
209     }
210 
211     public ExternalChooseUI(JAXXContext parentContext, Frame param1, String param2) {
212         super(param1 ,param2);
213         JAXXUtil.initContext(this, parentContext);
214         $initialize();
215     }
216 
217     public ExternalChooseUI(Frame param0, boolean param1) {
218         super(param0 ,param1);
219         $initialize();
220     }
221 
222     public ExternalChooseUI(JAXXContext parentContext, Frame param1, boolean param2) {
223         super(param1 ,param2);
224         JAXXUtil.initContext(this, parentContext);
225         $initialize();
226     }
227 
228     public ExternalChooseUI(Frame param0) {
229         super(param0);
230         $initialize();
231     }
232 
233     public ExternalChooseUI(JAXXContext parentContext, Frame param1) {
234         super(param1);
235         JAXXUtil.initContext(this, parentContext);
236         $initialize();
237     }
238 
239     public ExternalChooseUI() {
240         $initialize();
241     }
242 
243     public ExternalChooseUI(JAXXContext parentContext) {
244         JAXXUtil.initContext(this, parentContext);
245         $initialize();
246     }
247 
248     public ExternalChooseUI(Dialog param0, boolean param1) {
249         super(param0 ,param1);
250         $initialize();
251     }
252 
253     public ExternalChooseUI(JAXXContext parentContext, Dialog param1, boolean param2) {
254         super(param1 ,param2);
255         JAXXUtil.initContext(this, parentContext);
256         $initialize();
257     }
258 
259     public ExternalChooseUI(Dialog param0) {
260         super(param0);
261         $initialize();
262     }
263 
264     public ExternalChooseUI(JAXXContext parentContext, Dialog param1) {
265         super(param1);
266         JAXXUtil.initContext(this, parentContext);
267         $initialize();
268     }
269 
270     public ExternalChooseUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
271         super(param0 ,param1 ,param2 ,param3);
272         $initialize();
273     }
274 
275     public ExternalChooseUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
276         super(param1 ,param2 ,param3 ,param4);
277         JAXXUtil.initContext(this, parentContext);
278         $initialize();
279     }
280 
281     public ExternalChooseUI(Frame param0, String param1, boolean param2) {
282         super(param0 ,param1 ,param2);
283         $initialize();
284     }
285 
286     public ExternalChooseUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
287         super(param1 ,param2 ,param3);
288         JAXXUtil.initContext(this, parentContext);
289         $initialize();
290     }
291 
292     /*-----------------------------------------------------------------------*/
293     /*--------------------------- Statics methods ---------------------------*/
294     /*-----------------------------------------------------------------------*/
295 
296     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
297         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
298     }
299 
300     /*-----------------------------------------------------------------------*/
301     /*---------------------- JAXXObject implementation ----------------------*/
302     /*-----------------------------------------------------------------------*/
303 
304     @Override
305     public void applyDataBinding(String $binding) {
306         if (allComponentsCreated && $bindings.containsKey($binding)) {
307             getDataBinding($binding).applyDataBinding();
308         }
309         processDataBinding($binding);
310     }
311 
312     @Override
313     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
314         super.firePropertyChange(propertyName, oldValue, newValue);
315     }
316 
317     @Override
318     public Map<String, Object> get$objectMap() {
319         return $objectMap;
320     }
321 
322     @Override
323     public JAXXBinding getDataBinding(String bindingId) {
324         return $bindings.get(bindingId);
325     }
326 
327     @Override
328     public JAXXBinding[] getDataBindings() {
329         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
330     }
331 
332     @Override
333     public Object getObjectById(String id) {
334         return $objectMap.get(id);
335     }
336 
337     @Override
338     public void processDataBinding(String $binding, boolean $force) {
339         if (!$force && $activeBindings.contains($binding)) { 
340             return;
341         }
342         $activeBindings.add($binding);
343         try {
344             if (allComponentsCreated && $bindings.containsKey($binding)) {
345                 getDataBinding($binding).processDataBinding();
346             }
347         } finally {
348             $activeBindings.remove($binding);
349         }
350     }
351 
352     @Override
353     public void processDataBinding(String $binding) {
354         processDataBinding($binding, false);
355     }
356 
357     @Override
358     public void registerDataBinding(JAXXBinding binding) {
359         $bindings.put(binding.getId(), binding);
360     }
361 
362     @Override
363     public void removeDataBinding(String $binding) {
364         if (allComponentsCreated && $bindings.containsKey($binding)) {
365             getDataBinding($binding).removeDataBinding();
366         }
367     }
368 
369     /*-----------------------------------------------------------------------*/
370     /*--------------------- JAXXContext implementation  ---------------------*/
371     /*-----------------------------------------------------------------------*/
372 
373     @Override
374     public <T> T getContextValue(Class<T> clazz) {
375         return delegateContext.getContextValue(clazz, null);
376     }
377 
378     @Override
379     public <T> T getContextValue(Class<T> clazz, String name) {
380         return delegateContext.getContextValue(clazz, name);
381     }
382 
383     @Override
384     public JAXXContext getDelegateContext() {
385         return delegateContext;
386     }
387 
388     @Override
389     public <O extends Container> O getParentContainer(Class<O> clazz) {
390         return SwingUtil.getParentContainer(this, clazz);
391     }
392 
393     @Override
394     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
395         return SwingUtil.getParentContainer(source, clazz);
396     }
397 
398     @Override
399     public <T> void removeContextValue(Class<T> clazz) {
400         delegateContext.removeContextValue(clazz, null);
401     }
402 
403     @Override
404     public <T> void removeContextValue(Class<T> clazz, String name) {
405         delegateContext.removeContextValue(clazz, name);
406     }
407 
408     @Override
409     public <T> void setContextValue(T o) {
410         delegateContext.setContextValue(o, null);
411     }
412 
413     @Override
414     public <T> void setContextValue(T o, String name) {
415         delegateContext.setContextValue(o, name);
416     }
417 
418     /*-----------------------------------------------------------------------*/
419     /*-------------------- JAXXValidator implementation  --------------------*/
420     /*-----------------------------------------------------------------------*/
421 
422     @Override
423     public SwingValidator<?> getValidator(String validatorId) {
424         return (SwingValidator<?>) (validatorIds.contains(validatorId) ? getObjectById(validatorId) : null);
425     }
426 
427     @Override
428     public List<String> getValidatorIds() {
429         return validatorIds;
430     }
431 
432     @Override
433     public void registerValidatorFields() {
434         SwingValidatorUtil.detectValidatorFields(this);
435     }
436 
437     /*-----------------------------------------------------------------------*/
438     /*---------------------------- Event methods ----------------------------*/
439     /*-----------------------------------------------------------------------*/
440 
441     public void doActionPerformed__on__cancelButton(ActionEvent event) {
442         if (log.isDebugEnabled()) {
443             log.debug(event);
444         }
445         handler.cancel();
446     }
447 
448     public void doActionPerformed__on__validButton(ActionEvent event) {
449         if (log.isDebugEnabled()) {
450             log.debug(event);
451         }
452         handler.valid();
453     }
454 
455     public void doKeyReleased__on__emailField(KeyEvent event) {
456         if (log.isDebugEnabled()) {
457             log.debug(event);
458         }
459         handler.setText(event, "email");
460     }
461 
462     public void doKeyReleased__on__fileNameField(KeyEvent event) {
463         if (log.isDebugEnabled()) {
464             log.debug(event);
465         }
466         handler.setText(event, "fileName");
467     }
468 
469     /*-----------------------------------------------------------------------*/
470     /*----------------------- Public acessor methods  -----------------------*/
471     /*-----------------------------------------------------------------------*/
472 
473     public JButton getCancelButton() {
474         return cancelButton;
475     }
476 
477     public JTextField getEmailField() {
478         return emailField;
479     }
480 
481     public JLabel getEmailLabel() {
482         return emailLabel;
483     }
484 
485     public JTextField getFileNameField() {
486         return fileNameField;
487     }
488 
489     public JLabel getFileNameLabel() {
490         return fileNameLabel;
491     }
492 
493     public ExternalChooseUIHandler getHandler() {
494         return handler;
495     }
496 
497     public ExternalChooseUIModel getModel() {
498         return model;
499     }
500 
501     public JButton getValidButton() {
502         return validButton;
503     }
504 
505     public SwingValidator<ExternalChooseUIModel> getValidator() {
506         return validator;
507     }
508 
509     /*-----------------------------------------------------------------------*/
510     /*--------------------- Protected acessors methods  ---------------------*/
511     /*-----------------------------------------------------------------------*/
512 
513     protected JPanel get$JPanel0() {
514         return $JPanel0;
515     }
516 
517     protected Table get$Table0() {
518         return $Table0;
519     }
520 
521     /*-----------------------------------------------------------------------*/
522     /*--------------------- Components creation methods ---------------------*/
523     /*-----------------------------------------------------------------------*/
524 
525     protected void addChildrenToExternalChooseUI() {
526         if (!allComponentsCreated) {
527             return;
528         }
529         add($Table0);
530         add($JPanel0, BorderLayout.PAGE_END);
531     }
532 
533     protected void addChildrenToValidator() {
534         if (!allComponentsCreated) {
535             return;
536         }
537         validator.setUiClass(ImageValidationUI.class);
538         validator.setBean(model);
539     }
540 
541     protected void createCancelButton() {
542         $objectMap.put("cancelButton", cancelButton = new JButton());
543         
544         cancelButton.setName("cancelButton");
545         cancelButton.setText(t("dali.common.cancel"));
546         cancelButton.setToolTipText(t("dali.common.cancel"));
547         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
548     }
549 
550     protected void createEmailField() {
551         $objectMap.put("emailField", emailField = new JTextField());
552         
553         emailField.setName("emailField");
554         emailField.setColumns(15);
555         emailField.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__emailField"));
556     }
557 
558     protected void createEmailLabel() {
559         $objectMap.put("emailLabel", emailLabel = new JLabel());
560         
561         emailLabel.setName("emailLabel");
562         emailLabel.setText(t("dali.extraction.external.email.label"));
563     }
564 
565     protected void createFileNameField() {
566         $objectMap.put("fileNameField", fileNameField = new JTextField());
567         
568         fileNameField.setName("fileNameField");
569         fileNameField.setColumns(15);
570         fileNameField.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__fileNameField"));
571     }
572 
573     protected void createFileNameLabel() {
574         $objectMap.put("fileNameLabel", fileNameLabel = new JLabel());
575         
576         fileNameLabel.setName("fileNameLabel");
577         fileNameLabel.setText(t("dali.extraction.external.fileName.label"));
578     }
579 
580     protected ExternalChooseUIHandler createHandler() {
581         return new ExternalChooseUIHandler();
582     }
583 
584     protected void createModel() {
585         $objectMap.put("model", model = getContextValue(ExternalChooseUIModel.class));
586     }
587 
588     protected void createValidButton() {
589         $objectMap.put("validButton", validButton = new JButton());
590         
591         validButton.setName("validButton");
592         validButton.setText(t("dali.common.validate"));
593         validButton.setToolTipText(t("dali.common.validate"));
594         validButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validButton"));
595     }
596 
597     protected void createValidator() {
598         $objectMap.put("validator", validator = SwingValidator.newValidator(ExternalChooseUIModel.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         addChildrenToExternalChooseUI();
611         addChildrenToValidator();
612         // inline complete setup of $Table0
613         $Table0.add(emailLabel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
614         $Table0.add(SwingUtil.boxComponentWithJxLayer(emailField), new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
615         $Table0.add(fileNameLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
616         $Table0.add(SwingUtil.boxComponentWithJxLayer(fileNameField), new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
617         // inline complete setup of $JPanel0
618         $JPanel0.add(cancelButton);
619         $JPanel0.add(validButton);
620         
621         // apply 3 data bindings
622         JAXXUtil.applyDataBinding(this, $bindings.keySet());
623         
624         // apply 9 property setters
625         $Table0.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
626         emailLabel.setLabelFor(emailField);
627         fileNameLabel.setLabelFor(fileNameField);
628         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
629         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
630         validButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
631         validButton.setIcon(SwingUtil.createActionIcon("accept"));
632         // late initializer
633         externalChooseUI.pack();
634         // register 1 validator(s)
635         validatorIds = SwingValidatorUtil.detectValidators(this);
636         SwingValidatorUtil.installUI(this);
637     }
638 
639     private void $initialize() {
640         if (allComponentsCreated) {
641             return;
642         }
643         if (log.isDebugEnabled()) {
644             log.debug(this);
645         }
646         handler.beforeInit(this);
647         $objectMap.put("externalChooseUI", externalChooseUI);
648         createModel();
649         createValidator();
650         // inline creation of $Table0
651         $objectMap.put("$Table0", $Table0 = new Table());
652         
653         $Table0.setName("$Table0");
654         createEmailLabel();
655         createEmailField();
656         createFileNameLabel();
657         createFileNameField();
658         // inline creation of $JPanel0
659         $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
660         
661         $JPanel0.setName("$JPanel0");
662         $JPanel0.setLayout(new GridLayout(1,0));
663         createCancelButton();
664         createValidButton();
665         // inline creation of externalChooseUI
666         setName("externalChooseUI");
667         externalChooseUI.getContentPane().setLayout(new BorderLayout());
668         setResizable(false);
669         setTitle(t("dali.extraction.external.title"));
670         setModal(true);
671         
672         // registers 3 data bindings
673         $registerDefaultBindings();
674         $completeSetup();
675         handler.afterInit(this);
676     }
677 
678     private void $registerDefaultBindings() {
679         // register 3 data bindings
680         registerDataBinding(new DefaultJAXXBinding(this, BINDING_EMAIL_FIELD_TEXT, true) {
681         
682             @Override
683             public void applyDataBinding() {
684                 if (model != null) {
685                     model.addPropertyChangeListener("email", this);
686                 }
687             }
688         
689             @Override
690             public void processDataBinding() {
691                 if (model != null) {
692                     SwingUtil.setText(emailField, model.getEmail());
693                 }
694             }
695         
696             @Override
697             public void removeDataBinding() {
698                 if (model != null) {
699                     model.removePropertyChangeListener("email", this);
700                 }
701             }
702         });
703         registerDataBinding(new DefaultJAXXBinding(this, BINDING_FILE_NAME_FIELD_TEXT, true) {
704         
705             @Override
706             public void applyDataBinding() {
707                 if (model != null) {
708                     model.addPropertyChangeListener("fileName", this);
709                 }
710             }
711         
712             @Override
713             public void processDataBinding() {
714                 if (model != null) {
715                     SwingUtil.setText(fileNameField, model.getFileName());
716                 }
717             }
718         
719             @Override
720             public void removeDataBinding() {
721                 if (model != null) {
722                     model.removePropertyChangeListener("fileName", this);
723                 }
724             }
725         });
726         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALID_BUTTON_ENABLED, true) {
727         
728             @Override
729             public void applyDataBinding() {
730                 if (model != null) {
731                     model.addPropertyChangeListener("valid", this);
732                 }
733             }
734         
735             @Override
736             public void processDataBinding() {
737                 if (model != null) {
738                     validButton.setEnabled(model.isValid());
739                 }
740             }
741         
742             @Override
743             public void removeDataBinding() {
744                 if (model != null) {
745                     model.removePropertyChangeListener("valid", this);
746                 }
747             }
748         });
749     }
750 
751 }