1 package fr.ifremer.quadrige3.ui.swing.content.login;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
26 import fr.ifremer.quadrige3.ui.swing.ApplicationUIContext;
27 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
28 import java.awt.BorderLayout;
29 import java.awt.Container;
30 import java.awt.Dialog;
31 import java.awt.Dialog.ModalityType;
32 import java.awt.Frame;
33 import java.awt.GraphicsConfiguration;
34 import java.awt.GridBagConstraints;
35 import java.awt.GridLayout;
36 import java.awt.Insets;
37 import java.awt.Window;
38 import java.awt.event.ActionEvent;
39 import java.awt.event.ActionListener;
40 import java.awt.event.KeyEvent;
41 import java.awt.event.KeyListener;
42 import java.util.ArrayList;
43 import java.util.HashMap;
44 import java.util.List;
45 import java.util.Map;
46 import java.util.TreeMap;
47 import javax.swing.JButton;
48 import javax.swing.JDialog;
49 import javax.swing.JLabel;
50 import javax.swing.JPanel;
51 import javax.swing.JPasswordField;
52 import javax.swing.JTextField;
53 import javax.swing.event.DocumentEvent;
54 import javax.swing.event.DocumentListener;
55 import javax.swing.text.Document;
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.SwingUtil;
62 import jaxx.runtime.binding.DefaultJAXXBinding;
63 import jaxx.runtime.context.DefaultJAXXContext;
64 import jaxx.runtime.swing.Table;
65 import org.apache.commons.lang3.StringUtils;
66 import org.apache.commons.logging.Log;
67 import org.apache.commons.logging.LogFactory;
68 import static org.nuiton.i18n.I18n.t;
69
70 public class LoginUI extends JDialog implements ApplicationUI<LoginUIModel, LoginUIHandler>, JAXXObject {
71
72
73
74
75
76 public static final String BINDING_ACCEPT_BUTTON_ENABLED = "acceptButton.enabled";
77 public static final String BINDING_LOGIN_FIELD_TEXT = "loginField.text";
78 public static final String BINDING_PASSWORD_FIELD_TEXT = "passwordField.text";
79
80
81
82
83
84 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAKVWQW8bRRQem9iJ44ZAQ0JLC4S2QqmE1kWVUKQgKG1lkcgpFUmlCl8Y746dKbMz05nZZktUVK6c+Alw54LEjRPiwJkDF8RfQIgDV8SbWXs3E69jA5Y8tue998373rz3rb/5HdW0Qq89wGkaqIQbGpNg57379z/oPSChuU10qKg0QqHsVamiahc1o3xfG3S527HhrWF465aIpeCEH4ve6qBFbR4zog8IMQa97EeEWrf2cvNWKhM1Qs2TKkP96s8/ql9GT7+uIpRKyK4JVNanRRVM5jqoSiODzsJJj3CLYT6ANBTlA8h3ye7dYljrOzgmD9FnaL6D6hIrADPo0uyUHYaLT6VBTSYGlN+mGD4Nut5XAe0rEhMVPExwpOiAXA8SGuhDyCIIBTcAGriYoGPXe9tSOrS6QbVYRIQZtPkfUHZtaAHViDHldzG3cOe8CmYY+7jHXBEaeUiT8r7YJVrjAYEa2nKlQ++dDu4RZv2Wc/dFd3xueKHM2qaEwX2seVj7JDXO4EcsSSjroVDRJMjcYYj6kod697jRD1y4suMqce0kK7fr+54JMQ8Ju5kYA1VGK55/tms9Xy0CcBgSaQrTlaFdoQte3WEmgmImiqatdFFNJbANF9UdH6MPwZQN0LkTA2QBnfXvtZVfvv/tu/Zoapbg7NVS12NDD90slZBEGWqPXs5GJjGUtXax3OqihiYMFMMpwsWSxPaGZkgOznvehgc2PHgf6wOAqM3/+sOPax///Ayqtm074KiNrf82apgDBVUQLErluzdcRmcOF2B9Dt5V6F2w0k9tg8JI9DHT9tNQY3+vFvOQtb/bT6E8F0vKk+fYa/z018retzdGJapAyucnuhdlqn2E6pQzyomTlqFqlEpJU2qSRKJQhzK9QL5gyOHAvuHWa2PFqMAgQdGo4Nt26LMRVTG2O2liY95yZOy3TeSP8DRsKPQCs6PWFgra+KgY2CcGzRkYUoMunKx239qz72XnH9OEGagNDzl75GQvANVxWrZx9clkbJfgv6O2fOQJR8HulXJ2I++yJHyRmp3jasFxJFQTaPoqN+2EObg5+uYm3+UkFpyGBq0XpEIRw2aQKVoQ5y5eS9Uzc57pixPiobmMEGyfyv1T/co4eaI6jVJtjNKlsaMeYUYjbMhEUpko56TOT0Q4Ses0z3nCrSjBoyc4yv5W3AO90wHVd4S5Cf82PtkoetRetYXcuFp+z95zY4ZGqjP8WIAzevZtyAav9yiPIIN3xrArdl2cimi3n9rl83KE9Vmam4bZM28CxspMWXxxCsLl/43wOiD8A4UPFoQVCwAA";
85 private static final Log log = LogFactory.getLog(LoginUI.class);
86 private static final long serialVersionUID = 1L;
87
88
89
90
91
92 protected List<Object> $activeBindings = new ArrayList<Object>();
93 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
94 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
95 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
96 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
97 private boolean allComponentsCreated;
98 protected final JAXXContext delegateContext = new DefaultJAXXContext();
99
100
101
102
103
104 protected JButton acceptButton;
105 protected JButton cancelButton;
106 protected final LoginUIHandler handler = createHandler();
107 protected JLabel infoMessage;
108 protected LoginUI loginDialog = this;
109 protected JTextField loginField;
110 protected JLabel loginLabel;
111 protected Table mainPanel;
112 protected LoginUIModel model;
113 protected JPasswordField passwordField;
114 protected JLabel passwordLabel;
115
116
117
118
119
120 private JPanel $JPanel0;
121
122
123
124
125
126 public LoginUI(ApplicationUIContext context) {
127 super(context.getMainUI());
128 ApplicationUIUtil.setApplicationContext(this, context);
129 $initialize();
130 }
131
132 public LoginUI(Window param0) {
133 super(param0);
134 $initialize();
135 }
136
137 public LoginUI(JAXXContext parentContext, Window param1) {
138 super(param1);
139 JAXXUtil.initContext(this, parentContext);
140 $initialize();
141 }
142
143 public LoginUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
144 super(param0 ,param1 ,param2 ,param3);
145 $initialize();
146 }
147
148 public LoginUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
149 super(param1 ,param2 ,param3 ,param4);
150 JAXXUtil.initContext(this, parentContext);
151 $initialize();
152 }
153
154 public LoginUI(Dialog param0, String param1, boolean param2) {
155 super(param0 ,param1 ,param2);
156 $initialize();
157 }
158
159 public LoginUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
160 super(param1 ,param2 ,param3);
161 JAXXUtil.initContext(this, parentContext);
162 $initialize();
163 }
164
165 public LoginUI(Dialog param0, String param1) {
166 super(param0 ,param1);
167 $initialize();
168 }
169
170 public LoginUI(JAXXContext parentContext, Dialog param1, String param2) {
171 super(param1 ,param2);
172 JAXXUtil.initContext(this, parentContext);
173 $initialize();
174 }
175
176 public LoginUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
177 super(param0 ,param1 ,param2 ,param3);
178 $initialize();
179 }
180
181 public LoginUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
182 super(param1 ,param2 ,param3 ,param4);
183 JAXXUtil.initContext(this, parentContext);
184 $initialize();
185 }
186
187 public LoginUI(Window param0, String param1, ModalityType param2) {
188 super(param0 ,param1 ,param2);
189 $initialize();
190 }
191
192 public LoginUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
193 super(param1 ,param2 ,param3);
194 JAXXUtil.initContext(this, parentContext);
195 $initialize();
196 }
197
198 public LoginUI(Window param0, String param1) {
199 super(param0 ,param1);
200 $initialize();
201 }
202
203 public LoginUI(JAXXContext parentContext, Window param1, String param2) {
204 super(param1 ,param2);
205 JAXXUtil.initContext(this, parentContext);
206 $initialize();
207 }
208
209 public LoginUI(Window param0, ModalityType param1) {
210 super(param0 ,param1);
211 $initialize();
212 }
213
214 public LoginUI(JAXXContext parentContext, Window param1, ModalityType param2) {
215 super(param1 ,param2);
216 JAXXUtil.initContext(this, parentContext);
217 $initialize();
218 }
219
220 public LoginUI(Frame param0, String param1) {
221 super(param0 ,param1);
222 $initialize();
223 }
224
225 public LoginUI(JAXXContext parentContext, Frame param1, String param2) {
226 super(param1 ,param2);
227 JAXXUtil.initContext(this, parentContext);
228 $initialize();
229 }
230
231 public LoginUI(Frame param0, boolean param1) {
232 super(param0 ,param1);
233 $initialize();
234 }
235
236 public LoginUI(JAXXContext parentContext, Frame param1, boolean param2) {
237 super(param1 ,param2);
238 JAXXUtil.initContext(this, parentContext);
239 $initialize();
240 }
241
242 public LoginUI(Frame param0) {
243 super(param0);
244 $initialize();
245 }
246
247 public LoginUI(JAXXContext parentContext, Frame param1) {
248 super(param1);
249 JAXXUtil.initContext(this, parentContext);
250 $initialize();
251 }
252
253 public LoginUI() {
254 $initialize();
255 }
256
257 public LoginUI(JAXXContext parentContext) {
258 JAXXUtil.initContext(this, parentContext);
259 $initialize();
260 }
261
262 public LoginUI(Dialog param0, boolean param1) {
263 super(param0 ,param1);
264 $initialize();
265 }
266
267 public LoginUI(JAXXContext parentContext, Dialog param1, boolean param2) {
268 super(param1 ,param2);
269 JAXXUtil.initContext(this, parentContext);
270 $initialize();
271 }
272
273 public LoginUI(Dialog param0) {
274 super(param0);
275 $initialize();
276 }
277
278 public LoginUI(JAXXContext parentContext, Dialog param1) {
279 super(param1);
280 JAXXUtil.initContext(this, parentContext);
281 $initialize();
282 }
283
284 public LoginUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
285 super(param0 ,param1 ,param2 ,param3);
286 $initialize();
287 }
288
289 public LoginUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
290 super(param1 ,param2 ,param3 ,param4);
291 JAXXUtil.initContext(this, parentContext);
292 $initialize();
293 }
294
295 public LoginUI(Frame param0, String param1, boolean param2) {
296 super(param0 ,param1 ,param2);
297 $initialize();
298 }
299
300 public LoginUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
301 super(param1 ,param2 ,param3);
302 JAXXUtil.initContext(this, parentContext);
303 $initialize();
304 }
305
306
307
308
309
310 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
311 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
312 }
313
314
315
316
317
318 @Override
319 public void applyDataBinding(String $binding) {
320 if (allComponentsCreated && $bindings.containsKey($binding)) {
321 getDataBinding($binding).applyDataBinding();
322 }
323 processDataBinding($binding);
324 }
325
326 @Override
327 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
328 super.firePropertyChange(propertyName, oldValue, newValue);
329 }
330
331 @Override
332 public Map<String, Object> get$objectMap() {
333 return $objectMap;
334 }
335
336 @Override
337 public JAXXBinding getDataBinding(String bindingId) {
338 return $bindings.get(bindingId);
339 }
340
341 @Override
342 public JAXXBinding[] getDataBindings() {
343 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
344 }
345
346 @Override
347 public Object getObjectById(String id) {
348 return $objectMap.get(id);
349 }
350
351 @Override
352 public void processDataBinding(String $binding, boolean $force) {
353 if (!$force && $activeBindings.contains($binding)) {
354 return;
355 }
356 $activeBindings.add($binding);
357 try {
358 if (allComponentsCreated && $bindings.containsKey($binding)) {
359 getDataBinding($binding).processDataBinding();
360 }
361 } finally {
362 $activeBindings.remove($binding);
363 }
364 }
365
366 @Override
367 public void processDataBinding(String $binding) {
368 processDataBinding($binding, false);
369 }
370
371 @Override
372 public void registerDataBinding(JAXXBinding binding) {
373 $bindings.put(binding.getId(), binding);
374 }
375
376 @Override
377 public void removeDataBinding(String $binding) {
378 if (allComponentsCreated && $bindings.containsKey($binding)) {
379 getDataBinding($binding).removeDataBinding();
380 }
381 }
382
383
384
385
386
387 @Override
388 public <T> T getContextValue(Class<T> clazz) {
389 return delegateContext.getContextValue(clazz, null);
390 }
391
392 @Override
393 public <T> T getContextValue(Class<T> clazz, String name) {
394 return delegateContext.getContextValue(clazz, name);
395 }
396
397 @Override
398 public JAXXContext getDelegateContext() {
399 return delegateContext;
400 }
401
402 @Override
403 public <O extends Container> O getParentContainer(Class<O> clazz) {
404 return SwingUtil.getParentContainer(this, clazz);
405 }
406
407 @Override
408 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
409 return SwingUtil.getParentContainer(source, clazz);
410 }
411
412 @Override
413 public <T> void removeContextValue(Class<T> clazz) {
414 delegateContext.removeContextValue(clazz, null);
415 }
416
417 @Override
418 public <T> void removeContextValue(Class<T> clazz, String name) {
419 delegateContext.removeContextValue(clazz, name);
420 }
421
422 @Override
423 public <T> void setContextValue(T o) {
424 delegateContext.setContextValue(o, null);
425 }
426
427 @Override
428 public <T> void setContextValue(T o, String name) {
429 delegateContext.setContextValue(o, name);
430 }
431
432
433
434
435
436 public void doActionPerformed__on__acceptButton(ActionEvent event) {
437 if (log.isDebugEnabled()) {
438 log.debug(event);
439 }
440 handler.accept();
441 }
442
443 public void doActionPerformed__on__cancelButton(ActionEvent event) {
444 if (log.isDebugEnabled()) {
445 log.debug(event);
446 }
447 handler.cancel();
448 }
449
450 public void doKeyReleased__on__loginField(KeyEvent event) {
451 if (log.isDebugEnabled()) {
452 log.debug(event);
453 }
454 handler.setText(event, LoginUIModel.PROPERTY_LOGIN);
455 }
456
457 public void doKeyReleased__on__passwordField(KeyEvent event) {
458 if (log.isDebugEnabled()) {
459 log.debug(event);
460 }
461 handler.setText(event, LoginUIModel.PROPERTY_PASSWORD);
462 }
463
464
465
466
467
468 public JButton getAcceptButton() {
469 return acceptButton;
470 }
471
472 public JButton getCancelButton() {
473 return cancelButton;
474 }
475
476 public LoginUIHandler getHandler() {
477 return handler;
478 }
479
480 public JLabel getInfoMessage() {
481 return infoMessage;
482 }
483
484 public JTextField getLoginField() {
485 return loginField;
486 }
487
488 public JLabel getLoginLabel() {
489 return loginLabel;
490 }
491
492 public Table getMainPanel() {
493 return mainPanel;
494 }
495
496 public LoginUIModel getModel() {
497 return model;
498 }
499
500 public JPasswordField getPasswordField() {
501 return passwordField;
502 }
503
504 public JLabel getPasswordLabel() {
505 return passwordLabel;
506 }
507
508
509
510
511
512 protected JPanel get$JPanel0() {
513 return $JPanel0;
514 }
515
516
517
518
519
520 protected void addChildrenToLoginDialog() {
521 if (!allComponentsCreated) {
522 return;
523 }
524 add(mainPanel);
525 }
526
527 protected void addChildrenToMainPanel() {
528 if (!allComponentsCreated) {
529 return;
530 }
531 mainPanel.add(infoMessage, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
532 mainPanel.add(loginLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
533 mainPanel.add(loginField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
534 mainPanel.add(passwordLabel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
535 mainPanel.add(passwordField, new GridBagConstraints(1, 2, 1, 1, 1.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
536 mainPanel.add($JPanel0, new GridBagConstraints(0, 3, 2, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
537 }
538
539 protected void createAcceptButton() {
540 $objectMap.put("acceptButton", acceptButton = new JButton());
541
542 acceptButton.setName("acceptButton");
543 acceptButton.setText(t("quadrige3.common.validate"));
544 acceptButton.setToolTipText(t("quadrige3.common.validate"));
545 acceptButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__acceptButton"));
546 }
547
548 protected void createCancelButton() {
549 $objectMap.put("cancelButton", cancelButton = new JButton());
550
551 cancelButton.setName("cancelButton");
552 cancelButton.setText(t("quadrige3.common.cancel"));
553 cancelButton.setToolTipText(t("quadrige3.common.cancel"));
554 cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
555 }
556
557 protected LoginUIHandler createHandler() {
558 return new LoginUIHandler();
559 }
560
561 protected void createInfoMessage() {
562 $objectMap.put("infoMessage", infoMessage = new JLabel());
563
564 infoMessage.setName("infoMessage");
565 }
566
567 protected void createLoginField() {
568 $objectMap.put("loginField", loginField = new JTextField());
569
570 loginField.setName("loginField");
571 loginField.setColumns(15);
572 loginField.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__loginField"));
573 }
574
575 protected void createLoginLabel() {
576 $objectMap.put("loginLabel", loginLabel = new JLabel());
577
578 loginLabel.setName("loginLabel");
579 loginLabel.setText(t("quadrige3.login.field.login"));
580 }
581
582 protected void createMainPanel() {
583 $objectMap.put("mainPanel", mainPanel = new Table());
584
585 mainPanel.setName("mainPanel");
586 }
587
588 protected void createModel() {
589 $objectMap.put("model", model = getContextValue(LoginUIModel.class));
590 }
591
592 protected void createPasswordField() {
593 $objectMap.put("passwordField", passwordField = new JPasswordField());
594
595 passwordField.setName("passwordField");
596 passwordField.setColumns(15);
597 passwordField.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__passwordField"));
598 }
599
600 protected void createPasswordLabel() {
601 $objectMap.put("passwordLabel", passwordLabel = new JLabel());
602
603 passwordLabel.setName("passwordLabel");
604 passwordLabel.setText(t("quadrige3.login.field.password"));
605 }
606
607
608
609
610
611 private void $completeSetup() {
612 allComponentsCreated = true;
613 if (log.isDebugEnabled()) {
614 log.debug(this);
615 }
616 addChildrenToLoginDialog();
617 addChildrenToMainPanel();
618
619 $JPanel0.add(cancelButton);
620 $JPanel0.add(acceptButton);
621
622
623 JAXXUtil.applyDataBinding(this, $bindings.keySet());
624
625
626 infoMessage.setIcon(SwingUtil.createActionIcon("information"));
627 loginLabel.setLabelFor(loginField);
628 passwordLabel.setLabelFor(passwordField);
629 cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("quadrige3.common.cancel.mnemonic"),'Z'));
630 cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
631 acceptButton.setMnemonic(SwingUtil.getFirstCharAt(t("quadrige3.common.validate.mnemonic"),'Z'));
632 acceptButton.setIcon(SwingUtil.createActionIcon("accept"));
633
634 loginDialog.pack();
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("loginDialog", loginDialog);
646 createModel();
647 createMainPanel();
648 createInfoMessage();
649 createLoginLabel();
650 createLoginField();
651 createPasswordLabel();
652 createPasswordField();
653
654 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
655
656 $JPanel0.setName("$JPanel0");
657 $JPanel0.setLayout(new GridLayout(1,0));
658 createCancelButton();
659 createAcceptButton();
660
661 setName("loginDialog");
662 loginDialog.getContentPane().setLayout(new BorderLayout());
663 setResizable(false);
664 setTitle(t("quadrige3.login.title"));
665
666
667 $registerDefaultBindings();
668 $completeSetup();
669 handler.afterInit(this);
670 }
671
672 private void $registerDefaultBindings() {
673
674 registerDataBinding(new DefaultJAXXBinding(this, BINDING_LOGIN_FIELD_TEXT, true) {
675
676 @Override
677 public void applyDataBinding() {
678 if (model != null) {
679 model.addPropertyChangeListener("login", this);
680 }
681 }
682
683 @Override
684 public void processDataBinding() {
685 if (model != null) {
686 SwingUtil.setText(loginField, model.getLogin());
687 }
688 }
689
690 @Override
691 public void removeDataBinding() {
692 if (model != null) {
693 model.removePropertyChangeListener("login", this);
694 }
695 }
696 });
697 registerDataBinding(new DefaultJAXXBinding(this, BINDING_PASSWORD_FIELD_TEXT, true) {
698
699 @Override
700 public void applyDataBinding() {
701 if (model != null) {
702 model.addPropertyChangeListener("password", this);
703 }
704 }
705
706 @Override
707 public void processDataBinding() {
708 if (model != null) {
709 SwingUtil.setText(passwordField, model.getPassword());
710 }
711 }
712
713 @Override
714 public void removeDataBinding() {
715 if (model != null) {
716 model.removePropertyChangeListener("password", this);
717 }
718 }
719 });
720 registerDataBinding(new DefaultJAXXBinding(this, BINDING_ACCEPT_BUTTON_ENABLED, true) {
721
722 @Override
723 public void applyDataBinding() {
724 if (loginField != null) {
725 $bindingSources.put("loginField.getDocument()", loginField.getDocument());
726 loginField.getDocument().addDocumentListener( JAXXUtil.getEventListener(DocumentListener.class, this, "$pr$u0"));
727 loginField.addPropertyChangeListener("document", JAXXUtil.getDataBindingUpdateListener(fr.ifremer.quadrige3.ui.swing.content.login.LoginUI.this, BINDING_ACCEPT_BUTTON_ENABLED));
728 }
729 }
730
731 @Override
732 public void processDataBinding() {
733 if (loginField != null) {
734 acceptButton.setEnabled(StringUtils.isNotBlank(loginField.getText()));
735 }
736 }
737
738 @Override
739 public void removeDataBinding() {
740 if (loginField != null) {
741 Document $target = (Document) $bindingSources.remove("loginField.getDocument()");
742 if ($target != null) {
743 $target.removeDocumentListener( JAXXUtil.getEventListener(DocumentListener.class, this, "$pr$u0"));
744 }
745 loginField.removePropertyChangeListener("document", JAXXUtil.getDataBindingUpdateListener(fr.ifremer.quadrige3.ui.swing.content.login.LoginUI.this, BINDING_ACCEPT_BUTTON_ENABLED));
746 }
747 }
748
749 public void $pr$u0(DocumentEvent event) {
750 if (log.isDebugEnabled()) {
751 log.debug(event);
752 }
753 propertyChange(null);
754 }
755 });
756 }
757
758 }