View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.filter.select;
2   
3   import fr.ifremer.dali.ui.swing.DaliHelpBroker;
4   import fr.ifremer.dali.ui.swing.DaliUIContext;
5   import fr.ifremer.dali.ui.swing.util.DaliUI;
6   import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
7   import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
8   import java.awt.BorderLayout;
9   import java.awt.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.Box;
25  import javax.swing.BoxLayout;
26  import javax.swing.JButton;
27  import javax.swing.JDialog;
28  import javax.swing.JPanel;
29  import javax.swing.SwingConstants;
30  import jaxx.runtime.JAXXBinding;
31  import jaxx.runtime.JAXXContext;
32  import jaxx.runtime.JAXXObject;
33  import jaxx.runtime.JAXXObjectDescriptor;
34  import jaxx.runtime.JAXXUtil;
35  import jaxx.runtime.SwingUtil;
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 SelectFilterUI extends JDialog implements DaliUI<SelectFilterUIModel, SelectFilterUIHandler>, JAXXObject {
42  
43      /*-----------------------------------------------------------------------*/
44      /*------------------------- Other static fields -------------------------*/
45      /*-----------------------------------------------------------------------*/
46  
47      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAK1UQU8TQRR+rW2hBRFaIRjAKBrjaas3E4yiYKWkqLGQEHtxujvAkNnZdXYWFg/Gn+BP0LsXE2+ejAfPHrwY/4IxHrwa3+y2W9puBaM9TLrz3ve973v73r7+BllPwvldEgSG9IViNjVWb21u3m/uUlMtU8+UzFWOhOiXSkO6ASNWfO8puNCoaXi5BS8vObbrCCoOoRdqUPDUAafeDqVKwVw3wvS8cj0OLwSuL9ussagk1pc/vqdfWM9fpQECF9Xl0Mq5o1AdJ5kapJmloIiV9kiZE7GNMiQT26j3pL5b4sTz7hGbPoFnMFSDnEskkimYP77lkCPEB66CMY9ybGyFcUXlRlXB8pY02JakNpWGRTgzfGZ4+6jBMB2hkNKwiSDb1NgKIUaEN+pdNK4bVsgpyNqORbmC6v+gXdNcHe5ilHuHI6tQD4jQhYq6T0GLezW81On5GDV8Mbq9op8numOjJhEm5bd9pVAVlLq4oludWYwBY3voxSKKdoJTrQwJM12vHofK6AxV562nGpCVPl4rmG70z+FDDEUTON0zgZowjP6aKn1+9/VtpT12w1h7MjH10NbgOLjScalUTJc+Fc2crxgvrxF3oQH56BWEKzWbIKzeCqM4rDeh4YaGGyvE20GK7NCX9x+mHn86AekKFLhDrArR+VXIqx2JXXC4Fbg3F0NFo/vDeI5rbQryGGVPSZNjmzJK+jRA97MJ7mMJzfzHn6X6m8V2B1Ko6MzA9E4Xso8gxwRngoar19qqxFUbcT3qW05ne5L2CfoWym2N69nwnO+zm8GhY1eviTVBbUcwU8FMuB6mY+OzEc2jYcfRAvaQOaKqtwZyUVh3iQb4FSj2QxWMKMfh68xdH5QS+FrapbBt+t9l6FmEv/cwd7hKe0UGuiCmSV0VuzidBO71kZiU5KRnQ4/yguOX4+TAwWQYu444cq7JhIUfgBt97Cl9Fo5k1Nd39bGSzDD+zwylY7jKMDP6Pg3gmDyWio0/MEwjw28U5Iz0wAcAAA==";
48      private static final Log log = LogFactory.getLog(SelectFilterUI.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 JPanel filterElementPanel;
69      protected final SelectFilterUIHandler handler = createHandler();
70      protected SelectFilterUIModel model;
71      protected SelectFilterUI selectFilterUI = this;
72      protected JButton validateButton;
73  
74      /*-----------------------------------------------------------------------*/
75      /*------------------------- Private components  -------------------------*/
76      /*-----------------------------------------------------------------------*/
77  
78      private JPanel $JPanel0;
79  
80      /*-----------------------------------------------------------------------*/
81      /*---------------------- Raw body code from script ----------------------*/
82      /*-----------------------------------------------------------------------*/
83  
84      Integer filterTypeId;
85  
86      /*-----------------------------------------------------------------------*/
87      /*---------------------------- Constructors  ----------------------------*/
88      /*-----------------------------------------------------------------------*/
89  
90      public SelectFilterUI(DaliUIContext context, Integer filterTypeId) {
91          super(context.getMainUI());
92          			ApplicationUIUtil.setApplicationContext(this, context);
93                this.filterTypeId = filterTypeId;
94              $initialize();
95      }
96  
97      public SelectFilterUI(Window param0) {
98          super(param0);
99          $initialize();
100     }
101 
102     public SelectFilterUI(JAXXContext parentContext, Window param1) {
103         super(param1);
104         JAXXUtil.initContext(this, parentContext);
105         $initialize();
106     }
107 
108     public SelectFilterUI(Dialog param0, String param1, boolean param2, GraphicsConfiguration param3) {
109         super(param0 ,param1 ,param2 ,param3);
110         $initialize();
111     }
112 
113     public SelectFilterUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3, GraphicsConfiguration param4) {
114         super(param1 ,param2 ,param3 ,param4);
115         JAXXUtil.initContext(this, parentContext);
116         $initialize();
117     }
118 
119     public SelectFilterUI(Dialog param0, String param1, boolean param2) {
120         super(param0 ,param1 ,param2);
121         $initialize();
122     }
123 
124     public SelectFilterUI(JAXXContext parentContext, Dialog param1, String param2, boolean param3) {
125         super(param1 ,param2 ,param3);
126         JAXXUtil.initContext(this, parentContext);
127         $initialize();
128     }
129 
130     public SelectFilterUI(Dialog param0, String param1) {
131         super(param0 ,param1);
132         $initialize();
133     }
134 
135     public SelectFilterUI(JAXXContext parentContext, Dialog param1, String param2) {
136         super(param1 ,param2);
137         JAXXUtil.initContext(this, parentContext);
138         $initialize();
139     }
140 
141     public SelectFilterUI(Window param0, String param1, ModalityType param2, GraphicsConfiguration param3) {
142         super(param0 ,param1 ,param2 ,param3);
143         $initialize();
144     }
145 
146     public SelectFilterUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3, GraphicsConfiguration param4) {
147         super(param1 ,param2 ,param3 ,param4);
148         JAXXUtil.initContext(this, parentContext);
149         $initialize();
150     }
151 
152     public SelectFilterUI(Window param0, String param1, ModalityType param2) {
153         super(param0 ,param1 ,param2);
154         $initialize();
155     }
156 
157     public SelectFilterUI(JAXXContext parentContext, Window param1, String param2, ModalityType param3) {
158         super(param1 ,param2 ,param3);
159         JAXXUtil.initContext(this, parentContext);
160         $initialize();
161     }
162 
163     public SelectFilterUI(Window param0, String param1) {
164         super(param0 ,param1);
165         $initialize();
166     }
167 
168     public SelectFilterUI(JAXXContext parentContext, Window param1, String param2) {
169         super(param1 ,param2);
170         JAXXUtil.initContext(this, parentContext);
171         $initialize();
172     }
173 
174     public SelectFilterUI(Window param0, ModalityType param1) {
175         super(param0 ,param1);
176         $initialize();
177     }
178 
179     public SelectFilterUI(JAXXContext parentContext, Window param1, ModalityType param2) {
180         super(param1 ,param2);
181         JAXXUtil.initContext(this, parentContext);
182         $initialize();
183     }
184 
185     public SelectFilterUI(Frame param0, String param1) {
186         super(param0 ,param1);
187         $initialize();
188     }
189 
190     public SelectFilterUI(JAXXContext parentContext, Frame param1, String param2) {
191         super(param1 ,param2);
192         JAXXUtil.initContext(this, parentContext);
193         $initialize();
194     }
195 
196     public SelectFilterUI(Frame param0, boolean param1) {
197         super(param0 ,param1);
198         $initialize();
199     }
200 
201     public SelectFilterUI(JAXXContext parentContext, Frame param1, boolean param2) {
202         super(param1 ,param2);
203         JAXXUtil.initContext(this, parentContext);
204         $initialize();
205     }
206 
207     public SelectFilterUI(Frame param0) {
208         super(param0);
209         $initialize();
210     }
211 
212     public SelectFilterUI(JAXXContext parentContext, Frame param1) {
213         super(param1);
214         JAXXUtil.initContext(this, parentContext);
215         $initialize();
216     }
217 
218     public SelectFilterUI() {
219         $initialize();
220     }
221 
222     public SelectFilterUI(JAXXContext parentContext) {
223         JAXXUtil.initContext(this, parentContext);
224         $initialize();
225     }
226 
227     public SelectFilterUI(Dialog param0, boolean param1) {
228         super(param0 ,param1);
229         $initialize();
230     }
231 
232     public SelectFilterUI(JAXXContext parentContext, Dialog param1, boolean param2) {
233         super(param1 ,param2);
234         JAXXUtil.initContext(this, parentContext);
235         $initialize();
236     }
237 
238     public SelectFilterUI(Dialog param0) {
239         super(param0);
240         $initialize();
241     }
242 
243     public SelectFilterUI(JAXXContext parentContext, Dialog param1) {
244         super(param1);
245         JAXXUtil.initContext(this, parentContext);
246         $initialize();
247     }
248 
249     public SelectFilterUI(Frame param0, String param1, boolean param2, GraphicsConfiguration param3) {
250         super(param0 ,param1 ,param2 ,param3);
251         $initialize();
252     }
253 
254     public SelectFilterUI(JAXXContext parentContext, Frame param1, String param2, boolean param3, GraphicsConfiguration param4) {
255         super(param1 ,param2 ,param3 ,param4);
256         JAXXUtil.initContext(this, parentContext);
257         $initialize();
258     }
259 
260     public SelectFilterUI(Frame param0, String param1, boolean param2) {
261         super(param0 ,param1 ,param2);
262         $initialize();
263     }
264 
265     public SelectFilterUI(JAXXContext parentContext, Frame param1, String param2, boolean param3) {
266         super(param1 ,param2 ,param3);
267         JAXXUtil.initContext(this, parentContext);
268         $initialize();
269     }
270 
271     /*-----------------------------------------------------------------------*/
272     /*--------------------------- Statics methods ---------------------------*/
273     /*-----------------------------------------------------------------------*/
274 
275     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
276         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
277     }
278 
279     /*-----------------------------------------------------------------------*/
280     /*---------------------- JAXXObject implementation ----------------------*/
281     /*-----------------------------------------------------------------------*/
282 
283     @Override
284     public void applyDataBinding(String $binding) {
285         if (allComponentsCreated && $bindings.containsKey($binding)) {
286             getDataBinding($binding).applyDataBinding();
287         }
288         processDataBinding($binding);
289     }
290 
291     @Override
292     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
293         super.firePropertyChange(propertyName, oldValue, newValue);
294     }
295 
296     @Override
297     public Map<String, Object> get$objectMap() {
298         return $objectMap;
299     }
300 
301     @Override
302     public JAXXBinding getDataBinding(String bindingId) {
303         return $bindings.get(bindingId);
304     }
305 
306     @Override
307     public JAXXBinding[] getDataBindings() {
308         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
309     }
310 
311     @Override
312     public Object getObjectById(String id) {
313         return $objectMap.get(id);
314     }
315 
316     @Override
317     public void processDataBinding(String $binding, boolean $force) {
318         if (!$force && $activeBindings.contains($binding)) { 
319             return;
320         }
321         $activeBindings.add($binding);
322         try {
323             if (allComponentsCreated && $bindings.containsKey($binding)) {
324                 getDataBinding($binding).processDataBinding();
325             }
326         } finally {
327             $activeBindings.remove($binding);
328         }
329     }
330 
331     @Override
332     public void processDataBinding(String $binding) {
333         processDataBinding($binding, false);
334     }
335 
336     @Override
337     public void registerDataBinding(JAXXBinding binding) {
338         $bindings.put(binding.getId(), binding);
339     }
340 
341     @Override
342     public void removeDataBinding(String $binding) {
343         if (allComponentsCreated && $bindings.containsKey($binding)) {
344             getDataBinding($binding).removeDataBinding();
345         }
346     }
347 
348     /*-----------------------------------------------------------------------*/
349     /*--------------------- JAXXContext implementation  ---------------------*/
350     /*-----------------------------------------------------------------------*/
351 
352     @Override
353     public <T> T getContextValue(Class<T> clazz) {
354         return delegateContext.getContextValue(clazz, null);
355     }
356 
357     @Override
358     public <T> T getContextValue(Class<T> clazz, String name) {
359         return delegateContext.getContextValue(clazz, name);
360     }
361 
362     @Override
363     public JAXXContext getDelegateContext() {
364         return delegateContext;
365     }
366 
367     @Override
368     public <O extends Container> O getParentContainer(Class<O> clazz) {
369         return SwingUtil.getParentContainer(this, clazz);
370     }
371 
372     @Override
373     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
374         return SwingUtil.getParentContainer(source, clazz);
375     }
376 
377     @Override
378     public <T> void removeContextValue(Class<T> clazz) {
379         delegateContext.removeContextValue(clazz, null);
380     }
381 
382     @Override
383     public <T> void removeContextValue(Class<T> clazz, String name) {
384         delegateContext.removeContextValue(clazz, name);
385     }
386 
387     @Override
388     public <T> void setContextValue(T o) {
389         delegateContext.setContextValue(o, null);
390     }
391 
392     @Override
393     public <T> void setContextValue(T o, String name) {
394         delegateContext.setContextValue(o, name);
395     }
396 
397     /*-----------------------------------------------------------------------*/
398     /*---------------------------- Event methods ----------------------------*/
399     /*-----------------------------------------------------------------------*/
400 
401     public void doActionPerformed__on__cancelButton(ActionEvent event) {
402         if (log.isDebugEnabled()) {
403             log.debug(event);
404         }
405         handler.cancel();
406     }
407 
408     public void doActionPerformed__on__validateButton(ActionEvent event) {
409         if (log.isDebugEnabled()) {
410             log.debug(event);
411         }
412         handler.valid();
413     }
414 
415     /*-----------------------------------------------------------------------*/
416     /*----------------------- Public acessor methods  -----------------------*/
417     /*-----------------------------------------------------------------------*/
418 
419     public JButton getCancelButton() {
420         return cancelButton;
421     }
422 
423     public JPanel getFilterElementPanel() {
424         return filterElementPanel;
425     }
426 
427     public SelectFilterUIHandler getHandler() {
428         return handler;
429     }
430 
431     public SelectFilterUIModel getModel() {
432         return model;
433     }
434 
435     public JButton getValidateButton() {
436         return validateButton;
437     }
438 
439     /*-----------------------------------------------------------------------*/
440     /*--------------------- Protected acessors methods  ---------------------*/
441     /*-----------------------------------------------------------------------*/
442 
443     protected JPanel get$JPanel0() {
444         return $JPanel0;
445     }
446 
447     /*-----------------------------------------------------------------------*/
448     /*--------------------- Components creation methods ---------------------*/
449     /*-----------------------------------------------------------------------*/
450 
451     protected void addChildrenToSelectFilterUI() {
452         if (!allComponentsCreated) {
453             return;
454         }
455         add(filterElementPanel, BorderLayout.CENTER);
456         add($JPanel0, BorderLayout.PAGE_END);
457     }
458 
459     protected void createCancelButton() {
460         $objectMap.put("cancelButton", cancelButton = new JButton());
461         
462         cancelButton.setName("cancelButton");
463         cancelButton.setText(t("dali.common.cancel"));
464         cancelButton.setToolTipText(t("dali.common.cancel"));
465         cancelButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__cancelButton"));
466     }
467 
468     protected void createFilterElementPanel() {
469         $objectMap.put("filterElementPanel", filterElementPanel = new JPanel());
470         
471         filterElementPanel.setName("filterElementPanel");
472         filterElementPanel.setLayout(new BorderLayout());
473     }
474 
475     protected SelectFilterUIHandler createHandler() {
476         return new SelectFilterUIHandler();
477     }
478 
479     protected void createModel() {
480         $objectMap.put("model", model = getContextValue(SelectFilterUIModel.class));
481     }
482 
483     protected void createValidateButton() {
484         $objectMap.put("validateButton", validateButton = new JButton());
485         
486         validateButton.setName("validateButton");
487         validateButton.setText(t("dali.common.validate"));
488         validateButton.setToolTipText(t("dali.common.validate"));
489         validateButton.addActionListener(JAXXUtil.getEventListener(ActionListener.class, "actionPerformed", this, "doActionPerformed__on__validateButton"));
490     }
491 
492     /*-----------------------------------------------------------------------*/
493     /*------------------------ Internal jaxx methods ------------------------*/
494     /*-----------------------------------------------------------------------*/
495 
496     private void $completeSetup() {
497         allComponentsCreated = true;
498         if (log.isDebugEnabled()) {
499             log.debug(this);
500         }
501         addChildrenToSelectFilterUI();
502         // inline complete setup of $JPanel0
503         $JPanel0.add(cancelButton);
504         $JPanel0.add(validateButton);
505         
506         // apply 7 property setters
507         cancelButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.cancel.mnemonic"),'Z'));
508         cancelButton.setIcon(SwingUtil.createActionIcon("cancel"));
509         validateButton.setMnemonic(SwingUtil.getFirstCharAt(t("dali.common.validate.mnemonic"),'Z'));
510         validateButton.setIcon(SwingUtil.createActionIcon("accept"));
511         // late initializer
512         selectFilterUI.pack();
513     }
514 
515     private void $initialize() {
516         if (allComponentsCreated) {
517             return;
518         }
519         if (log.isDebugEnabled()) {
520             log.debug(this);
521         }
522         handler.beforeInit(this);
523         $objectMap.put("selectFilterUI", selectFilterUI);
524         createModel();
525         createFilterElementPanel();
526         // inline creation of $JPanel0
527         $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
528         
529         $JPanel0.setName("$JPanel0");
530         $JPanel0.setLayout(new GridLayout(1,0));
531         createCancelButton();
532         createValidateButton();
533         // inline creation of selectFilterUI
534         setName("selectFilterUI");
535         selectFilterUI.getContentPane().setLayout(new BorderLayout());
536         setResizable(true);
537         
538         $completeSetup();
539         handler.afterInit(this);
540     }
541 
542 }