1 package fr.ifremer.dali.ui.swing.content.manage.referential.department.menu;
2
3 import fr.ifremer.dali.dto.referential.DepartmentDTO;
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 DepartmentMenuUI extends JPanel implements JAXXHelpUI<DaliHelpBroker>, ReferentialMenuUI<DepartmentMenuUIModel, DepartmentMenuUIHandler>, JAXXObject {
50
51
52
53
54
55 public static final String BINDING_CODE_EDITOR_TEXT = "codeEditor.text";
56 public static final String BINDING_NAME_EDITOR_TEXT = "nameEditor.text";
57 public static final String BINDING_PARENT_COMBO_SELECTED_ITEM = "parentCombo.selectedItem";
58 public static final String BINDING_STATUS_COMBO_SELECTED_ITEM = "statusCombo.selectedItem";
59
60
61
62
63
64 private static final String $jaxxObjectDescriptor = "H4sIAAAAAAAAALVWS29bRRQem9iJ8yhtXgpqoCWtRMpi3FIeghTaPGrVVQJR4kqBLGB879iZcn3v7dwxcRQV8RP4CbBng8QOWCAW7JBYsEFI3bJBiAVbxDkz9n041480IlJuMjPn8X1nZr4zX/1JcoEkLz5krRaVTVeJBqf3V/f23qs+5Jba4IElha88ScxPJkuy+2TCDucDRa7sb6J7se1eXPcavudyN+a9sknGA3Xk8OCAc6XI80kPKwiKu+HySstvyk7UEFRa1C/+/iv7uf3Zl1lCWj6gmwMqlwd5RUxGNklW2IpMQ6ZPWNFhbh1gSOHWAe8Uzq07LAjeZQ3+iHxKRjdJ3mcSgimyNDxlHUP7t3xFxq7e32Yud64rUqlJKmqSN7ikNnMEbQoaHEJ2anmugmC0wVxW51TyGse0gjnU5gBBNfQqd5t0IxxvwfBB2fd1rrwiuYZnc0eR9/+PNFsYO8qVr0rvYy4Vealnsg0Y3QOfNW0ZuRYwvi4JbATWvNV2MHVCq0JoPMV83zkqCUdx+aCsSHlYbjXtQrnDI06r8ViYYDrMcy4AS0sJz20jW0icKpOiwqoOT/p1dvcGjmfxsxARtaBmm6x6kqieRKuLofE4Gt+1BRwkReYT1hXeUiXBHTvp0Un9SlpqF45wmOUSfq5EqXDRpMKZpeRqJ+zNlLAT5jYkA1/rXoa7UfUUeTu2VY+azJaizm/G96t9g2iVM5febcHu2dzWzmteKxm5A+rVNFCBYqoZJEFd717WcXGqmFyeCzd+ramU5wbhIZxN7vSE5XAmjZEiM4kdMrNo+HpoPxmAuXUQLb3VXpfkYuJsgRbSSAsjscrsk5xswjQcxv2T8rkDS0Y4F7qEEwPq1X/nZ3799vdvSh21XIDcc6mmMbEHFfOl58PdFpj6WSOVTSWc4hbzV/ZJwVRMd4LFFGC77WUAB/kuoDtFd3qPBQcQIjf62w8/zn/0yzMkWyLjjsfsEkP7MimoAwlV8By75d++oxFNHo7B9zz8jsDBNZcab6GCsWzCnymwP9zglieZvjq5GnMCmC/g/A4PsPm0TUfwoCkyeqx18nELSreYUroQf7Xw0z8zu1/f6ZQvA3Se62kelTD3AckL1xEu1+2m3UlS28uEH/Cm7UUdI62HEOgi57vvR1tP1/S3dKJaGZRoT9oo0beP1/R/psxH1JKcKV4RyuG2WVlWy0taTUFEa6Ju1FKhwdK1a1AozLGtK4D/7ZATeukPgJOFK+zgBS3hHk0eR2L3GLcHBA4kUiNonz1ACSZpmSNVHZQ0E4a+YLac1jmIk82X0znFJPi0fCJF7ckHTVL5hFL9VHzwMPXiE6E6HZ+p45iQR4QuJQnFXgzGPA1DvGMMAWLSHCtulxVvwKsx4rmt40SvEuAMmDtg4IL4XQZ90Ghepy1JrI1EJZlNlsTYpGaONanT12EmqsOujtPNPj8w81CcQWOnP8QXl7AY3u1VfcMx/zo2PzOkFmoT5B9nelzGlxe0qo7W6sK8oAtjDKjphFQ3UOqYB9GE8jynIvyKNl/saa6En8oq1o2fltXs8a7O1I/WSE24dshqIQVmKp/5FMMeTBLvhCEkIO+wIw+MyblbNlPschUAwiPknROxM/idGRgRp7/Dz/fpERbPHOHqmSO8PERdxrC7V4583icOPTOSG0NF+LlPhNfOjOGNIaoxDuev7qIO7vWJ9OZQWJ70iXBrmKYlLPMCPhOKPwag+A8HXrXE2RAAAA==";
65 private static final Log log = LogFactory.getLog(DepartmentMenuUI.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 JTextField codeEditor;
88 protected JLabel codeLabel;
89 protected final DepartmentMenuUIHandler handler = createHandler();
90 protected JPanel menuPanel;
91 protected DepartmentMenuUIModel model;
92 protected JTextField nameEditor;
93 protected JLabel nameLabel;
94 protected ExtendedComboBox<DepartmentDTO> parentCombo;
95 protected JLabel parentLabel;
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 DepartmentMenuUI $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 DepartmentMenuUI(ApplicationUI parentUI) {
117 ApplicationUIUtil.setParentUI(this, parentUI);
118 $initialize();
119 }
120
121 public DepartmentMenuUI() {
122 $initialize();
123 }
124
125 public DepartmentMenuUI(JAXXContext parentContext) {
126 JAXXUtil.initContext(this, parentContext);
127 $initialize();
128 }
129
130 public DepartmentMenuUI(boolean param0) {
131 super(param0);
132 $initialize();
133 }
134
135 public DepartmentMenuUI(JAXXContext parentContext, boolean param1) {
136 super(param1);
137 JAXXUtil.initContext(this, parentContext);
138 $initialize();
139 }
140
141 public DepartmentMenuUI(LayoutManager param0) {
142 super(param0);
143 $initialize();
144 }
145
146 public DepartmentMenuUI(JAXXContext parentContext, LayoutManager param1) {
147 super(param1);
148 JAXXUtil.initContext(this, parentContext);
149 $initialize();
150 }
151
152 public DepartmentMenuUI(LayoutManager param0, boolean param1) {
153 super(param0 ,param1);
154 $initialize();
155 }
156
157 public DepartmentMenuUI(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__codeEditor(KeyEvent event) {
294 if (log.isDebugEnabled()) {
295 log.debug(event);
296 }
297 handler.setText(event, "code");
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 JTextField getCodeEditor() {
324 return codeEditor;
325 }
326
327 public JLabel getCodeLabel() {
328 return codeLabel;
329 }
330
331 public DepartmentMenuUIHandler getHandler() {
332 return handler;
333 }
334
335 public JPanel getMenuPanel() {
336 return menuPanel;
337 }
338
339 public DepartmentMenuUIModel 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<DepartmentDTO> getParentCombo() {
352 return parentCombo;
353 }
354
355 public JLabel getParentLabel() {
356 return parentLabel;
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 void createCodeEditor() {
464 $objectMap.put("codeEditor", codeEditor = new JTextField());
465
466 codeEditor.setName("codeEditor");
467 codeEditor.setColumns(15);
468 codeEditor.addKeyListener(JAXXUtil.getEventListener(KeyListener.class, "keyReleased", this, "doKeyReleased__on__codeEditor"));
469 }
470
471 protected void createCodeLabel() {
472 $objectMap.put("codeLabel", codeLabel = new JLabel());
473
474 codeLabel.setName("codeLabel");
475 codeLabel.setText(t("dali.property.code"));
476 }
477
478 protected DepartmentMenuUIHandler createHandler() {
479 return new DepartmentMenuUIHandler();
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(DepartmentMenuUIModel.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 createParentCombo() {
509 $objectMap.put("parentCombo", parentCombo = new ExtendedComboBox<DepartmentDTO>(this));
510
511 parentCombo.setName("parentCombo");
512 parentCombo.setFilterable(true);
513 parentCombo.setShowDecorator(false);
514 parentCombo.setProperty("parentDepartment");
515 parentCombo.setShowReset(true);
516 }
517
518 protected void createParentLabel() {
519 $objectMap.put("parentLabel", parentLabel = new JLabel());
520
521 parentLabel.setName("parentLabel");
522 parentLabel.setText(t("dali.property.department.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(codeLabel, BorderLayout.PAGE_START);
579 $JPanel1.add(codeEditor);
580
581 $JPanel2.add(nameLabel, BorderLayout.PAGE_START);
582 $JPanel2.add(nameEditor);
583
584 $JPanel3.add(parentLabel, BorderLayout.PAGE_START);
585 $JPanel3.add(parentCombo, BorderLayout.CENTER);
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 parentCombo.setBeanType(DepartmentDTO.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 codeLabel.setLabelFor(codeEditor);
601 nameLabel.setLabelFor(nameEditor);
602 parentLabel.setLabelFor(parentCombo);
603 parentCombo.setBean(model);
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 createCodeLabel();
630 createCodeEditor();
631
632 $objectMap.put("$JPanel2", $JPanel2 = new JPanel());
633
634 $JPanel2.setName("$JPanel2");
635 $JPanel2.setLayout(new BorderLayout());
636 createNameLabel();
637 createNameEditor();
638
639 $objectMap.put("$JPanel3", $JPanel3 = new JPanel());
640
641 $JPanel3.setName("$JPanel3");
642 $JPanel3.setLayout(new BorderLayout());
643 createParentLabel();
644 createParentCombo();
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_CODE_EDITOR_TEXT, true) {
667
668 @Override
669 public void applyDataBinding() {
670 if (model != null) {
671 model.addPropertyChangeListener("code", this);
672 }
673 }
674
675 @Override
676 public void processDataBinding() {
677 if (model != null) {
678 SwingUtil.setText(codeEditor, model.getCode());
679 }
680 }
681
682 @Override
683 public void removeDataBinding() {
684 if (model != null) {
685 model.removePropertyChangeListener("code", this);
686 }
687 }
688 });
689 registerDataBinding(new DefaultJAXXBinding(this, BINDING_NAME_EDITOR_TEXT, true) {
690
691 @Override
692 public void applyDataBinding() {
693 if (model != null) {
694 model.addPropertyChangeListener("name", this);
695 }
696 }
697
698 @Override
699 public void processDataBinding() {
700 if (model != null) {
701 SwingUtil.setText(nameEditor, model.getName());
702 }
703 }
704
705 @Override
706 public void removeDataBinding() {
707 if (model != null) {
708 model.removePropertyChangeListener("name", this);
709 }
710 }
711 });
712 registerDataBinding(new DefaultJAXXBinding(this, BINDING_PARENT_COMBO_SELECTED_ITEM, true) {
713
714 @Override
715 public void applyDataBinding() {
716 if (model != null) {
717 model.addPropertyChangeListener("parentDepartment", this);
718 }
719 }
720
721 @Override
722 public void processDataBinding() {
723 if (model != null) {
724 parentCombo.setSelectedItem(model.getParentDepartment());
725 }
726 }
727
728 @Override
729 public void removeDataBinding() {
730 if (model != null) {
731 model.removePropertyChangeListener("parentDepartment", 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 }