View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.pmfm.fraction;
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.fraction.national.ManageFractionsNationalUI;
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.GridLayout;
13  import java.awt.LayoutManager;
14  import java.util.ArrayList;
15  import java.util.HashMap;
16  import java.util.List;
17  import java.util.Map;
18  import java.util.TreeMap;
19  import javax.swing.BorderFactory;
20  import javax.swing.Box;
21  import javax.swing.BoxLayout;
22  import javax.swing.JButton;
23  import javax.swing.JPanel;
24  import jaxx.runtime.JAXXBinding;
25  import jaxx.runtime.JAXXContext;
26  import jaxx.runtime.JAXXObject;
27  import jaxx.runtime.JAXXObjectDescriptor;
28  import jaxx.runtime.JAXXUtil;
29  import jaxx.runtime.SwingUtil;
30  import jaxx.runtime.context.DefaultJAXXContext;
31  import jaxx.runtime.swing.help.JAXXHelpUI;
32  import org.apache.commons.logging.Log;
33  import org.apache.commons.logging.LogFactory;
34  import static org.nuiton.i18n.I18n.t;
35  
36  public class ManageFractionsUI extends JPanel implements JAXXHelpUI<DaliHelpBroker>, DaliUI<ManageFractionsUIModel, ManageFractionsUIHandler>, JAXXObject {
37  
38      /*-----------------------------------------------------------------------*/
39      /*------------------------- Other static fields -------------------------*/
40      /*-----------------------------------------------------------------------*/
41  
42      private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVUQW8TRxR+dmOHOIWWRkmJClIISIWqGrdCPaUqJAE3oU6CMFRRfaDj3bEzMDszzM7CWlGq/gR+Ar1zQeLGqeqBMwcuVf8CqnroFfFm1vHGZEMiVbXk9Xrmve998+b73pPXUIkNnL1L05SYRFoeMXJ9cXNzo3OXBfYqiwPDtVUGsk+pDOU2TIbD9djCuXbTpdcH6fVlFWklmdyTvdCEWmz7gsVbjFkLZ0Yzgjiut4bbC6lOzC7qkFQR6uN//i4/Cn/9rQyQamRXxaPMHZaVn2SsCWUeWvgEKz2gdUFlD2kYLnvI97hbWxY0jtdpxO7DLzDehKqmBsEszB/9yB7D56fawrHz129QycRXFlpdQ3jXsIgZElLBScJJ/BCrk0BJi2AkopL2GDGsy1xZTgXRUTciXUMDy5Ukaz6gMfgb317V2peqWqhEKmTCwub/UGXNQeelqh2j7jFj4fMDa13FfyuYs+Qj89TZaBR7nbofKm6vWgj/O3M5gHv3CHkZx2NiSGf3dr5GUbj7TwcFs9XR2MlAqJgtJdYiG5gaCc9WXeC0Rk1+NqJJVDvJ1Z7LsdSGiklw2cKp9n6D3MStzBqn3rGGA/S7b2amXj3/61lj1w/jWHu6MHSPnVGn2iiN98dd6Y8yMySWi/oa1QttmIiZwFngvX66gFhrsI3ksN5Jl05cOlmh8RZCVMb//P2PmZ9ffgDlBtSEomGDuvhVmLBbBrugRJjqy1c8ow8fHsPnx/gtO2EpEzphVbdlIsSOhU/vKCn6PzqyARWtwCghaEdgG8esSViK3Tld0J0hxc7Ei3+nWk+v7HaohIxnDwzPu1T5CapcCi6ZnxmDcVA4IyZ1zJJQ5bYvGgRgcdGzd8rSA0PM+ef5fa0YQzneoVoLPLQT7qJXsYWF7T0WuZ/Q0PAeu5T7ZOCC79UttaIilqWRwPHAXtay7VXnJqgGVAZuXkzvL/QD61v4ZvtAO/rLdg7HQJyf6PCYLC+uL19r7rh7YSkOzJM+JVBR5Bmgc9LEHfYLfwnu7UsY9dRhTSnt0cfG9pJ/y4TVJ4Fh1LJb3AoWZjsX7IV5T6FgZgynBEqJifmLF3eKuB08qo7CVNC+wmPBiW9Daulch8sQW/fdvkIl96wdiuiWr7lHoxhh5gicatiOnoywCZvvQZo9AtIYD7Jp9x6Mt4CR1fRqCAAA";
43      private static final Log log = LogFactory.getLog(ManageFractionsUI.class);
44      private static final long serialVersionUID = 1L;
45  
46      /*-----------------------------------------------------------------------*/
47      /*--------------------------- Internal states ---------------------------*/
48      /*-----------------------------------------------------------------------*/
49  
50      protected List<Object> $activeBindings = new ArrayList<Object>();
51      protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
52      protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
53      protected Map<String, Object> $objectMap = new HashMap<String, Object>();
54      protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
55      private boolean allComponentsCreated;
56      protected final JAXXContext delegateContext = new DefaultJAXXContext();
57  
58      /*-----------------------------------------------------------------------*/
59      /*------------------------ Protected components  ------------------------*/
60      /*-----------------------------------------------------------------------*/
61  
62      protected DaliHelpBroker broker;
63      protected JButton closeButton;
64      protected final ManageFractionsUIHandler handler = createHandler();
65      protected ManageFractionsNationalUI manageFractionsNationalUI;
66      protected ManageFractionsUIModel model;
67  
68      /*-----------------------------------------------------------------------*/
69      /*------------------------- Private components  -------------------------*/
70      /*-----------------------------------------------------------------------*/
71  
72      private ManageFractionsUI $JPanel0 = this;
73      private JPanel $JPanel1;
74  
75      /*-----------------------------------------------------------------------*/
76      /*---------------------------- Constructors  ----------------------------*/
77      /*-----------------------------------------------------------------------*/
78  
79      public ManageFractionsUI(ApplicationUI parentUI) {
80          ApplicationUIUtil.setParentUI(this, parentUI);
81              $initialize();
82      }
83  
84      public ManageFractionsUI() {
85          $initialize();
86      }
87  
88      public ManageFractionsUI(JAXXContext parentContext) {
89          JAXXUtil.initContext(this, parentContext);
90          $initialize();
91      }
92  
93      public ManageFractionsUI(boolean param0) {
94          super(param0);
95          $initialize();
96      }
97  
98      public ManageFractionsUI(JAXXContext parentContext, boolean param1) {
99          super(param1);
100         JAXXUtil.initContext(this, parentContext);
101         $initialize();
102     }
103 
104     public ManageFractionsUI(LayoutManager param0) {
105         super(param0);
106         $initialize();
107     }
108 
109     public ManageFractionsUI(JAXXContext parentContext, LayoutManager param1) {
110         super(param1);
111         JAXXUtil.initContext(this, parentContext);
112         $initialize();
113     }
114 
115     public ManageFractionsUI(LayoutManager param0, boolean param1) {
116         super(param0 ,param1);
117         $initialize();
118     }
119 
120     public ManageFractionsUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
121         super(param1 ,param2);
122         JAXXUtil.initContext(this, parentContext);
123         $initialize();
124     }
125 
126     /*-----------------------------------------------------------------------*/
127     /*--------------------------- Statics methods ---------------------------*/
128     /*-----------------------------------------------------------------------*/
129 
130     public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
131         return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
132     }
133 
134     /*-----------------------------------------------------------------------*/
135     /*---------------------- JAXXObject implementation ----------------------*/
136     /*-----------------------------------------------------------------------*/
137 
138     @Override
139     public void applyDataBinding(String $binding) {
140         if (allComponentsCreated && $bindings.containsKey($binding)) {
141             getDataBinding($binding).applyDataBinding();
142         }
143         processDataBinding($binding);
144     }
145 
146     @Override
147     public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
148         super.firePropertyChange(propertyName, oldValue, newValue);
149     }
150 
151     @Override
152     public Map<String, Object> get$objectMap() {
153         return $objectMap;
154     }
155 
156     @Override
157     public JAXXBinding getDataBinding(String bindingId) {
158         return $bindings.get(bindingId);
159     }
160 
161     @Override
162     public JAXXBinding[] getDataBindings() {
163         return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
164     }
165 
166     @Override
167     public Object getObjectById(String id) {
168         return $objectMap.get(id);
169     }
170 
171     @Override
172     public void processDataBinding(String $binding, boolean $force) {
173         if (!$force && $activeBindings.contains($binding)) { 
174             return;
175         }
176         $activeBindings.add($binding);
177         try {
178             if (allComponentsCreated && $bindings.containsKey($binding)) {
179                 getDataBinding($binding).processDataBinding();
180             }
181         } finally {
182             $activeBindings.remove($binding);
183         }
184     }
185 
186     @Override
187     public void processDataBinding(String $binding) {
188         processDataBinding($binding, false);
189     }
190 
191     @Override
192     public void registerDataBinding(JAXXBinding binding) {
193         $bindings.put(binding.getId(), binding);
194     }
195 
196     @Override
197     public void removeDataBinding(String $binding) {
198         if (allComponentsCreated && $bindings.containsKey($binding)) {
199             getDataBinding($binding).removeDataBinding();
200         }
201     }
202 
203     /*-----------------------------------------------------------------------*/
204     /*--------------------- JAXXContext implementation  ---------------------*/
205     /*-----------------------------------------------------------------------*/
206 
207     @Override
208     public <T> T getContextValue(Class<T> clazz) {
209         return delegateContext.getContextValue(clazz, null);
210     }
211 
212     @Override
213     public <T> T getContextValue(Class<T> clazz, String name) {
214         return delegateContext.getContextValue(clazz, name);
215     }
216 
217     @Override
218     public JAXXContext getDelegateContext() {
219         return delegateContext;
220     }
221 
222     @Override
223     public <O extends Container> O getParentContainer(Class<O> clazz) {
224         return SwingUtil.getParentContainer(this, clazz);
225     }
226 
227     @Override
228     public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
229         return SwingUtil.getParentContainer(source, clazz);
230     }
231 
232     @Override
233     public <T> void removeContextValue(Class<T> clazz) {
234         delegateContext.removeContextValue(clazz, null);
235     }
236 
237     @Override
238     public <T> void removeContextValue(Class<T> clazz, String name) {
239         delegateContext.removeContextValue(clazz, name);
240     }
241 
242     @Override
243     public <T> void setContextValue(T o) {
244         delegateContext.setContextValue(o, null);
245     }
246 
247     @Override
248     public <T> void setContextValue(T o, String name) {
249         delegateContext.setContextValue(o, name);
250     }
251 
252     /*-----------------------------------------------------------------------*/
253     /*----------------------- Public acessor methods  -----------------------*/
254     /*-----------------------------------------------------------------------*/
255 
256     public DaliHelpBroker getBroker() {
257         return broker;
258     }
259 
260     public JButton getCloseButton() {
261         return closeButton;
262     }
263 
264     public ManageFractionsUIHandler getHandler() {
265         return handler;
266     }
267 
268     public ManageFractionsNationalUI getManageFractionsNationalUI() {
269         return manageFractionsNationalUI;
270     }
271 
272     public ManageFractionsUIModel getModel() {
273         return model;
274     }
275 
276     /*-----------------------------------------------------------------------*/
277     /*---------------------------- Other methods ----------------------------*/
278     /*-----------------------------------------------------------------------*/
279 
280     @Override
281     public void registerHelpId(DaliHelpBroker broker, Component component, String helpId) {
282         broker.installUI(component, helpId);
283     }
284 
285     @Override
286     public void showHelp(String helpId) {
287         getBroker().showHelp(this, helpId);
288     }
289 
290     /*-----------------------------------------------------------------------*/
291     /*--------------------- Protected acessors methods  ---------------------*/
292     /*-----------------------------------------------------------------------*/
293 
294     protected JPanel get$JPanel1() {
295         return $JPanel1;
296     }
297 
298     /*-----------------------------------------------------------------------*/
299     /*--------------------- Components creation methods ---------------------*/
300     /*-----------------------------------------------------------------------*/
301 
302     protected void createBroker() {
303         $objectMap.put("broker", broker = new DaliHelpBroker("dali.home.help"));
304     }
305 
306     protected void createCloseButton() {
307         $objectMap.put("closeButton", closeButton = new JButton());
308         
309         closeButton.setName("closeButton");
310         closeButton.setText(t("dali.common.close"));
311         closeButton.putClientProperty("applicationActionKey", fr.ifremer.dali.ui.swing.util.DaliKeyStrokes.CANCEL);
312         closeButton.putClientProperty("applicationAction", fr.ifremer.quadrige3.ui.swing.action.GoToHomeAction.class);
313     }
314 
315     protected ManageFractionsUIHandler createHandler() {
316         return new ManageFractionsUIHandler();
317     }
318 
319     protected void createManageFractionsNationalUI() {
320         $objectMap.put("manageFractionsNationalUI", manageFractionsNationalUI = new ManageFractionsNationalUI(this));
321         
322         manageFractionsNationalUI.setName("manageFractionsNationalUI");
323     }
324 
325     protected void createModel() {
326         $objectMap.put("model", model = getContextValue(ManageFractionsUIModel.class));
327     }
328 
329     /*-----------------------------------------------------------------------*/
330     /*------------------------ Internal jaxx methods ------------------------*/
331     /*-----------------------------------------------------------------------*/
332 
333     private void $completeSetup() {
334         allComponentsCreated = true;
335         if (log.isDebugEnabled()) {
336             log.debug(this);
337         }
338         // inline complete setup of $JPanel0
339         add(manageFractionsNationalUI);
340         add($JPanel1, BorderLayout.PAGE_END);
341         // inline complete setup of $JPanel1
342         $JPanel1.add(closeButton);
343         
344         // apply 5 property setters
345         closeButton.setAlignmentX(Component.CENTER_ALIGNMENT);
346         manageFractionsNationalUI.setBorder(BorderFactory.createTitledBorder(t("dali.manage.referential.national.label")));
347         closeButton.setIcon(SwingUtil.createActionIcon("cancel"));
348     }
349 
350     private void $initialize() {
351         if (allComponentsCreated) {
352             return;
353         }
354         if (log.isDebugEnabled()) {
355             log.debug(this);
356         }
357         handler.beforeInit(this);
358         $objectMap.put("$JPanel0", $JPanel0);
359         createModel();
360         createBroker();
361         createManageFractionsNationalUI();
362         // inline creation of $JPanel1
363         $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
364         
365         $JPanel1.setName("$JPanel1");
366         $JPanel1.setLayout(new GridLayout(1,0));
367         createCloseButton();
368         // inline creation of $JPanel0
369         setName("$JPanel0");
370         setLayout(new BorderLayout());
371         
372         $completeSetup();
373         handler.afterInit(this);
374     }
375 
376 }