View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.taxon.national;
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.menu.TaxonMenuUI;
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 fr.ifremer.quadrige3.ui.swing.table.SwingTable;
10  import java.awt.BorderLayout;
11  import java.awt.Container;
12  import java.awt.LayoutManager;
13  import java.util.ArrayList;
14  import java.util.HashMap;
15  import java.util.List;
16  import java.util.Map;
17  import java.util.TreeMap;
18  import javax.swing.Box;
19  import javax.swing.BoxLayout;
20  import javax.swing.JPanel;
21  import javax.swing.JScrollPane;
22  import jaxx.runtime.JAXXBinding;
23  import jaxx.runtime.JAXXContext;
24  import jaxx.runtime.JAXXObject;
25  import jaxx.runtime.JAXXObjectDescriptor;
26  import jaxx.runtime.JAXXUtil;
27  import jaxx.runtime.SwingUtil;
28  import jaxx.runtime.context.DefaultJAXXContext;
29  import org.apache.commons.logging.Log;
30  import org.apache.commons.logging.LogFactory;
31  
32  public class TaxonsNationalUI extends JPanel implements DaliUI<TaxonsNationalUIModel, TaxonsNationalUIHandler>, JAXXObject {
33  
34      /*-----------------------------------------------------------------------*/
35      /*------------------------- Other static fields -------------------------*/
36      /*-----------------------------------------------------------------------*/
37  
38      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVUz08TQRR+XW2hIP5CECMmKCREjVONR4yikAaaosZCQuzFaXcog7Mzw+ysLBfjn+CfoHcvJt48GQ+ePXgx/gvGePBqfLPbdqmUaEzcw+7OvPd973tv5r1XXyEfGji/ReOYmEhaHjBSub2+fq+xxZp2kYVNw7VVBtIn54FXh2G/ux9amK5XHbzUhpcWVKCVZHIPeq4KQ6HdFSzcZMxaONeLaIZhqdY1z8U6Mh3Wrqh+rC++f/Oe+89eegCxRnUDmMrUn1BZJoer4HHfwkmM9ISWBJUtlGG4bKHeEbe3IGgY3qUB24anMFCFgqYGySxc+PuUE44EH2sLgzOV+1QycdVCbcMQvmFYwAzxqeAk4iTcweikqaRFMhJQSVuMGLbBXFhOBbE0VpJIarmSuFx1S1SYLteWtU5CFSzkA+UzYWH9P0RZcdRZqELDqMfMWJg9MNYirpYQcyfxzKCnbA/1CpPR2rKFyr+LDpAiFZySuUDFbrxO+a/hqbsDjtu06W6v78hMpdY0Sghnw/M63QPITM59rIsa7c1olTYEs0D2JLQdUd/wFrueZWWdF6m5/wTguCY03uazPbcZ+4RkfZJd5Fwd8ibCbQsT9f2t9QBNaVNN/NZUjjCx/hwf/fT2y5typ5M8jD3W13XPIMAbro3SePLchT6WtlFkuSitUD1Xh2LIBE6RZEpM9hFWa5tRHMY74eDEwckSDTeRIj/w+d378UcfD4FXhiGhqF+mzn8ZinbTYBWU8GN9az5RdGRnEN/HnTa8koLuqggb9egNn1o61eDSx+LejLEIk32K0FXSKH74MVp7Pd8pRA6FnTnQPStG/iEUuBRcsmSotOdF3yEyrEMW+SqbC/0mRc59h3S7U6aT9+z+TN32Rfe6FEfuczmR7P6uJLZxZPgFgerLkeQFAAA=";
39      private static final Log log = LogFactory.getLog(TaxonsNationalUI.class);
40      private static final long serialVersionUID = 1L;
41  
42      /*-----------------------------------------------------------------------*/
43      /*--------------------------- Internal states ---------------------------*/
44      /*-----------------------------------------------------------------------*/
45  
46      protected List<Object> $activeBindings = new ArrayList<Object>();
47      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
48      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
49      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
50      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
51      private boolean allComponentsCreated;
52      protected final JAXXContext delegateContext = new DefaultJAXXContext();
53  
54      /*-----------------------------------------------------------------------*/
55      /*------------------------ Protected components  ------------------------*/
56      /*-----------------------------------------------------------------------*/
57  
58      protected DaliHelpBroker broker;
59      protected final TaxonsNationalUIHandler handler = createHandler();
60      protected TaxonsNationalUIModel model;
61      protected TaxonMenuUI taxonsNationalMenuUI;
62      protected SwingTable taxonsNationalTable;
63  
64      /*-----------------------------------------------------------------------*/
65      /*------------------------- Private components  -------------------------*/
66      /*-----------------------------------------------------------------------*/
67  
68      private TaxonsNationalUI $JPanel0 = this;
69      private JPanel $JPanel1;
70      private JScrollPane $JScrollPane0;
71  
72      /*-----------------------------------------------------------------------*/
73      /*---------------------------- Constructors  ----------------------------*/
74      /*-----------------------------------------------------------------------*/
75  
76      public TaxonsNationalUI(ApplicationUI parentUI) {
77          ApplicationUIUtil.setParentUI(this, parentUI);
78              $initialize();
79      }
80  
81      public TaxonsNationalUI() {
82          $initialize();
83      }
84  
85      public TaxonsNationalUI(JAXXContext parentContext) {
86          JAXXUtil.initContext(this, parentContext);
87          $initialize();
88      }
89  
90      public TaxonsNationalUI(boolean param0) {
91          super(param0);
92          $initialize();
93      }
94  
95      public TaxonsNationalUI(JAXXContext parentContext, boolean param1) {
96          super(param1);
97          JAXXUtil.initContext(this, parentContext);
98          $initialize();
99      }
100 
101     public TaxonsNationalUI(LayoutManager param0) {
102         super(param0);
103         $initialize();
104     }
105 
106     public TaxonsNationalUI(JAXXContext parentContext, LayoutManager param1) {
107         super(param1);
108         JAXXUtil.initContext(this, parentContext);
109         $initialize();
110     }
111 
112     public TaxonsNationalUI(LayoutManager param0, boolean param1) {
113         super(param0 ,param1);
114         $initialize();
115     }
116 
117     public TaxonsNationalUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
118         super(param1 ,param2);
119         JAXXUtil.initContext(this, parentContext);
120         $initialize();
121     }
122 
123     /*-----------------------------------------------------------------------*/
124     /*--------------------------- Statics methods ---------------------------*/
125     /*-----------------------------------------------------------------------*/
126 
127     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
128         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
129     }
130 
131     /*-----------------------------------------------------------------------*/
132     /*---------------------- JAXXObject implementation ----------------------*/
133     /*-----------------------------------------------------------------------*/
134 
135     @Override
136     public void applyDataBinding(String $binding) {
137         if (allComponentsCreated && $bindings.containsKey($binding)) {
138             getDataBinding($binding).applyDataBinding();
139         }
140         processDataBinding($binding);
141     }
142 
143     @Override
144     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
145         super.firePropertyChange(propertyName, oldValue, newValue);
146     }
147 
148     @Override
149     public Map<String, Object> get$objectMap() {
150         return $objectMap;
151     }
152 
153     @Override
154     public JAXXBinding getDataBinding(String bindingId) {
155         return $bindings.get(bindingId);
156     }
157 
158     @Override
159     public JAXXBinding[] getDataBindings() {
160         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
161     }
162 
163     @Override
164     public Object getObjectById(String id) {
165         return $objectMap.get(id);
166     }
167 
168     @Override
169     public void processDataBinding(String $binding, boolean $force) {
170         if (!$force && $activeBindings.contains($binding)) { 
171             return;
172         }
173         $activeBindings.add($binding);
174         try {
175             if (allComponentsCreated && $bindings.containsKey($binding)) {
176                 getDataBinding($binding).processDataBinding();
177             }
178         } finally {
179             $activeBindings.remove($binding);
180         }
181     }
182 
183     @Override
184     public void processDataBinding(String $binding) {
185         processDataBinding($binding, false);
186     }
187 
188     @Override
189     public void registerDataBinding(JAXXBinding binding) {
190         $bindings.put(binding.getId(), binding);
191     }
192 
193     @Override
194     public void removeDataBinding(String $binding) {
195         if (allComponentsCreated && $bindings.containsKey($binding)) {
196             getDataBinding($binding).removeDataBinding();
197         }
198     }
199 
200     /*-----------------------------------------------------------------------*/
201     /*--------------------- JAXXContext implementation  ---------------------*/
202     /*-----------------------------------------------------------------------*/
203 
204     @Override
205     public <T> T getContextValue(Class<T> clazz) {
206         return delegateContext.getContextValue(clazz, null);
207     }
208 
209     @Override
210     public <T> T getContextValue(Class<T> clazz, String name) {
211         return delegateContext.getContextValue(clazz, name);
212     }
213 
214     @Override
215     public JAXXContext getDelegateContext() {
216         return delegateContext;
217     }
218 
219     @Override
220     public <O extends Container> O getParentContainer(Class<O> clazz) {
221         return SwingUtil.getParentContainer(this, clazz);
222     }
223 
224     @Override
225     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
226         return SwingUtil.getParentContainer(source, clazz);
227     }
228 
229     @Override
230     public <T> void removeContextValue(Class<T> clazz) {
231         delegateContext.removeContextValue(clazz, null);
232     }
233 
234     @Override
235     public <T> void removeContextValue(Class<T> clazz, String name) {
236         delegateContext.removeContextValue(clazz, name);
237     }
238 
239     @Override
240     public <T> void setContextValue(T o) {
241         delegateContext.setContextValue(o, null);
242     }
243 
244     @Override
245     public <T> void setContextValue(T o, String name) {
246         delegateContext.setContextValue(o, name);
247     }
248 
249     /*-----------------------------------------------------------------------*/
250     /*----------------------- Public acessor methods  -----------------------*/
251     /*-----------------------------------------------------------------------*/
252 
253     public DaliHelpBroker getBroker() {
254         return broker;
255     }
256 
257     public TaxonsNationalUIHandler getHandler() {
258         return handler;
259     }
260 
261     public TaxonsNationalUIModel getModel() {
262         return model;
263     }
264 
265     public TaxonMenuUI getTaxonsNationalMenuUI() {
266         return taxonsNationalMenuUI;
267     }
268 
269     public SwingTable getTaxonsNationalTable() {
270         return taxonsNationalTable;
271     }
272 
273     /*-----------------------------------------------------------------------*/
274     /*--------------------- Protected acessors methods  ---------------------*/
275     /*-----------------------------------------------------------------------*/
276 
277     protected JPanel get$JPanel1() {
278         return $JPanel1;
279     }
280 
281     protected JScrollPane get$JScrollPane0() {
282         return $JScrollPane0;
283     }
284 
285     /*-----------------------------------------------------------------------*/
286     /*--------------------- Components creation methods ---------------------*/
287     /*-----------------------------------------------------------------------*/
288 
289     protected void createBroker() {
290         $objectMap.put("broker", broker = new DaliHelpBroker("dali.home.help"));
291     }
292 
293     protected TaxonsNationalUIHandler createHandler() {
294         return new TaxonsNationalUIHandler();
295     }
296 
297     protected void createModel() {
298         $objectMap.put("model", model = getContextValue(TaxonsNationalUIModel.class));
299     }
300 
301     protected void createTaxonsNationalMenuUI() {
302         $objectMap.put("taxonsNationalMenuUI", taxonsNationalMenuUI = new TaxonMenuUI(this));
303         
304         taxonsNationalMenuUI.setName("taxonsNationalMenuUI");
305     }
306 
307     protected void createTaxonsNationalTable() {
308         $objectMap.put("taxonsNationalTable", taxonsNationalTable = new SwingTable());
309         
310         taxonsNationalTable.setName("taxonsNationalTable");
311     }
312 
313     /*-----------------------------------------------------------------------*/
314     /*------------------------ Internal jaxx methods ------------------------*/
315     /*-----------------------------------------------------------------------*/
316 
317     private void $completeSetup() {
318         allComponentsCreated = true;
319         if (log.isDebugEnabled()) {
320             log.debug(this);
321         }
322         // inline complete setup of $JPanel0
323         add(taxonsNationalMenuUI, BorderLayout.LINE_START);
324         add($JPanel1, BorderLayout.CENTER);
325         // inline complete setup of $JPanel1
326         $JPanel1.add($JScrollPane0);
327         // inline complete setup of $JScrollPane0
328         $JScrollPane0.getViewport().add(taxonsNationalTable);
329     }
330 
331     private void $initialize() {
332         if (allComponentsCreated) {
333             return;
334         }
335         if (log.isDebugEnabled()) {
336             log.debug(this);
337         }
338         handler.beforeInit(this);
339         $objectMap.put("$JPanel0", $JPanel0);
340         createModel();
341         createBroker();
342         createTaxonsNationalMenuUI();
343         // inline creation of $JPanel1
344         $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
345         
346         $JPanel1.setName("$JPanel1");
347         $JPanel1.setLayout(new BorderLayout());
348         // inline creation of $JScrollPane0
349         $objectMap.put("$JScrollPane0", $JScrollPane0 = new JScrollPane());
350         
351         $JScrollPane0.setName("$JScrollPane0");
352         createTaxonsNationalTable();
353         // inline creation of $JPanel0
354         setName("$JPanel0");
355         setLayout(new BorderLayout());
356         
357         $completeSetup();
358         handler.afterInit(this);
359     }
360 
361 }