View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.taxon.taxonsDialog;
2   
3   import fr.ifremer.dali.ui.swing.DaliHelpBroker;
4   import fr.ifremer.dali.ui.swing.DaliUIContext;
5   import fr.ifremer.dali.ui.swing.content.manage.referential.taxon.national.TaxonsNationalUI;
6   import fr.ifremer.dali.ui.swing.util.DaliUI;
7   import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
8   import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
9   import java.awt.BorderLayout;
10  import java.awt.Component;
11  import java.awt.Container;
12  import java.awt.Dialog;
13  import java.awt.Dialog.ModalityType;
14  import java.awt.Frame;
15  import java.awt.GraphicsConfiguration;
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.Box;
25  import javax.swing.BoxLayout;
26  import javax.swing.JButton;
27  import javax.swing.JDialog;
28  import javax.swing.SwingConstants;
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.context.DefaultJAXXContext;
36  import jaxx.runtime.swing.CardLayout2Ext;
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 TaxonsDialogUI extends JDialog implements DaliUI<TaxonsDialogUIModel, TaxonsDialogUIHandler>, JAXXObject {
42  
43      /*-----------------------------------------------------------------------*/
44      /*------------------------- Other static fields -------------------------*/
45      /*-----------------------------------------------------------------------*/
46  
47      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVUz08TQRR+LS3Ygj+wkSCioibG0zTeTGoUhaCQgoktCaEXh92hDJmdGWdnZfFg/BP8E/TuxcSbJ+PBswcvxn/BGA9ejW92l7bQEoiJTbrtzHvv+968+b59+wOKoYEr2zSOiYmk5QEjS/fW1h5tbDPPzrPQM1xbZSD95PKQb8Go39kPLVxr1V15NSuvzqlAK8lkT3WtDuXQ7goWbjFmLVzcX+GFYbXRCddiHZk91E5Tg1Bf//qZf+W/fJMHiDV2V8CjzBxV1T1JoQ557ls4i0zPaFVQ2cY2DJdt7Pek25sTNAxXaMCewgsYqcOwpgbBLFw9/pETjKQ+1hbGLI2VDOc5FaptYXXTEL5pWMAM8angJOIk3MEOiKekRUASUEnbjBi2yRw11pEEgvQCkWbPYnVR64Rw2EIxUD4TFtb/C8+yA++SjaapTbohmIXGv1NKarmSuEzpVrLl6qIjKnX4xjwqPSbuR9YiIlTcjcUZx1K6mxUYuLBPFig40hVcVxG5FhRNhNsWJlv9Gn2MoVSdkwfU6QCT6J+JytcP398v9Ery3MDUHkehVLRRmhnLHfXpVI+R5aK6THWtBaWQCbRjYrfpAY01sjA2h3zjrpy4cvKQhlsIURz59vHTxJMvQ5BfgLJQ1F+gLn8RSnbL4BSU8GN9dzbpaGznBD7P4HfIQgmj/Hl6owVrIvwpWm7d8nJyq1nju+nVPTAq0plkUvVRkRXGOLbpAWPr9L5R+vy70ng3uze6HB7l/KHp3fEV12GYS8ElS/ycWXWgf0d1yCJfdS05yKRwwKU6U/hU8rzUN6UC5vObt+SyZIGS3LMwlUzGUwGuiSdUyEjQCZZx8ijnRecCGE4l7EbEYnyvjPdVOlspJZpcNw/JiCPX1/VkYu7fDThgjaMOkMM+BN1VmAynbvvU0pkNLn200Z0+7Jx7lo+BWOBear/aYIwKYvwFhPlEpn4GAAA=";
48      private static final Log log = LogFactory.getLog(TaxonsDialogUI.class);
49      private static final long serialVersionUID = 1L;
50  
51      /*-----------------------------------------------------------------------*/
52      /*--------------------------- Internal states ---------------------------*/
53      /*-----------------------------------------------------------------------*/
54  
55      protected List<Object> $activeBindings = new ArrayList<Object>();
56      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
57      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
58      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
59      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
60      private boolean allComponentsCreated;
61      protected final JAXXContext delegateContext = new DefaultJAXXContext();
62  
63      /*-----------------------------------------------------------------------*/
64      /*------------------------ Protected components  ------------------------*/
65      /*-----------------------------------------------------------------------*/
66  
67      protected JButton cancelButton;
68      protected final TaxonsDialogUIHandler handler = createHandler();
69      protected TaxonsDialogUIModel model;
70      protected TaxonsDialogUI taxonsDialog = this;
71      protected TaxonsNationalUI taxonsTable;
72  
73      /*-----------------------------------------------------------------------*/
74      /*---------------------------- Constructors  ----------------------------*/
75      /*-----------------------------------------------------------------------*/
76  
77      public TaxonsDialogUI(DaliUIContext context) {
78          super(context.getMainUI());
79          			ApplicationUIUtil.setApplicationContext(this, context);
80              $initialize();
81      }
82  
83      public TaxonsDialogUI(Window param0) {
84          super(param0);
85          $initialize();
86      }
87  
88      public TaxonsDialogUI(JAXXContext parentContext, Window param1) {
89          super(param1);
90          JAXXUtil.initContext(this, parentContext);
91          $initialize();
92      }
93  
94      public TaxonsDialogUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
95          super(param0 ,param1 ,param2 ,param3);
96          $initialize();
97      }
98  
99      public TaxonsDialogUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
100         super(param1 ,param2 ,param3 ,param4);
101         JAXXUtil.initContext(this, parentContext);
102         $initialize();
103     }
104 
105     public TaxonsDialogUI(Dialog param0, String param1, boolean param2) {
106         super(param0 ,param1 ,param2);
107         $initialize();
108     }
109 
110     public TaxonsDialogUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
111         super(param1 ,param2 ,param3);
112         JAXXUtil.initContext(this, parentContext);
113         $initialize();
114     }
115 
116     public TaxonsDialogUI(Dialog param0, String param1) {
117         super(param0 ,param1);
118         $initialize();
119     }
120 
121     public TaxonsDialogUI(JAXXContext parentContext, Dialog param1, String param2) {
122         super(param1 ,param2);
123         JAXXUtil.initContext(this, parentContext);
124         $initialize();
125     }
126 
127     public TaxonsDialogUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
128         super(param0 ,param1 ,param2 ,param3);
129         $initialize();
130     }
131 
132     public TaxonsDialogUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
133         super(param1 ,param2 ,param3 ,param4);
134         JAXXUtil.initContext(this, parentContext);
135         $initialize();
136     }
137 
138     public TaxonsDialogUI(Window param0, String param1, ModalityType param2) {
139         super(param0 ,param1 ,param2);
140         $initialize();
141     }
142 
143     public TaxonsDialogUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
144         super(param1 ,param2 ,param3);
145         JAXXUtil.initContext(this, parentContext);
146         $initialize();
147     }
148 
149     public TaxonsDialogUI(Window param0, String param1) {
150         super(param0 ,param1);
151         $initialize();
152     }
153 
154     public TaxonsDialogUI(JAXXContext parentContext, Window param1, String param2) {
155         super(param1 ,param2);
156         JAXXUtil.initContext(this, parentContext);
157         $initialize();
158     }
159 
160     public TaxonsDialogUI(Window param0, ModalityType param1) {
161         super(param0 ,param1);
162         $initialize();
163     }
164 
165     public TaxonsDialogUI(JAXXContext parentContext, Window param1, ModalityType param2) {
166         super(param1 ,param2);
167         JAXXUtil.initContext(this, parentContext);
168         $initialize();
169     }
170 
171     public TaxonsDialogUI(Frame param0, String param1) {
172         super(param0 ,param1);
173         $initialize();
174     }
175 
176     public TaxonsDialogUI(JAXXContext parentContext, Frame param1, String param2) {
177         super(param1 ,param2);
178         JAXXUtil.initContext(this, parentContext);
179         $initialize();
180     }
181 
182     public TaxonsDialogUI(Frame param0, boolean param1) {
183         super(param0 ,param1);
184         $initialize();
185     }
186 
187     public TaxonsDialogUI(JAXXContext parentContext, Frame param1, boolean param2) {
188         super(param1 ,param2);
189         JAXXUtil.initContext(this, parentContext);
190         $initialize();
191     }
192 
193     public TaxonsDialogUI(Frame param0) {
194         super(param0);
195         $initialize();
196     }
197 
198     public TaxonsDialogUI(JAXXContext parentContext, Frame param1) {
199         super(param1);
200         JAXXUtil.initContext(this, parentContext);
201         $initialize();
202     }
203 
204     public TaxonsDialogUI() {
205         $initialize();
206     }
207 
208     public TaxonsDialogUI(JAXXContext parentContext) {
209         JAXXUtil.initContext(this, parentContext);
210         $initialize();
211     }
212 
213     public TaxonsDialogUI(Dialog param0, boolean param1) {
214         super(param0 ,param1);
215         $initialize();
216     }
217 
218     public TaxonsDialogUI(JAXXContext parentContext, Dialog param1, boolean param2) {
219         super(param1 ,param2);
220         JAXXUtil.initContext(this, parentContext);
221         $initialize();
222     }
223 
224     public TaxonsDialogUI(Dialog param0) {
225         super(param0);
226         $initialize();
227     }
228 
229     public TaxonsDialogUI(JAXXContext parentContext, Dialog param1) {
230         super(param1);
231         JAXXUtil.initContext(this, parentContext);
232         $initialize();
233     }
234 
235     public TaxonsDialogUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
236         super(param0 ,param1 ,param2 ,param3);
237         $initialize();
238     }
239 
240     public TaxonsDialogUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
241         super(param1 ,param2 ,param3 ,param4);
242         JAXXUtil.initContext(this, parentContext);
243         $initialize();
244     }
245 
246     public TaxonsDialogUI(Frame param0, String param1, boolean param2) {
247         super(param0 ,param1 ,param2);
248         $initialize();
249     }
250 
251     public TaxonsDialogUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
252         super(param1 ,param2 ,param3);
253         JAXXUtil.initContext(this, parentContext);
254         $initialize();
255     }
256 
257     /*-----------------------------------------------------------------------*/
258     /*--------------------------- Statics methods ---------------------------*/
259     /*-----------------------------------------------------------------------*/
260 
261     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
262         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
263     }
264 
265     /*-----------------------------------------------------------------------*/
266     /*---------------------- JAXXObject implementation ----------------------*/
267     /*-----------------------------------------------------------------------*/
268 
269     @Override
270     public void applyDataBinding(String $binding) {
271         if (allComponentsCreated && $bindings.containsKey($binding)) {
272             getDataBinding($binding).applyDataBinding();
273         }
274         processDataBinding($binding);
275     }
276 
277     @Override
278     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
279         super.firePropertyChange(propertyName, oldValue, newValue);
280     }
281 
282     @Override
283     public Map<String, Object> get$objectMap() {
284         return $objectMap;
285     }
286 
287     @Override
288     public JAXXBinding getDataBinding(String bindingId) {
289         return $bindings.get(bindingId);
290     }
291 
292     @Override
293     public JAXXBinding[] getDataBindings() {
294         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
295     }
296 
297     @Override
298     public Object getObjectById(String id) {
299         return $objectMap.get(id);
300     }
301 
302     @Override
303     public void processDataBinding(String $binding, boolean $force) {
304         if (!$force && $activeBindings.contains($binding)) { 
305             return;
306         }
307         $activeBindings.add($binding);
308         try {
309             if (allComponentsCreated && $bindings.containsKey($binding)) {
310                 getDataBinding($binding).processDataBinding();
311             }
312         } finally {
313             $activeBindings.remove($binding);
314         }
315     }
316 
317     @Override
318     public void processDataBinding(String $binding) {
319         processDataBinding($binding, false);
320     }
321 
322     @Override
323     public void registerDataBinding(JAXXBinding binding) {
324         $bindings.put(binding.getId(), binding);
325     }
326 
327     @Override
328     public void removeDataBinding(String $binding) {
329         if (allComponentsCreated && $bindings.containsKey($binding)) {
330             getDataBinding($binding).removeDataBinding();
331         }
332     }
333 
334     /*-----------------------------------------------------------------------*/
335     /*--------------------- JAXXContext implementation  ---------------------*/
336     /*-----------------------------------------------------------------------*/
337 
338     @Override
339     public <T> T getContextValue(Class<T> clazz) {
340         return delegateContext.getContextValue(clazz, null);
341     }
342 
343     @Override
344     public <T> T getContextValue(Class<T> clazz, String name) {
345         return delegateContext.getContextValue(clazz, name);
346     }
347 
348     @Override
349     public JAXXContext getDelegateContext() {
350         return delegateContext;
351     }
352 
353     @Override
354     public <O extends Container> O getParentContainer(Class<O> clazz) {
355         return SwingUtil.getParentContainer(this, clazz);
356     }
357 
358     @Override
359     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
360         return SwingUtil.getParentContainer(source, clazz);
361     }
362 
363     @Override
364     public <T> void removeContextValue(Class<T> clazz) {
365         delegateContext.removeContextValue(clazz, null);
366     }
367 
368     @Override
369     public <T> void removeContextValue(Class<T> clazz, String name) {
370         delegateContext.removeContextValue(clazz, name);
371     }
372 
373     @Override
374     public <T> void setContextValue(T o) {
375         delegateContext.setContextValue(o, null);
376     }
377 
378     @Override
379     public <T> void setContextValue(T o, String name) {
380         delegateContext.setContextValue(o, name);
381     }
382 
383     /*-----------------------------------------------------------------------*/
384     /*---------------------------- Event methods ----------------------------*/
385     /*-----------------------------------------------------------------------*/
386 
387     public void doActionPerformed__on__cancelButton(ActionEvent event) {
388         if (log.isDebugEnabled()) {
389             log.debug(event);
390         }
391         handler.cancel();
392     }
393 
394     /*-----------------------------------------------------------------------*/
395     /*----------------------- Public acessor methods  -----------------------*/
396     /*-----------------------------------------------------------------------*/
397 
398     public JButton getCancelButton() {
399         return cancelButton;
400     }
401 
402     public TaxonsDialogUIHandler getHandler() {
403         return handler;
404     }
405 
406     public TaxonsDialogUIModel getModel() {
407         return model;
408     }
409 
410     public TaxonsNationalUI getTaxonsTable() {
411         return taxonsTable;
412     }
413 
414     /*-----------------------------------------------------------------------*/
415     /*--------------------- Components creation methods ---------------------*/
416     /*-----------------------------------------------------------------------*/
417 
418     protected void addChildrenToTaxonsDialog() {
419         if (!allComponentsCreated) {
420             return;
421         }
422         add(taxonsTable);
423         add(cancelButton, BorderLayout.PAGE_END);
424     }
425 
426     protected void createCancelButton() {
427         $objectMap.put("cancelButton", cancelButton = new JButton());
428         
429         cancelButton.setName("cancelButton");
430         cancelButton.setText(t("dali.common.close"));
431         cancelButton.setToolTipText(t("dali.common.close"));
432         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
433     }
434 
435     protected TaxonsDialogUIHandler createHandler() {
436         return new TaxonsDialogUIHandler();
437     }
438 
439     protected void createModel() {
440         $objectMap.put("model", model = getContextValue(TaxonsDialogUIModel.class));
441     }
442 
443     protected void createTaxonsTable() {
444         $objectMap.put("taxonsTable", taxonsTable = new TaxonsNationalUI(this));
445         
446         taxonsTable.setName("taxonsTable");
447     }
448 
449     /*-----------------------------------------------------------------------*/
450     /*------------------------ Internal jaxx methods ------------------------*/
451     /*-----------------------------------------------------------------------*/
452 
453     private void $completeSetup() {
454         allComponentsCreated = true;
455         if (log.isDebugEnabled()) {
456             log.debug(this);
457         }
458         addChildrenToTaxonsDialog();
459         
460         // apply 3 property setters
461         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.close.mnemonic"),'Z'));
462         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
463         // late initializer
464         taxonsDialog.pack();
465     }
466 
467     private void $initialize() {
468         if (allComponentsCreated) {
469             return;
470         }
471         if (log.isDebugEnabled()) {
472             log.debug(this);
473         }
474         handler.beforeInit(this);
475         $objectMap.put("taxonsDialog", taxonsDialog);
476         createModel();
477         createTaxonsTable();
478         createCancelButton();
479         // inline creation of taxonsDialog
480         setName("taxonsDialog");
481         taxonsDialog.getContentPane().setLayout(new BorderLayout());
482         setResizable(true);
483         setTitle(t("dali.property.taxonGroup.taxons"));
484         setModal(true);
485         
486         $completeSetup();
487         handler.afterInit(this);
488     }
489 
490 }