1 package fr.ifremer.dali.ui.swing.content.manage.referential.taxongroup.menu;
2
3 import fr.ifremer.dali.dto.referential.TaxonGroupDTO;
4 import fr.ifremer.dali.ui.swing.DaliHelpBroker;
5 import fr.ifremer.dali.ui.swing.DaliUIContext;
6 import fr.ifremer.dali.ui.swing.content.manage.filter.element.menu.ApplyFilterUI;
7 import fr.ifremer.dali.ui.swing.content.manage.referential.menu.ReferentialMenuUI;
8 import fr.ifremer.dali.ui.swing.util.DaliUI;
9 import fr.ifremer.quadrige3.ui.core.dto.referential.StatusDTO;
10 import fr.ifremer.quadrige3.ui.swing.ApplicationUI;
11 import fr.ifremer.quadrige3.ui.swing.ApplicationUIUtil;
12 import fr.ifremer.quadrige3.ui.swing.component.bean.ExtendedComboBox;
13 import java.awt.BorderLayout;
14 import java.awt.Component;
15 import java.awt.Container;
16 import java.awt.GridBagConstraints;
17 import java.awt.GridLayout;
18 import java.awt.Insets;
19 import java.awt.LayoutManager;
20 import java.awt.event.KeyEvent;
21 import java.awt.event.KeyListener;
22 import java.util.ArrayList;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26 import java.util.TreeMap;
27 import javax.swing.BorderFactory;
28 import javax.swing.Box;
29 import javax.swing.BoxLayout;
30 import javax.swing.JButton;
31 import javax.swing.JLabel;
32 import javax.swing.JPanel;
33 import javax.swing.JTextField;
34 import javax.swing.SwingConstants;
35 import jaxx.runtime.JAXXBinding;
36 import jaxx.runtime.JAXXContext;
37 import jaxx.runtime.JAXXObject;
38 import jaxx.runtime.JAXXObjectDescriptor;
39 import jaxx.runtime.JAXXUtil;
40 import jaxx.runtime.SwingUtil;
41 import jaxx.runtime.binding.DefaultJAXXBinding;
42 import jaxx.runtime.context.DefaultJAXXContext;
43 import jaxx.runtime.swing.Table;
44 import jaxx.runtime.swing.help.JAXXHelpUI;
45 import org.apache.commons.logging.Log;
46 import org.apache.commons.logging.LogFactory;
47 import static org.nuiton.i18n.I18n.t;
48
49 public class TaxonGroupMenuUI extends JPanel implements JAXXHelpUI<DaliHelpBroker>, ReferentialMenuUI<TaxonGroupMenuUIModel, TaxonGroupMenuUIHandler>, JAXXObject {
50
51
52
53
54
55 public static final String BINDING_LABEL_EDITOR_TEXT = "labelEditor.text";
56 public static final String BINDING_NAME_EDITOR_TEXT = "nameEditor.text";
57 public static final String BINDING_PARENT_TAXON_GROUP_COMBO_SELECTED_ITEM = "parentTaxonGroupCombo.selectedItem";
58 public static final String BINDING_STATUS_COMBO_SELECTED_ITEM = "statusCombo.selectedItem";
59
60
61
62
63
64 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVXzW8bRRQfm9iJ81HaOAlBDbRNK5GAtGkpH4IU2nzU1FUCUeJKgRxgvDt2pqx3t7OzZC2riD+BPwHuXJC4AQeEBGcOXBASVy4IceCKeG/W3g9nHW+IsOSNZ97X771583ubL/4gBVeQKw+p72vCsyRvMe3+2v7+O/WHTJebzNUFd6QtSPDJ5Un+gEwY4b4rydWDLTRf6ZqvbNgtx7aYFbNe3SLjrmybzD1kTEryTNJCd92VvVC86jue6HkNQaV5/eyvP/OfGp98nifEdwDdLKRyeZhVlMnIFslzQ5JpiPQRXTGp1QQYgltNwDuFexsmdd23aYs9Ih+T0S1SdKgAZ5IsZk9Z+VD2viPJ2LX7O9Ri5nVJag2h8YZgLSY0g5pc87jmHkF0TbctCc60FrVok2mCNRiG5dTUJPVtqylsz9FazPK0Gq7fwvU2LB9UHUfFKkpSaNkGMyV59/8Is42+o1jFurA/ZEKS5wYG24TVPbBZV5qRaQn9q5LAQWDN/a5BUCfUKoXKU9RxzHaFm5KJB1VJqllzaygTjZmgiruY01rcFwaYDuOcc0FTl9y2usjmE10VhKjRusmSdr3TvYHrGXzMh7LZoHeiSm7R+vGk1SZaXBxsCN1WtyV5I5b8I48agjfZzXgFuj2p1Rm1tLs+1MNghjJet/1kjB7wF1OAj5uIKQR2CR9XQ+mEkt41OPS8JHOJZGrMlxXOTCNp0gt2MyVYyYLbloz1fIQEhUEo3FlOSntuX0pxO+FKKj036fh6v1jVBrcWk+LZsB3WPSltyw1bcyZ5/hO6yagIlCQpJ4oR7KLiK6H+pAvq+mEker0rF+RiouOAIbWIISMKyx2QgvBgG1r04Dip7oIooNP5PjpFh0r6z1z5569//arS49B5iD2bqhobAcBtjrAduPEcQz8ZEKgnubmyTZ3VA1IKKqbmw0IKsL2uGMBBvAtorqG5do+6h+CiMPrLd9/PffDTEyRfgQa0qVGhqF8lJXkooAq2afjO7TsK0eTRGDzPw3cEeiS46ng3JayFB3+mQP9ok+m2oKpLCw1qurBfwv1d5uJI6qqO4GWRZLSj2POxD6VbSCldiL9e+vHv8t6Xd3rly0E6Tw9Uj0pYeI8UuWVyi6kh1J0vqUNnwnGZZ9jRHEmbLARmy/n+O95l2XX1rByrVg6J2xYGEvftzrr6FZS5remCUclqXJrMCCRLcmlRcSxQa4M3Aw6VqLC4vAyFwhg7qgL4a5ccY1FnCJw8XGFFJhU8o6c6qbT3GE8KaEWSSwpMtw3bwcRSelpgmIYonYMzAJsMUmFGVbIWvL8E7aE1mdzp87i0DBDHerDgUPpDZsKlcj1dwaY6MSaOylROlknppEGIsfywuLnQ+XRUB2W5lN4I8RlxuqQmOxHlRzlNJ3NClbSw0SzJntGFKCO8ggMSig2i0x5SbNJECc0kEwp0UisZm2Onb9tylNye8tPfrMWhkTM1JtDw9Pv4qsZ1itd/TZEAxt/A+RgsNR3pC+KPU7Wu4isbTLMeHavCPKsKEyhowbDU1IwNGhlgSds2a9ypKfWFgeqSp168+MD+r1nNdPZUpJPSGmlwywizmk+BmZrPXIrigEwSrxIZ+r1o0rYNyuTcLYNKerkOAOE95c1jvnP4LA/1iNvf4OPbdA8LGTCN4fCttR12gp8rZ0Zy7cweXjizhxuZPPxwgoeXz4zh1QwnMg7917Twf6b9Ezy9lgnLbyd4uJWFobkevCSfCcXvQ1D8C/HIx8ESEQAA";
65 private static final Log log = LogFactory.getLog(TaxonGroupMenuUI.class);
66 private static final long serialVersionUID = 1L;
67
68
69
70
71
72 protected List<Object> $activeBindings = new ArrayList<Object>();
73 protected Map<String, Object> $bindingSources = new HashMap<String, Object>();
74 protected final Map<String, JAXXBinding> $bindings = new TreeMap<String, JAXXBinding>();
75 protected Map<String, Object> $objectMap = new HashMap<String, Object>();
76 protected Map<?, ?> $previousValues = new HashMap<Object, Object>();
77 private boolean allComponentsCreated;
78 protected final JAXXContext delegateContext = new DefaultJAXXContext();
79
80
81
82
83
84 protected ApplyFilterUI applyFilterUI;
85 protected DaliHelpBroker broker;
86 protected JButton clearButton;
87 protected final TaxonGroupMenuUIHandler handler = createHandler();
88 protected JTextField labelEditor;
89 protected JLabel labelLabel;
90 protected JPanel menuPanel;
91 protected TaxonGroupMenuUIModel model;
92 protected JTextField nameEditor;
93 protected JLabel nameLabel;
94 protected ExtendedComboBox<TaxonGroupDTO> parentTaxonGroupCombo;
95 protected JLabel parentTaxonGroupLabel;
96 protected JButton searchButton;
97 protected JPanel selectionButtonsPanel;
98 protected Table selectionPanel;
99 protected ExtendedComboBox<StatusDTO> statusCombo;
100 protected JLabel statusLabel;
101
102
103
104
105
106 private TaxonGroupMenuUI $JPanel0 = this;
107 private JPanel $JPanel1;
108 private JPanel $JPanel2;
109 private JPanel $JPanel3;
110 private JPanel $JPanel4;
111
112
113
114
115
116 public TaxonGroupMenuUI(ApplicationUI parentUI) {
117 ApplicationUIUtil.setParentUI(this, parentUI);
118 $initialize();
119 }
120
121 public TaxonGroupMenuUI() {
122 $initialize();
123 }
124
125 public TaxonGroupMenuUI(JAXXContext parentContext) {
126 JAXXUtil.initContext(this, parentContext);
127 $initialize();
128 }
129
130 public TaxonGroupMenuUI(boolean param0) {
131 super(param0);
132 $initialize();
133 }
134
135 public TaxonGroupMenuUI(JAXXContext parentContext, boolean param1) {
136 super(param1);
137 JAXXUtil.initContext(this, parentContext);
138 $initialize();
139 }
140
141 public TaxonGroupMenuUI(LayoutManager param0) {
142 super(param0);
143 $initialize();
144 }
145
146 public TaxonGroupMenuUI(JAXXContext parentContext, LayoutManager param1) {
147 super(param1);
148 JAXXUtil.initContext(this, parentContext);
149 $initialize();
150 }
151
152 public TaxonGroupMenuUI(LayoutManager param0, boolean param1) {
153 super(param0 ,param1);
154 $initialize();
155 }
156
157 public TaxonGroupMenuUI(JAXXContext parentContext, LayoutManager param1, boolean param2) {
158 super(param1 ,param2);
159 JAXXUtil.initContext(this, parentContext);
160 $initialize();
161 }
162
163
164
165
166
167 public static JAXXObjectDescriptor $getJAXXObjectDescriptor() {
168 return JAXXUtil.decodeCompressedJAXXObjectDescriptor($jaxxObjectDescriptor);
169 }
170
171
172
173
174
175 @Override
176 public void applyDataBinding(String $binding) {
177 if (allComponentsCreated && $bindings.containsKey($binding)) {
178 getDataBinding($binding).applyDataBinding();
179 }
180 processDataBinding($binding);
181 }
182
183 @Override
184 public void firePropertyChange(String propertyName, Object oldValue, Object newValue) {
185 super.firePropertyChange(propertyName, oldValue, newValue);
186 }
187
188 @Override
189 public Map<String, Object> get$objectMap() {
190 return $objectMap;
191 }
192
193 @Override
194 public JAXXBinding getDataBinding(String bindingId) {
195 return $bindings.get(bindingId);
196 }
197
198 @Override
199 public JAXXBinding[] getDataBindings() {
200 return $bindings.values().toArray(new JAXXBinding[$bindings.size()]);
201 }
202
203 @Override
204 public Object getObjectById(String id) {
205 return $objectMap.get(id);
206 }
207
208 @Override
209 public void processDataBinding(String $binding, boolean $force) {
210 if (!$force && $activeBindings.contains($binding)) {
211 return;
212 }
213 $activeBindings.add($binding);
214 try {
215 if (allComponentsCreated && $bindings.containsKey($binding)) {
216 getDataBinding($binding).processDataBinding();
217 }
218 } finally {
219 $activeBindings.remove($binding);
220 }
221 }
222
223 @Override
224 public void processDataBinding(String $binding) {
225 processDataBinding($binding, false);
226 }
227
228 @Override
229 public void registerDataBinding(JAXXBinding binding) {
230 $bindings.put(binding.getId(), binding);
231 }
232
233 @Override
234 public void removeDataBinding(String $binding) {
235 if (allComponentsCreated && $bindings.containsKey($binding)) {
236 getDataBinding($binding).removeDataBinding();
237 }
238 }
239
240
241
242
243
244 @Override
245 public <T> T getContextValue(Class<T> clazz) {
246 return delegateContext.getContextValue(clazz, null);
247 }
248
249 @Override
250 public <T> T getContextValue(Class<T> clazz, String name) {
251 return delegateContext.getContextValue(clazz, name);
252 }
253
254 @Override
255 public JAXXContext getDelegateContext() {
256 return delegateContext;
257 }
258
259 @Override
260 public <O extends Container> O getParentContainer(Class<O> clazz) {
261 return SwingUtil.getParentContainer(this, clazz);
262 }
263
264 @Override
265 public <O extends Container> O getParentContainer(Object source, Class<O> clazz) {
266 return SwingUtil.getParentContainer(source, clazz);
267 }
268
269 @Override
270 public <T> void removeContextValue(Class<T> clazz) {
271 delegateContext.removeContextValue(clazz, null);
272 }
273
274 @Override
275 public <T> void removeContextValue(Class<T> clazz, String name) {
276 delegateContext.removeContextValue(clazz, name);
277 }
278
279 @Override
280 public <T> void setContextValue(T o) {
281 delegateContext.setContextValue(o, null);
282 }
283
284 @Override
285 public <T> void setContextValue(T o, String name) {
286 delegateContext.setContextValue(o, name);
287 }
288
289
290
291
292
293 public void doKeyReleased__on__labelEditor(KeyEvent event) {
294 if (log.isDebugEnabled()) {
295 log.debug(event);
296 }
297 handler.setText(event, "label");
298 }
299
300 public void doKeyReleased__on__nameEditor(KeyEvent event) {
301 if (log.isDebugEnabled()) {
302 log.debug(event);
303 }
304 handler.setText(event, "name");
305 }
306
307
308
309
310
311 public ApplyFilterUI getApplyFilterUI() {
312 return applyFilterUI;
313 }
314
315 public DaliHelpBroker getBroker() {
316 return broker;
317 }
318
319 public JButton getClearButton() {
320 return clearButton;
321 }
322
323 public TaxonGroupMenuUIHandler getHandler() {
324 return handler;
325 }
326
327 public JTextField getLabelEditor() {
328 return labelEditor;
329 }
330
331 public JLabel getLabelLabel() {
332 return labelLabel;
333 }
334
335 public JPanel getMenuPanel() {
336 return menuPanel;
337 }
338
339 public TaxonGroupMenuUIModel getModel() {
340 return model;
341 }
342
343 public JTextField getNameEditor() {
344 return nameEditor;
345 }
346
347 public JLabel getNameLabel() {
348 return nameLabel;
349 }
350
351 public ExtendedComboBox<TaxonGroupDTO> getParentTaxonGroupCombo() {
352 return parentTaxonGroupCombo;
353 }
354
355 public JLabel getParentTaxonGroupLabel() {
356 return parentTaxonGroupLabel;
357 }
358
359 public JButton getSearchButton() {
360 return searchButton;
361 }
362
363 public JPanel getSelectionButtonsPanel() {
364 return selectionButtonsPanel;
365 }
366
367 public Table getSelectionPanel() {
368 return selectionPanel;
369 }
370
371 public ExtendedComboBox<StatusDTO> getStatusCombo() {
372 return statusCombo;
373 }
374
375 public JLabel getStatusLabel() {
376 return statusLabel;
377 }
378
379
380
381
382
383 @Override
384 public void registerHelpId(DaliHelpBroker broker, Component component, String helpId) {
385 broker.installUI(component, helpId);
386 }
387
388 @Override
389 public void showHelp(String helpId) {
390 getBroker().showHelp(this, helpId);
391 }
392
393
394
395
396
397 protected JPanel get$JPanel1() {
398 return $JPanel1;
399 }
400
401 protected JPanel get$JPanel2() {
402 return $JPanel2;
403 }
404
405 protected JPanel get$JPanel3() {
406 return $JPanel3;
407 }
408
409 protected JPanel get$JPanel4() {
410 return $JPanel4;
411 }
412
413
414
415
416
417 protected void addChildrenToMenuPanel() {
418 if (!allComponentsCreated) {
419 return;
420 }
421 menuPanel.add(applyFilterUI);
422 menuPanel.add(selectionPanel);
423 menuPanel.add(selectionButtonsPanel);
424 }
425
426 protected void addChildrenToSelectionButtonsPanel() {
427 if (!allComponentsCreated) {
428 return;
429 }
430 selectionButtonsPanel.add(clearButton);
431 selectionButtonsPanel.add(searchButton);
432 }
433
434 protected void addChildrenToSelectionPanel() {
435 if (!allComponentsCreated) {
436 return;
437 }
438 selectionPanel.add($JPanel1, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
439 selectionPanel.add($JPanel2, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
440 selectionPanel.add($JPanel3, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
441 selectionPanel.add($JPanel4, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, 10, 1, new Insets(3, 3, 3, 3), 0, 0));
442 }
443
444 protected void createApplyFilterUI() {
445 $objectMap.put("applyFilterUI", applyFilterUI = new ApplyFilterUI(this));
446
447 applyFilterUI.setName("applyFilterUI");
448 }
449
450 protected void createBroker() {
451 $objectMap.put("broker", broker = new DaliHelpBroker("dali.home.help"));
452 }
453
454 protected void createClearButton() {
455 $objectMap.put("clearButton", clearButton = new JButton());
456
457 clearButton.setName("clearButton");
458 clearButton.setText(t("dali.action.search.clear.label"));
459 clearButton.setToolTipText(t("dali.action.search.clear.tip"));
460 clearButton.putClientProperty("applicationAction", ClearAction.class);
461 }
462
463 protected TaxonGroupMenuUIHandler createHandler() {
464 return new TaxonGroupMenuUIHandler();
465 }
466
467 protected void createLabelEditor() {
468 $objectMap.put("labelEditor", labelEditor = new JTextField());
469
470 labelEditor.setName("labelEditor");
471 labelEditor.setColumns(15);
472 labelEditor.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__labelEditor"));
473 }
474
475 protected void createLabelLabel() {
476 $objectMap.put("labelLabel", labelLabel = new JLabel());
477
478 labelLabel.setName("labelLabel");
479 labelLabel.setText(t("dali.property.label"));
480 }
481
482 protected void createMenuPanel() {
483 $objectMap.put("menuPanel", menuPanel = new JPanel());
484
485 menuPanel.setName("menuPanel");
486 menuPanel.setLayout(new BoxLayout(menuPanel, BoxLayout.PAGE_AXIS));
487 }
488
489 protected void createModel() {
490 $objectMap.put("model", model = getContextValue(TaxonGroupMenuUIModel.class));
491 }
492
493 protected void createNameEditor() {
494 $objectMap.put("nameEditor", nameEditor = new JTextField());
495
496 nameEditor.setName("nameEditor");
497 nameEditor.setColumns(15);
498 nameEditor.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__nameEditor"));
499 }
500
501 protected void createNameLabel() {
502 $objectMap.put("nameLabel", nameLabel = new JLabel());
503
504 nameLabel.setName("nameLabel");
505 nameLabel.setText(t("dali.property.name"));
506 }
507
508 protected void createParentTaxonGroupCombo() {
509 $objectMap.put("parentTaxonGroupCombo", parentTaxonGroupCombo = new ExtendedComboBox<TaxonGroupDTO>(this));
510
511 parentTaxonGroupCombo.setName("parentTaxonGroupCombo");
512 parentTaxonGroupCombo.setFilterable(true);
513 parentTaxonGroupCombo.setShowDecorator(false);
514 parentTaxonGroupCombo.setProperty("parentTaxonGroup");
515 parentTaxonGroupCombo.setShowReset(true);
516 }
517
518 protected void createParentTaxonGroupLabel() {
519 $objectMap.put("parentTaxonGroupLabel", parentTaxonGroupLabel = new JLabel());
520
521 parentTaxonGroupLabel.setName("parentTaxonGroupLabel");
522 parentTaxonGroupLabel.setText(t("dali.property.taxonGroup.parent"));
523 }
524
525 protected void createSearchButton() {
526 $objectMap.put("searchButton", searchButton = new JButton());
527
528 searchButton.setName("searchButton");
529 searchButton.setText(t("dali.action.search.label"));
530 searchButton.setToolTipText(t("dali.action.search.tip"));
531 searchButton.putClientProperty("applicationAction", SearchAction.class);
532 }
533
534 protected void createSelectionButtonsPanel() {
535 $objectMap.put("selectionButtonsPanel", selectionButtonsPanel = new JPanel());
536
537 selectionButtonsPanel.setName("selectionButtonsPanel");
538 selectionButtonsPanel.setLayout(new GridLayout(1,0));
539 }
540
541 protected void createSelectionPanel() {
542 $objectMap.put("selectionPanel", selectionPanel = new Table());
543
544 selectionPanel.setName("selectionPanel");
545 }
546
547 protected void createStatusCombo() {
548 $objectMap.put("statusCombo", statusCombo = new ExtendedComboBox<StatusDTO>(this));
549
550 statusCombo.setName("statusCombo");
551 statusCombo.setFilterable(true);
552 statusCombo.setShowDecorator(false);
553 statusCombo.setProperty("status");
554 statusCombo.setShowReset(true);
555 }
556
557 protected void createStatusLabel() {
558 $objectMap.put("statusLabel", statusLabel = new JLabel());
559
560 statusLabel.setName("statusLabel");
561 statusLabel.setText(t("dali.property.status"));
562 }
563
564
565
566
567
568 private void $completeSetup() {
569 allComponentsCreated = true;
570 if (log.isDebugEnabled()) {
571 log.debug(this);
572 }
573
574 add(menuPanel);
575 addChildrenToMenuPanel();
576 addChildrenToSelectionPanel();
577
578 $JPanel1.add(parentTaxonGroupLabel, BorderLayout.PAGE_START);
579 $JPanel1.add(parentTaxonGroupCombo, BorderLayout.CENTER);
580
581 $JPanel2.add(labelLabel, BorderLayout.PAGE_START);
582 $JPanel2.add(labelEditor);
583
584 $JPanel3.add(nameLabel, BorderLayout.PAGE_START);
585 $JPanel3.add(nameEditor);
586
587 $JPanel4.add(statusLabel, BorderLayout.PAGE_START);
588 $JPanel4.add(statusCombo, BorderLayout.CENTER);
589 addChildrenToSelectionButtonsPanel();
590
591
592 JAXXUtil.applyDataBinding(this, $bindings.keySet());
593
594
595 parentTaxonGroupCombo.setBeanType(TaxonGroupDTO.class);
596 statusCombo.setBeanType(StatusDTO.class);
597 clearButton.setAlignmentX(Component.CENTER_ALIGNMENT);
598 searchButton.setAlignmentX(Component.CENTER_ALIGNMENT);
599 selectionPanel.setBorder(BorderFactory.createTitledBorder(t("dali.config.menu.title")));
600 parentTaxonGroupLabel.setLabelFor(parentTaxonGroupCombo);
601 parentTaxonGroupCombo.setBean(model);
602 labelLabel.setLabelFor(labelEditor);
603 nameLabel.setLabelFor(nameEditor);
604 statusLabel.setLabelFor(statusCombo);
605 statusCombo.setBean(model);
606 clearButton.setIcon(SwingUtil.createActionIcon("reset"));
607 searchButton.setIcon(SwingUtil.createActionIcon("find"));
608 }
609
610 private void $initialize() {
611 if (allComponentsCreated) {
612 return;
613 }
614 if (log.isDebugEnabled()) {
615 log.debug(this);
616 }
617 handler.beforeInit(this);
618 $objectMap.put("$JPanel0", $JPanel0);
619 createModel();
620 createBroker();
621 createMenuPanel();
622 createApplyFilterUI();
623 createSelectionPanel();
624
625 $objectMap.put("$JPanel1", $JPanel1 = new JPanel());
626
627 $JPanel1.setName("$JPanel1");
628 $JPanel1.setLayout(new BorderLayout());
629 createParentTaxonGroupLabel();
630 createParentTaxonGroupCombo();
631
632 $objectMap.put("$JPanel2", $JPanel2 = new JPanel());
633
634 $JPanel2.setName("$JPanel2");
635 $JPanel2.setLayout(new BorderLayout());
636 createLabelLabel();
637 createLabelEditor();
638
639 $objectMap.put("$JPanel3", $JPanel3 = new JPanel());
640
641 $JPanel3.setName("$JPanel3");
642 $JPanel3.setLayout(new BorderLayout());
643 createNameLabel();
644 createNameEditor();
645
646 $objectMap.put("$JPanel4", $JPanel4 = new JPanel());
647
648 $JPanel4.setName("$JPanel4");
649 $JPanel4.setLayout(new BorderLayout());
650 createStatusLabel();
651 createStatusCombo();
652 createSelectionButtonsPanel();
653 createClearButton();
654 createSearchButton();
655
656 setName("$JPanel0");
657
658
659 $registerDefaultBindings();
660 $completeSetup();
661 handler.afterInit(this);
662 }
663
664 private void $registerDefaultBindings() {
665
666 registerDataBinding(new DefaultJAXXBinding(this, BINDING_PARENT_TAXON_GROUP_COMBO_SELECTED_ITEM, true) {
667
668 @Override
669 public void applyDataBinding() {
670 if (model != null) {
671 model.addPropertyChangeListener("parentTaxonGroup", this);
672 }
673 }
674
675 @Override
676 public void processDataBinding() {
677 if (model != null) {
678 parentTaxonGroupCombo.setSelectedItem(model.getParentTaxonGroup());
679 }
680 }
681
682 @Override
683 public void removeDataBinding() {
684 if (model != null) {
685 model.removePropertyChangeListener("parentTaxonGroup", this);
686 }
687 }
688 });
689 registerDataBinding(new DefaultJAXXBinding(this, BINDING_LABEL_EDITOR_TEXT, true) {
690
691 @Override
692 public void applyDataBinding() {
693 if (model != null) {
694 model.addPropertyChangeListener("label", this);
695 }
696 }
697
698 @Override
699 public void processDataBinding() {
700 if (model != null) {
701 SwingUtil.setText(labelEditor, model.getLabel());
702 }
703 }
704
705 @Override
706 public void removeDataBinding() {
707 if (model != null) {
708 model.removePropertyChangeListener("label", this);
709 }
710 }
711 });
712 registerDataBinding(new DefaultJAXXBinding(this, BINDING_NAME_EDITOR_TEXT, true) {
713
714 @Override
715 public void applyDataBinding() {
716 if (model != null) {
717 model.addPropertyChangeListener("name", this);
718 }
719 }
720
721 @Override
722 public void processDataBinding() {
723 if (model != null) {
724 SwingUtil.setText(nameEditor, model.getName());
725 }
726 }
727
728 @Override
729 public void removeDataBinding() {
730 if (model != null) {
731 model.removePropertyChangeListener("name", this);
732 }
733 }
734 });
735 registerDataBinding(new DefaultJAXXBinding(this, BINDING_STATUS_COMBO_SELECTED_ITEM, true) {
736
737 @Override
738 public void applyDataBinding() {
739 if (model != null) {
740 model.addPropertyChangeListener("status", this);
741 }
742 }
743
744 @Override
745 public void processDataBinding() {
746 if (model != null) {
747 statusCombo.setSelectedItem(model.getStatus());
748 }
749 }
750
751 @Override
752 public void removeDataBinding() {
753 if (model != null) {
754 model.removePropertyChangeListener("status", this);
755 }
756 }
757 });
758 }
759
760 }