1 package fr.ifremer.reefdb.ui.swing.content.manage.context.menu;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
28 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
29 import fr.ifremer.quadrige3.ui.swing.component.bean.ExtendedComboBox;
30 import fr.ifremer.reefdb.dto.configuration.context.ContextDTO;
31 import fr.ifremer.reefdb.ui.swing.ReefDbHelpBroker;
32 import fr.ifremer.reefdb.ui.swing.ReefDbUIContext;
33 import fr.ifremer.reefdb.ui.swing.util.ReefDbUI;
34 import java.awt.BorderLayout;
35 import java.awt.Component;
36 import java.awt.Container;
37 import java.awt.FlowLayout;
38 import java.awt.GridBagConstraints;
39 import java.awt.Insets;
40 import java.util.ArrayList;
41 import java.util.HashMap;
42 import java.util.List;
43 import java.util.Map;
44 import java.util.TreeMap;
45 import javax.swing.BorderFactory;
46 import javax.swing.Box;
47 import javax.swing.BoxLayout;
48 import javax.swing.JButton;
49 import javax.swing.JLabel;
50 import javax.swing.JPanel;
51 import javax.swing.JSeparator;
52 import javax.swing.SwingConstants;
53 import jaxx.runtime.JAXXBinding;
54 import jaxx.runtime.JAXXContext;
55 import jaxx.runtime.JAXXObject;
56 import jaxx.runtime.JAXXObjectDescriptor;
57 import jaxx.runtime.JAXXUtil;
58 import jaxx.runtime.SwingUtil;
59 import jaxx.runtime.context.DefaultJAXXContext;
60 import jaxx.runtime.swing.Table;
61 import jaxx.runtime.swing.help.JAXXHelpUI;
62 import org.apache.commons.logging.Log;
63 import org.apache.commons.logging.LogFactory;
64 import static org.nuiton.i18n.I18n.t;
65
66 public class ManageContextsListMenuUI extends Table implements JAXXHelpUI<ReefDbHelpBroker>, ReefDbUI<ManageContextsListMenuUIModel, ManageContextsListMenuUIHandler>, JAXXObject {
67
68
69
70
71
72 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAAK1US28cRRCu3eza3rUDwcbGBCPFjg+JUGaDOCHziB9YsbUmyLuRrKx49Mz0rjvpne509+CxrCB+Aj8B7lyQuHFCHDhz4IL4Cwhx4Iqo7hnP7toTrw+x5LG7uuqrr6q6vu//gqpWsPyYJImn4siwPvV21w8OHviPaWC2qA4Uk0YoSH9KZSh3YDrM7drAzU7Thjey8Mam6EsR0Wgoeq0JdW2OOdWHlBoDb45GBFo3Wvn1WiJjdYqakypC/fafv8vfhF9/VwZIJLKbxlJujIsaVFJpQpmFBmYx05ekwUnUQxqKRT3ke9XaNjnR+mPSp0/hK5hswoQkCsEMrFy+ZIfh4hNpYHK1TXxO7xp40FUe6yrap8pTlHZD34uZp48wvReIyCCa1ycR6dH0mOCRRrG352ybqUk3mTZ7aH64I6XLMmGg2hch5QbaLzjDnoUdpJnwlXhClYG3Lsizj+ct/z7GbTjvQXjN5vqERJbp4sjQ0kjXJ+tby0OmVnddAHZv1o4nyVxTq3WazX3nglP+xKc8/Z4Nc0brP/+8MBysLwy8P1Th05iEivXoO8PNzMbv+ZRE3kcJtjakoQveEMlohpnV3RbFd0TwkWAhCyOM8pvRYuY15biOTEQbsTEi0nnBr406zmhKVHCYemE1I+Cp1XouD7fUVXrXnq9n7VbwxshAcD+9wX4OFqjUgaqK0YwT7Jxf6X28Spd58cwyW0B3+9/C3O8//fnj9ukG1zD3fKHrkADhZkklJD49ZlO/nK5vbBhv7BG51kEU1y6nTksFxFrZNZLDfK/YcM+Ge/eJPkSI6uQfP/+y8MVvV6C8DXUuSLhNrP8O1Myhwi4IHibyw3uO0czRFH6v4e8VA/Uu44Yq+3QNVIyK8c9V9D/aooFwg8X17BKu0V6z9n2qrSA61wQ7tVTQqZyuX/v137nWD/dOu1VC9q8/133QseojmGARZxF1ipeJWaHCTUtN41AMRKtIxgCF7NrZV55t9h33fftcc0pWMIQKrWCsn2y4/9KuHnuBosTQNjOchunNLXNrJZMSXMgu66XKZKzLyu3bz5LYZnnX9cD+twbDgiLHcCnju+f21W/becyfFOz8MzsTtBlYHvBwEhkM6aLnUIrIFMnPOFoV1KfPiZScBcTu+rrbeAOvnrTcVqdnL7CTQH514s47NhNUuiwKc87XM86ph5eKQkrWwLQRgreZbDvXxUJXw2RRVSPyMq4cO3FOjgU6w0vvhcSQGz6SRCn64Bx2yX4XLoE4ZRW2fSzde/2sGGdpLI41f3oBwsolmNQJZ70I35w5uABp9RJIFRaksnwBxv+tOl4aqQkAAA==";
73 private static final Log log = LogFactory.getLog(ManageContextsListMenuUI.class);
74 private static final long serialVersionUID = 1L;
75
76
77
78
79
80 protected List<Object> $activeBindings = new ArrayList<Object>();
81 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
82 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
83 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
84 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
85 private boolean allComponentsCreated;
86 protected final JAXXContext delegateContext = new DefaultJAXXContext();
87
88
89
90
91
92 protected ReefDbHelpBroker broker;
93 protected ExtendedComboBox<ContextDTO> contextsLabelsCombo;
94 protected JLabel contextsLabelsLabel;
95 protected final ManageContextsListMenuUIHandler handler = createHandler();
96 protected Table menuPanel;
97 protected ManageContextsListMenuUIModel model;
98 protected JButton searchButton;
99 protected JPanel selectionButtonsPanel;
100
101
102
103
104
105 private JLabel $JLabel0;
106 private JPanel $JPanel0;
107 private JSeparator $JSeparator0;
108 private ManageContextsListMenuUI $Table0 = this;
109
110
111
112
113
114 public ManageContextsListMenuUI(ApplicationUI parentUI) {
115 ApplicationUIUtil.setParentUI(this, parentUI);
116 $initialize();
117 }
118
119 public ManageContextsListMenuUI() {
120 $initialize();
121 }
122
123 public ManageContextsListMenuUI(JAXXContext parentContext) {
124 JAXXUtil.initContext(this, parentContext);
125 $initialize();
126 }
127
128
129
130
131
132 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
133 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
134 }
135
136
137
138
139
140 @Override
141 public void applyDataBinding(String $binding) {
142 if (allComponentsCreated && $bindings.containsKey($binding)) {
143 getDataBinding($binding).applyDataBinding();
144 }
145 processDataBinding($binding);
146 }
147
148 @Override
149 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
150 super.firePropertyChange(propertyName, oldValue, newValue);
151 }
152
153 @Override
154 public Map<String, Object> get$objectMap() {
155 return $objectMap;
156 }
157
158 @Override
159 public JAXXBinding getDataBinding(String bindingId) {
160 return $bindings.get(bindingId);
161 }
162
163 @Override
164 public JAXXBinding[] getDataBindings() {
165 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
166 }
167
168 @Override
169 public Object getObjectById(String id) {
170 return $objectMap.get(id);
171 }
172
173 @Override
174 public void processDataBinding(String $binding, boolean $force) {
175 if (!$force && $activeBindings.contains($binding)) {
176 return;
177 }
178 $activeBindings.add($binding);
179 try {
180 if (allComponentsCreated && $bindings.containsKey($binding)) {
181 getDataBinding($binding).processDataBinding();
182 }
183 } finally {
184 $activeBindings.remove($binding);
185 }
186 }
187
188 @Override
189 public void processDataBinding(String $binding) {
190 processDataBinding($binding, false);
191 }
192
193 @Override
194 public void registerDataBinding(JAXXBinding binding) {
195 $bindings.put(binding.getId(), binding);
196 }
197
198 @Override
199 public void removeDataBinding(String $binding) {
200 if (allComponentsCreated && $bindings.containsKey($binding)) {
201 getDataBinding($binding).removeDataBinding();
202 }
203 }
204
205
206
207
208
209 @Override
210 public <T> T getContextValue(Class<T> clazz) {
211 return delegateContext.getContextValue(clazz, null);
212 }
213
214 @Override
215 public <T> T getContextValue(Class<T> clazz, String name) {
216 return delegateContext.getContextValue(clazz, name);
217 }
218
219 @Override
220 public JAXXContext getDelegateContext() {
221 return delegateContext;
222 }
223
224 @Override
225 public <O extends Container> O getParentContainer(Class<O> clazz) {
226 return SwingUtil.getParentContainer(this, clazz);
227 }
228
229 @Override
230 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
231 return SwingUtil.getParentContainer(source, clazz);
232 }
233
234 @Override
235 public <T> void removeContextValue(Class<T> clazz) {
236 delegateContext.removeContextValue(clazz, null);
237 }
238
239 @Override
240 public <T> void removeContextValue(Class<T> clazz, String name) {
241 delegateContext.removeContextValue(clazz, name);
242 }
243
244 @Override
245 public <T> void setContextValue(T o) {
246 delegateContext.setContextValue(o, null);
247 }
248
249 @Override
250 public <T> void setContextValue(T o, String name) {
251 delegateContext.setContextValue(o, name);
252 }
253
254
255
256
257
258 public ReefDbHelpBroker getBroker() {
259 return broker;
260 }
261
262 public ExtendedComboBox<ContextDTO> getContextsLabelsCombo() {
263 return contextsLabelsCombo;
264 }
265
266 public JLabel getContextsLabelsLabel() {
267 return contextsLabelsLabel;
268 }
269
270 public ManageContextsListMenuUIHandler getHandler() {
271 return handler;
272 }
273
274 public Table getMenuPanel() {
275 return menuPanel;
276 }
277
278 public ManageContextsListMenuUIModel getModel() {
279 return model;
280 }
281
282 public JButton getSearchButton() {
283 return searchButton;
284 }
285
286 public JPanel getSelectionButtonsPanel() {
287 return selectionButtonsPanel;
288 }
289
290
291
292
293
294 @Override
295 public void registerHelpId(ReefDbHelpBroker broker, Component component, String helpId) {
296 broker.installUI(component, helpId);
297 }
298
299 @Override
300 public void showHelp(String helpId) {
301 getBroker().showHelp(this, helpId);
302 }
303
304
305
306
307
308 protected JLabel get$JLabel0() {
309 return $JLabel0;
310 }
311
312 protected JPanel get$JPanel0() {
313 return $JPanel0;
314 }
315
316 protected JSeparator get$JSeparator0() {
317 return $JSeparator0;
318 }
319
320
321
322
323
324 protected void addChildrenToMenuPanel() {
325 if (!allComponentsCreated) {
326 return;
327 }
328 menuPanel.add($JPanel0, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
329 menuPanel.add($JSeparator0, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
330 menuPanel.add(selectionButtonsPanel, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
331 }
332
333 protected void addChildrenToSelectionButtonsPanel() {
334 if (!allComponentsCreated) {
335 return;
336 }
337 selectionButtonsPanel.add(searchButton);
338 }
339
340 protected void createBroker() {
341 $objectMap.put("broker", broker = new ReefDbHelpBroker("reefdb.home.help"));
342 }
343
344 protected void createContextsLabelsCombo() {
345 $objectMap.put("contextsLabelsCombo", contextsLabelsCombo = new ExtendedComboBox<ContextDTO>(this));
346
347 contextsLabelsCombo.setName("contextsLabelsCombo");
348 contextsLabelsCombo.setFilterable(true);
349 contextsLabelsCombo.setShowDecorator(false);
350 contextsLabelsCombo.setShowReset(true);
351 }
352
353 protected void createContextsLabelsLabel() {
354 $objectMap.put("contextsLabelsLabel", contextsLabelsLabel = new JLabel());
355
356 contextsLabelsLabel.setName("contextsLabelsLabel");
357 contextsLabelsLabel.setText(t("reefdb.context.contextsList.label"));
358 }
359
360 protected ManageContextsListMenuUIHandler createHandler() {
361 return new ManageContextsListMenuUIHandler();
362 }
363
364 protected void createMenuPanel() {
365 $objectMap.put("menuPanel", menuPanel = new Table());
366
367 menuPanel.setName("menuPanel");
368 }
369
370 protected void createModel() {
371 $objectMap.put("model", model = getContextValue(ManageContextsListMenuUIModel.class));
372 }
373
374 protected void createSearchButton() {
375 $objectMap.put("searchButton", searchButton = new JButton());
376
377 searchButton.setName("searchButton");
378 searchButton.setText(t("reefdb.action.search.label"));
379 searchButton.setToolTipText(t("reefdb.action.search.tip"));
380 searchButton.putClientProperty("applicationAction", SearchAction.class);
381 }
382
383 protected void createSelectionButtonsPanel() {
384 $objectMap.put("selectionButtonsPanel", selectionButtonsPanel = new JPanel());
385
386 selectionButtonsPanel.setName("selectionButtonsPanel");
387 selectionButtonsPanel.setLayout(new FlowLayout());
388 }
389
390
391
392
393
394 private void $completeSetup() {
395 allComponentsCreated = true;
396 if (log.isDebugEnabled()) {
397 log.debug(this);
398 }
399
400 add(menuPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
401 add($JLabel0, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
402 addChildrenToMenuPanel();
403
404 $JPanel0.add(contextsLabelsLabel, BorderLayout.PAGE_START);
405 $JPanel0.add(contextsLabelsCombo, BorderLayout.CENTER);
406 addChildrenToSelectionButtonsPanel();
407
408
409 contextsLabelsCombo.setBeanType(ContextDTO.class);
410 searchButton.setAlignmentX(Component.CENTER_ALIGNMENT);
411 menuPanel.setBorder(BorderFactory.createTitledBorder(t("reefdb.config.menu.title")));
412 contextsLabelsLabel.setLabelFor(contextsLabelsCombo);
413 searchButton.setIcon(SwingUtil.createActionIcon("find"));
414 }
415
416 private void $initialize() {
417 if (allComponentsCreated) {
418 return;
419 }
420 if (log.isDebugEnabled()) {
421 log.debug(this);
422 }
423 handler.beforeInit(this);
424 $objectMap.put("$Table0", $Table0);
425 createModel();
426 createBroker();
427 createMenuPanel();
428
429 $objectMap.put("$JPanel0", $JPanel0 = new JPanel());
430
431 $JPanel0.setName("$JPanel0");
432 $JPanel0.setLayout(new BorderLayout());
433 createContextsLabelsLabel();
434 createContextsLabelsCombo();
435
436 $objectMap.put("$JSeparator0", $JSeparator0 = new JSeparator(SwingConstants.HORIZONTAL));
437
438 $JSeparator0.setName("$JSeparator0");
439 createSelectionButtonsPanel();
440 createSearchButton();
441
442 $objectMap.put("$JLabel0", $JLabel0 = new JLabel());
443
444 $JLabel0.setName("$JLabel0");
445
446 setName("$Table0");
447
448 $completeSetup();
449 handler.afterInit(this);
450 }
451
452 }