View Javadoc
1   package fr.ifremer.dali.ui.swing.content.extraction.filters.period;
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 fr.ifremer.quadrige3.ui.swing.table.SwingTable;
8   import java.awt.BorderLayout;
9   import java.awt.Component;
10  import java.awt.Container;
11  import java.awt.Dialog;
12  import java.awt.Dialog.ModalityType;
13  import java.awt.Frame;
14  import java.awt.GraphicsConfiguration;
15  import java.awt.GridLayout;
16  import java.awt.Window;
17  import java.awt.event.ActionEvent;
18  import java.awt.event.ActionListener;
19  import java.util.ArrayList;
20  import java.util.HashMap;
21  import java.util.List;
22  import java.util.Map;
23  import java.util.TreeMap;
24  import javax.swing.BorderFactory;
25  import javax.swing.JButton;
26  import javax.swing.JDialog;
27  import javax.swing.JPanel;
28  import javax.swing.JScrollPane;
29  import jaxx.runtime.JAXXBinding;
30  import jaxx.runtime.JAXXContext;
31  import jaxx.runtime.JAXXObject;
32  import jaxx.runtime.JAXXObjectDescriptor;
33  import jaxx.runtime.JAXXUtil;
34  import jaxx.runtime.SwingUtil;
35  import jaxx.runtime.binding.DefaultJAXXBinding;
36  import jaxx.runtime.context.DefaultJAXXContext;
37  import org.apache.commons.logging.Log;
38  import org.apache.commons.logging.LogFactory;
39  import static org.nuiton.i18n.I18n.t;
40  
41  public class ExtractionPeriodUI extends JDialog implements DaliUI<ExtractionPeriodUIModel, ExtractionPeriodUIHandler>, JAXXObject {
42  
43      /*-----------------------------------------------------------------------*/
44      /*------------------ Constants for all public bindings ------------------*/
45      /*-----------------------------------------------------------------------*/
46  
47      public static final String BINDING_DELETE_BUTTON_ENABLED = "deleteButton.enabled";
48      public static final String BINDING_VALID_BUTTON_ENABLED = "validButton.enabled";
49  
50      /*-----------------------------------------------------------------------*/
51      /*------------------------- Other static fields -------------------------*/
52      /*-----------------------------------------------------------------------*/
53  
54      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVWz28bRRQeO3FSOyltElpSJS1pm0Pbw5gKCVVKBYXSiEQJreKAInzpeHfiTLU7M5mZbTZUIA78AfAfwJ0LEjdOiANnDlwQ/wJCHLgi3uzY+yNex5ZSIsV29nvve9/3Zt5zvvsT1bRC15+ROMYq4oaFFG++u7f3uPOMeuZ9qj3FpBEKuZ9KFVXbaMZPn2uDbra3bHqzl958KEIpOOW57LUt1NDmOKD6gFJj0NVihqd1s5XCa7GMVJ81FVXG+s3ff1W/8r/4topQLEHdDFhZGZWVOZncQlXmGzQPlZ6TZkB4F2Qoxrug97x99jAgWn9IQnqIPkfTW2hKEgVkBt0Y33LCkeTHEmrR2CjiGSb4E6qY8D/aMGh7X2G2r2hIFfZJwHDEsD4CHdgT3AAtzrLwPgsMVRrLJB0/GuCTMik3ZVAtFD4NDNp5qfzbljQrcm518wnhNHgDzNmexT1q99QG1dPY86ubLU+JILAYJLxWSMggG34hzZpxUnZJJ6AG4ZyZw4j4inXpm5kjY6Nwy35OEizHfEo176gSae9FxgieIHPFgnVOjxxq0EJBontqwxbT6FloBzU0g5aLeL9Bd9NKWUNmPcK9vpQ09/XM+nM4Ln8QVmipcM9hgnA2QdkVr7RRTUXw2KDF9uDQ7QDkxm3xxLhZwgT99/LCbz/+8cN6f8YuQu1LpaG5FQF3XyoBvTbMlr7gBiwyLGhuE7nWRnUNPfPc/lguEdbqwSAO6s3ZdGzT8QdEHwBFbfr3n36+/PTXCVRdR41AEH+d2PgNVDcHCrogAj+W7zxIFM0enbPC4XcCzhZQ9qm7SrV9Emj7bpixfy8nw5Gbhd4M9GA7TgTGadKoiMbQtOWSpqXKO/Vf/lloff+g37gKGLkyNDxrXu0TNMV4wDhN1lNv85SuoxmpaeSLbMOU7RxUunRkb4DvJK+4rFMNl7FhdwSaIL5vnQMTnGfSJ0+EIfQIZgXuqREi2GVyN8GvDekjhEIvZRzZmm8lPbGf7qH8yI1SNnlC2ZQbv1TcfF5cHyvqKw2ZptzeCnC5+uJ6sjhxlxp3PtTfEUf61m3M9KNQmuNbtz8rM1HYBGP4mGV37/FtTkEG8wxaystyiwGHKVo07eBy033sFNMupNRDfiON8lAb8HA1XyVZXsTQoS6I51FpUhevliWf9DEkKDu+uRfu9Jj+2KJDziq/WUfZrIDUgBwLCEav3Id6ZKXDuA/fCG8PUFfsa2Mcxo5QPlUWV+UsF0ey2MeH/yvDlTGcNKCTXR7C/xF7pzAtjaXly1MYrp3ZzcoYbiaZ575rz+Tj6zP7OI3hxpkZVoHhP9lxUS/9CwAA";
55      private static final Log log = LogFactory.getLog(ExtractionPeriodUI.class);
56      private static final long serialVersionUID = 1L;
57  
58      /*-----------------------------------------------------------------------*/
59      /*--------------------------- Internal states ---------------------------*/
60      /*-----------------------------------------------------------------------*/
61  
62      protected List<Object> $activeBindings = new ArrayList<Object>();
63      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
64      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
65      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
66      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
67      private boolean allComponentsCreated;
68      protected final JAXXContext delegateContext = new DefaultJAXXContext();
69  
70      /*-----------------------------------------------------------------------*/
71      /*------------------------ Protected components  ------------------------*/
72      /*-----------------------------------------------------------------------*/
73  
74      protected JButton cancelButton;
75      protected JButton deleteButton;
76      protected ExtractionPeriodUI extractionPeriodUI = this;
77      protected final ExtractionPeriodUIHandler handler = createHandler();
78      protected ExtractionPeriodUIModel model;
79      protected JButton newButton;
80      protected JPanel periodPanelButtons;
81      protected SwingTable periodTable;
82      protected JButton validButton;
83  
84      /*-----------------------------------------------------------------------*/
85      /*------------------------- Private components  -------------------------*/
86      /*-----------------------------------------------------------------------*/
87  
88      private JPanel $JPanel0;
89      private JPanel $JPanel1;
90      private JScrollPane $JScrollPane0;
91  
92      /*-----------------------------------------------------------------------*/
93      /*---------------------------- Constructors  ----------------------------*/
94      /*-----------------------------------------------------------------------*/
95  
96      public ExtractionPeriodUI(DaliUIContext context) {
97          super(context.getMainUI());
98          			ApplicationUIUtil.setApplicationContext(this, context);
99              $initialize();
100     }
101 
102     public ExtractionPeriodUI(Window param0) {
103         super(param0);
104         $initialize();
105     }
106 
107     public ExtractionPeriodUI(JAXXContext parentContext, Window param1) {
108         super(param1);
109         JAXXUtil.initContext(this, parentContext);
110         $initialize();
111     }
112 
113     public ExtractionPeriodUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
114         super(param0 ,param1 ,param2 ,param3);
115         $initialize();
116     }
117 
118     public ExtractionPeriodUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
119         super(param1 ,param2 ,param3 ,param4);
120         JAXXUtil.initContext(this, parentContext);
121         $initialize();
122     }
123 
124     public ExtractionPeriodUI(Dialog param0, String param1, boolean param2) {
125         super(param0 ,param1 ,param2);
126         $initialize();
127     }
128 
129     public ExtractionPeriodUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
130         super(param1 ,param2 ,param3);
131         JAXXUtil.initContext(this, parentContext);
132         $initialize();
133     }
134 
135     public ExtractionPeriodUI(Dialog param0, String param1) {
136         super(param0 ,param1);
137         $initialize();
138     }
139 
140     public ExtractionPeriodUI(JAXXContext parentContext, Dialog param1, String param2) {
141         super(param1 ,param2);
142         JAXXUtil.initContext(this, parentContext);
143         $initialize();
144     }
145 
146     public ExtractionPeriodUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
147         super(param0 ,param1 ,param2 ,param3);
148         $initialize();
149     }
150 
151     public ExtractionPeriodUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
152         super(param1 ,param2 ,param3 ,param4);
153         JAXXUtil.initContext(this, parentContext);
154         $initialize();
155     }
156 
157     public ExtractionPeriodUI(Window param0, String param1, ModalityType param2) {
158         super(param0 ,param1 ,param2);
159         $initialize();
160     }
161 
162     public ExtractionPeriodUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
163         super(param1 ,param2 ,param3);
164         JAXXUtil.initContext(this, parentContext);
165         $initialize();
166     }
167 
168     public ExtractionPeriodUI(Window param0, String param1) {
169         super(param0 ,param1);
170         $initialize();
171     }
172 
173     public ExtractionPeriodUI(JAXXContext parentContext, Window param1, String param2) {
174         super(param1 ,param2);
175         JAXXUtil.initContext(this, parentContext);
176         $initialize();
177     }
178 
179     public ExtractionPeriodUI(Window param0, ModalityType param1) {
180         super(param0 ,param1);
181         $initialize();
182     }
183 
184     public ExtractionPeriodUI(JAXXContext parentContext, Window param1, ModalityType param2) {
185         super(param1 ,param2);
186         JAXXUtil.initContext(this, parentContext);
187         $initialize();
188     }
189 
190     public ExtractionPeriodUI(Frame param0, String param1) {
191         super(param0 ,param1);
192         $initialize();
193     }
194 
195     public ExtractionPeriodUI(JAXXContext parentContext, Frame param1, String param2) {
196         super(param1 ,param2);
197         JAXXUtil.initContext(this, parentContext);
198         $initialize();
199     }
200 
201     public ExtractionPeriodUI(Frame param0, boolean param1) {
202         super(param0 ,param1);
203         $initialize();
204     }
205 
206     public ExtractionPeriodUI(JAXXContext parentContext, Frame param1, boolean param2) {
207         super(param1 ,param2);
208         JAXXUtil.initContext(this, parentContext);
209         $initialize();
210     }
211 
212     public ExtractionPeriodUI(Frame param0) {
213         super(param0);
214         $initialize();
215     }
216 
217     public ExtractionPeriodUI(JAXXContext parentContext, Frame param1) {
218         super(param1);
219         JAXXUtil.initContext(this, parentContext);
220         $initialize();
221     }
222 
223     public ExtractionPeriodUI() {
224         $initialize();
225     }
226 
227     public ExtractionPeriodUI(JAXXContext parentContext) {
228         JAXXUtil.initContext(this, parentContext);
229         $initialize();
230     }
231 
232     public ExtractionPeriodUI(Dialog param0, boolean param1) {
233         super(param0 ,param1);
234         $initialize();
235     }
236 
237     public ExtractionPeriodUI(JAXXContext parentContext, Dialog param1, boolean param2) {
238         super(param1 ,param2);
239         JAXXUtil.initContext(this, parentContext);
240         $initialize();
241     }
242 
243     public ExtractionPeriodUI(Dialog param0) {
244         super(param0);
245         $initialize();
246     }
247 
248     public ExtractionPeriodUI(JAXXContext parentContext, Dialog param1) {
249         super(param1);
250         JAXXUtil.initContext(this, parentContext);
251         $initialize();
252     }
253 
254     public ExtractionPeriodUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
255         super(param0 ,param1 ,param2 ,param3);
256         $initialize();
257     }
258 
259     public ExtractionPeriodUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
260         super(param1 ,param2 ,param3 ,param4);
261         JAXXUtil.initContext(this, parentContext);
262         $initialize();
263     }
264 
265     public ExtractionPeriodUI(Frame param0, String param1, boolean param2) {
266         super(param0 ,param1 ,param2);
267         $initialize();
268     }
269 
270     public ExtractionPeriodUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
271         super(param1 ,param2 ,param3);
272         JAXXUtil.initContext(this, parentContext);
273         $initialize();
274     }
275 
276     /*-----------------------------------------------------------------------*/
277     /*--------------------------- Statics methods ---------------------------*/
278     /*-----------------------------------------------------------------------*/
279 
280     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
281         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
282     }
283 
284     /*-----------------------------------------------------------------------*/
285     /*---------------------- JAXXObject implementation ----------------------*/
286     /*-----------------------------------------------------------------------*/
287 
288     @Override
289     public void applyDataBinding(String $binding) {
290         if (allComponentsCreated && $bindings.containsKey($binding)) {
291             getDataBinding($binding).applyDataBinding();
292         }
293         processDataBinding($binding);
294     }
295 
296     @Override
297     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
298         super.firePropertyChange(propertyName, oldValue, newValue);
299     }
300 
301     @Override
302     public Map<String, Object> get$objectMap() {
303         return $objectMap;
304     }
305 
306     @Override
307     public JAXXBinding getDataBinding(String bindingId) {
308         return $bindings.get(bindingId);
309     }
310 
311     @Override
312     public JAXXBinding[] getDataBindings() {
313         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
314     }
315 
316     @Override
317     public Object getObjectById(String id) {
318         return $objectMap.get(id);
319     }
320 
321     @Override
322     public void processDataBinding(String $binding, boolean $force) {
323         if (!$force && $activeBindings.contains($binding)) { 
324             return;
325         }
326         $activeBindings.add($binding);
327         try {
328             if (allComponentsCreated && $bindings.containsKey($binding)) {
329                 getDataBinding($binding).processDataBinding();
330             }
331         } finally {
332             $activeBindings.remove($binding);
333         }
334     }
335 
336     @Override
337     public void processDataBinding(String $binding) {
338         processDataBinding($binding, false);
339     }
340 
341     @Override
342     public void registerDataBinding(JAXXBinding binding) {
343         $bindings.put(binding.getId(), binding);
344     }
345 
346     @Override
347     public void removeDataBinding(String $binding) {
348         if (allComponentsCreated && $bindings.containsKey($binding)) {
349             getDataBinding($binding).removeDataBinding();
350         }
351     }
352 
353     /*-----------------------------------------------------------------------*/
354     /*--------------------- JAXXContext implementation  ---------------------*/
355     /*-----------------------------------------------------------------------*/
356 
357     @Override
358     public <T> T getContextValue(Class<T> clazz) {
359         return delegateContext.getContextValue(clazz, null);
360     }
361 
362     @Override
363     public <T> T getContextValue(Class<T> clazz, String name) {
364         return delegateContext.getContextValue(clazz, name);
365     }
366 
367     @Override
368     public JAXXContext getDelegateContext() {
369         return delegateContext;
370     }
371 
372     @Override
373     public <O extends Container> O getParentContainer(Class<O> clazz) {
374         return SwingUtil.getParentContainer(this, clazz);
375     }
376 
377     @Override
378     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
379         return SwingUtil.getParentContainer(source, clazz);
380     }
381 
382     @Override
383     public <T> void removeContextValue(Class<T> clazz) {
384         delegateContext.removeContextValue(clazz, null);
385     }
386 
387     @Override
388     public <T> void removeContextValue(Class<T> clazz, String name) {
389         delegateContext.removeContextValue(clazz, name);
390     }
391 
392     @Override
393     public <T> void setContextValue(T o) {
394         delegateContext.setContextValue(o, null);
395     }
396 
397     @Override
398     public <T> void setContextValue(T o, String name) {
399         delegateContext.setContextValue(o, name);
400     }
401 
402     /*-----------------------------------------------------------------------*/
403     /*---------------------------- Event methods ----------------------------*/
404     /*-----------------------------------------------------------------------*/
405 
406     public void doActionPerformed__on__cancelButton(ActionEvent event) {
407         if (log.isDebugEnabled()) {
408             log.debug(event);
409         }
410         handler.cancel();
411     }
412 
413     public void doActionPerformed__on__deleteButton(ActionEvent event) {
414         if (log.isDebugEnabled()) {
415             log.debug(event);
416         }
417         handler.removeSelectedRows();
418     }
419 
420     public void doActionPerformed__on__newButton(ActionEvent event) {
421         if (log.isDebugEnabled()) {
422             log.debug(event);
423         }
424         model.addNewRow();
425     }
426 
427     public void doActionPerformed__on__validButton(ActionEvent event) {
428         if (log.isDebugEnabled()) {
429             log.debug(event);
430         }
431         handler.valid();
432     }
433 
434     /*-----------------------------------------------------------------------*/
435     /*----------------------- Public acessor methods  -----------------------*/
436     /*-----------------------------------------------------------------------*/
437 
438     public JButton getCancelButton() {
439         return cancelButton;
440     }
441 
442     public JButton getDeleteButton() {
443         return deleteButton;
444     }
445 
446     public ExtractionPeriodUIHandler getHandler() {
447         return handler;
448     }
449 
450     public ExtractionPeriodUIModel getModel() {
451         return model;
452     }
453 
454     public JButton getNewButton() {
455         return newButton;
456     }
457 
458     public JPanel getPeriodPanelButtons() {
459         return periodPanelButtons;
460     }
461 
462     public SwingTable getPeriodTable() {
463         return periodTable;
464     }
465 
466     public JButton getValidButton() {
467         return validButton;
468     }
469 
470     /*-----------------------------------------------------------------------*/
471     /*--------------------- Protected acessors methods  ---------------------*/
472     /*-----------------------------------------------------------------------*/
473 
474     protected JPanel get$JPanel0() {
475         return $JPanel0;
476     }
477 
478     protected JPanel get$JPanel1() {
479         return $JPanel1;
480     }
481 
482     protected JScrollPane get$JScrollPane0() {
483         return $JScrollPane0;
484     }
485 
486     /*-----------------------------------------------------------------------*/
487     /*--------------------- Components creation methods ---------------------*/
488     /*-----------------------------------------------------------------------*/
489 
490     protected void addChildrenToExtractionPeriodUI() {
491         if (!allComponentsCreated) {
492             return;
493         }
494         add($JPanel0);
495         add($JPanel1, BorderLayout.PAGE_END);
496     }
497 
498     protected void addChildrenToPeriodPanelButtons() {
499         if (!allComponentsCreated) {
500             return;
501         }
502         periodPanelButtons.add(newButton);
503         periodPanelButtons.add(deleteButton);
504     }
505 
506     protected void createCancelButton() {
507         $objectMap.put("cancelButton", cancelButton = new JButton());
508         
509         cancelButton.setName("cancelButton");
510         cancelButton.setText(t("dali.common.cancel"));
511         cancelButton.setToolTipText(t("dali.common.cancel"));
512         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
513     }
514 
515     protected void createDeleteButton() {
516         $objectMap.put("deleteButton", deleteButton = new JButton());
517         
518         deleteButton.setName("deleteButton");
519         deleteButton.setText(t("dali.common.delete"));
520         deleteButton.setToolTipText(t("dali.common.delete"));
521         deleteButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__deleteButton"));
522     }
523 
524     protected ExtractionPeriodUIHandler createHandler() {
525         return new ExtractionPeriodUIHandler();
526     }
527 
528     protected void createModel() {
529         $objectMap.put("model", model = getContextValue(ExtractionPeriodUIModel.class));
530     }
531 
532     protected void createNewButton() {
533         $objectMap.put("newButton", newButton = new JButton());
534         
535         newButton.setName("newButton");
536         newButton.setText(t("dali.common.new"));
537         newButton.setToolTipText(t("dali.extraction.period.new.tip"));
538         newButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__newButton"));
539     }
540 
541     protected void createPeriodPanelButtons() {
542         $objectMap.put("periodPanelButtons", periodPanelButtons = new JPanel());
543         
544         periodPanelButtons.setName("periodPanelButtons");
545         periodPanelButtons.setLayout(new GridLayout(1,0));
546     }
547 
548     protected void createPeriodTable() {
549         $objectMap.put("periodTable", periodTable = new SwingTable());
550         
551         periodTable.setName("periodTable");
552     }
553 
554     protected void createValidButton() {
555         $objectMap.put("validButton", validButton = new JButton());
556         
557         validButton.setName("validButton");
558         validButton.setText(t("dali.common.validate"));
559         validButton.setToolTipText(t("dali.common.validate"));
560         validButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validButton"));
561     }
562 
563     /*-----------------------------------------------------------------------*/
564     /*------------------------ Internal jaxx methods ------------------------*/
565     /*-----------------------------------------------------------------------*/
566 
567     private void $completeSetup() {
568         allComponentsCreated = true;
569         if (log.isDebugEnabled()) {
570             log.debug(this);
571         }
572         addChildrenToExtractionPeriodUI();
573         // inline complete setup of $JPanel0
574         $JPanel0.add($JScrollPane0);
575         $JPanel0.add(periodPanelButtons, BorderLayout.PAGE_END);
576         // inline complete setup of $JScrollPane0
577         $JScrollPane0.getViewport().add(periodTable);
578         addChildrenToPeriodPanelButtons();
579         // inline complete setup of $JPanel1
580         $JPanel1.add(cancelButton);
581         $JPanel1.add(validButton);
582         
583         // apply 2 data bindings
584         JAXXUtil.applyDataBinding(this, $bindings.keySet());
585         
586         // apply 13 property setters
587         $JPanel0.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
588         newButton.setAlignmentX(Component.CENTER_ALIGNMENT);
589         deleteButton.setAlignmentX(Component.CENTER_ALIGNMENT);
590         newButton.setIcon(SwingUtil.createActionIcon("add"));
591         deleteButton.setIcon(SwingUtil.createActionIcon("delete"));
592         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
593         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
594         validButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
595         validButton.setIcon(SwingUtil.createActionIcon("accept"));
596         // late initializer
597         extractionPeriodUI.pack();
598     }
599 
600     private void $initialize() {
601         if (allComponentsCreated) {
602             return;
603         }
604         if (log.isDebugEnabled()) {
605             log.debug(this);
606         }
607         handler.beforeInit(this);
608         $objectMap.put("extractionPeriodUI", extractionPeriodUI);
609         createModel();
610         // inline creation of $JPanel0
611         $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
612         
613         $JPanel0.setName("$JPanel0");
614         $JPanel0.setLayout(new BorderLayout());
615         // inline creation of $JScrollPane0
616         $objectMap.put("$JScrollPane0", $JScrollPane0 = new JScrollPane());
617         
618         $JScrollPane0.setName("$JScrollPane0");
619         createPeriodTable();
620         createPeriodPanelButtons();
621         createNewButton();
622         createDeleteButton();
623         // inline creation of $JPanel1
624         $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
625         
626         $JPanel1.setName("$JPanel1");
627         $JPanel1.setLayout(new GridLayout(1,0));
628         createCancelButton();
629         createValidButton();
630         // inline creation of extractionPeriodUI
631         setName("extractionPeriodUI");
632         extractionPeriodUI.getContentPane().setLayout(new BorderLayout());
633         setResizable(false);
634         setTitle(t("dali.extraction.period.title"));
635         setModal(true);
636         
637         // registers 2 data bindings
638         $registerDefaultBindings();
639         $completeSetup();
640         handler.afterInit(this);
641     }
642 
643     private void $registerDefaultBindings() {
644         // register 2 data bindings
645         registerDataBinding(new DefaultJAXXBinding(this, BINDING_DELETE_BUTTON_ENABLED, true) {
646         
647             @Override
648             public void applyDataBinding() {
649                 if (model != null) {
650                     model.addPropertyChangeListener("selectedRows", this);
651                 }
652             }
653         
654             @Override
655             public void processDataBinding() {
656                 if (model != null && model.getSelectedRows() != null) {
657                     deleteButton.setEnabled(!model.getSelectedRows().isEmpty());
658                 }
659             }
660         
661             @Override
662             public void removeDataBinding() {
663                 if (model != null) {
664                     model.removePropertyChangeListener("selectedRows", this);
665                 }
666             }
667         });
668         registerDataBinding(new DefaultJAXXBinding(this, BINDING_VALID_BUTTON_ENABLED, true) {
669         
670             @Override
671             public void applyDataBinding() {
672                 if (model != null) {
673                     model.addPropertyChangeListener("valid", this);
674                 }
675             }
676         
677             @Override
678             public void processDataBinding() {
679                 if (model != null) {
680                     validButton.setEnabled(model.isValid());
681                 }
682             }
683         
684             @Override
685             public void removeDataBinding() {
686                 if (model != null) {
687                     model.removePropertyChangeListener("valid", this);
688                 }
689             }
690         });
691     }
692 
693 }