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