View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.pmfm.parameter.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.pmfm.parameter.menu.ManageParametersMenuUI;
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 ManageParametersNationalUI extends JPanel implements DaliUI<ManageParametersNationalUIModel, ManageParametersNationalUIHandler>, JAXXObject {
33  
34      /*-----------------------------------------------------------------------*/
35      /*------------------------- Other static fields -------------------------*/
36      /*-----------------------------------------------------------------------*/
37  
38      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAL1Uz08TQRR+XW2hIP4iIEZMUEiIGqcajxhFIQRIq8RKQmxinHanZWB2dpidleVi/BP8E/TuxcSbJ+PBswcvxn/BGA9ejW+mP7aFEj0Ye5idznvf+7438957/Q2ykYYLWzRJiI6l4QEjq3c2Nu5Xt1jNLLKoprkyoYbmL+OBV4Fhv3MeGZiuFC280IIXFsJAhZLJLvRcEYYisydYtMmYMXC+F1GLokK5Y55LVKzbUTui+kV9+eO798J//soDSBSqG8BUpv6ESjM5WgSP+wZOI9NTWhBUNlCG5rKBekfs2YKgUXSPBmwHnsFAEXKKagxm4OLfp+xiOHyiDAzOrK5RycQ1A/W6JryuWcA08angJOYk2kV2UgulwWAkoJI2GNGsziwtp4KooB4QVIGaDOIkNTyUeF5yrmttA4puGtZXlHLsOQPZIPSZMLD9f4hLli1lz1V1uM20gdlD6Rfx3zJi7jrPLmjAZLy+YuDxP1BuYx1QXXIEli7fYW0/1XWsEFsMSYuqedrrOzKzWq7pUAhrw7c90wNITdZ9LH0QQ6uCGSBdae3E1Ne8wW6kuTkvUrb7h3Zr0RMKa/1cT61jF5G0i9Iyz1Qgq2M8NjBROdh4D9DUbLmJfS1nAzrrr/HRz+++vl1q95mH3GN9XbvGBNa/0qHCF+eW+kSzyWLDRaFE1VwF8hETOGPcDJnsI6zcMqM45Dtl4cTCyTKNNjFEduDL+w/jTz4dAW8JhkRI/SVq/VcgbzY13kIo/ETdnneKju0O4nrSasN6EnQvjLGNj9/0qaFTVS59vNxbCV7CZJ9L6Cip5j/+HC2/mW9fRAaFnT3UPb2M7CPIcSm4ZG7ktKZJ3xEzrCIW+2E6NfrNkYz9DqlWh0y7dfZgpvb4kl0uJ7H9XHGS7e6qs41jhN9zSuAMAgYAAA==";
39      private static final Log log = LogFactory.getLog(ManageParametersNationalUI.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 ManageParametersNationalUIHandler handler = createHandler();
60      protected ManageParametersMenuUI menuUI;
61      protected ManageParametersNationalUIModel model;
62      protected SwingTable table;
63  
64      /*-----------------------------------------------------------------------*/
65      /*------------------------- Private components  -------------------------*/
66      /*-----------------------------------------------------------------------*/
67  
68      private ManageParametersNationalUI $JPanel0 = this;
69      private JPanel $JPanel1;
70      private JScrollPane $JScrollPane0;
71  
72      /*-----------------------------------------------------------------------*/
73      /*---------------------------- Constructors  ----------------------------*/
74      /*-----------------------------------------------------------------------*/
75  
76      public ManageParametersNationalUI(ApplicationUI parentUI) {
77          ApplicationUIUtil.setParentUI(this, parentUI);
78              $initialize();
79      }
80  
81      public ManageParametersNationalUI() {
82          $initialize();
83      }
84  
85      public ManageParametersNationalUI(JAXXContext parentContext) {
86          JAXXUtil.initContext(this, parentContext);
87          $initialize();
88      }
89  
90      public ManageParametersNationalUI(boolean param0) {
91          super(param0);
92          $initialize();
93      }
94  
95      public ManageParametersNationalUI(JAXXContext parentContext, boolean param1) {
96          super(param1);
97          JAXXUtil.initContext(this, parentContext);
98          $initialize();
99      }
100 
101     public ManageParametersNationalUI(LayoutManager param0) {
102         super(param0);
103         $initialize();
104     }
105 
106     public ManageParametersNationalUI(JAXXContext parentContext, LayoutManager param1) {
107         super(param1);
108         JAXXUtil.initContext(this, parentContext);
109         $initialize();
110     }
111 
112     public ManageParametersNationalUI(LayoutManager param0, boolean param1) {
113         super(param0 ,param1);
114         $initialize();
115     }
116 
117     public ManageParametersNationalUI(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 ManageParametersNationalUIHandler getHandler() {
258         return handler;
259     }
260 
261     public ManageParametersMenuUI getMenuUI() {
262         return menuUI;
263     }
264 
265     public ManageParametersNationalUIModel getModel() {
266         return model;
267     }
268 
269     public SwingTable getTable() {
270         return table;
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 ManageParametersNationalUIHandler createHandler() {
294         return new ManageParametersNationalUIHandler();
295     }
296 
297     protected void createMenuUI() {
298         $objectMap.put("menuUI", menuUI = new ManageParametersMenuUI(this));
299         
300         menuUI.setName("menuUI");
301     }
302 
303     protected void createModel() {
304         $objectMap.put("model", model = getContextValue(ManageParametersNationalUIModel.class));
305     }
306 
307     protected void createTable() {
308         $objectMap.put("table", table = new SwingTable());
309         
310         table.setName("table");
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(menuUI, 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(table);
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         createMenuUI();
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         createTable();
353         // inline creation of $JPanel0
354         setName("$JPanel0");
355         setLayout(new BorderLayout());
356         
357         $completeSetup();
358         handler.afterInit(this);
359     }
360 
361 }