1 package fr.ifremer.dali.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 import fr.ifremer.dali.ui.swing.util.AbstractDaliUIHandler;
27 import fr.ifremer.dali.ui.swing.util.DaliUIs;
28 import jaxx.runtime.swing.editor.bean.BeanFilterableComboBox;
29
30 import javax.swing.SwingUtilities;
31
32
33
34
35 public class ManageContextsListMenuUIHandler extends AbstractDaliUIHandler<ManageContextsListMenuUIModel, ManageContextsListMenuUI> {
36
37
38 @Override
39 public void beforeInit(final ManageContextsListMenuUI ui) {
40 super.beforeInit(ui);
41
42
43 final ManageContextsListMenuUIModel model = new ManageContextsListMenuUIModel();
44 ui.setContextValue(model);
45 }
46
47
48 @Override
49 public void afterInit(final ManageContextsListMenuUI ui) {
50 initUI(ui);
51
52
53 initComboBox();
54 }
55
56
57
58
59 private void initComboBox() {
60
61 initBeanFilterableComboBox(
62 getUI().getContextsLabelsCombo(),
63 getContext().getContextService().getAllContexts(),
64 null);
65
66 DaliUIs.forceComponentSize(getUI().getContextsLabelsCombo());
67
68 getUI().getContextsLabelsCombo().getComboBoxModel().addWillChangeSelectedItemListener(event -> {
69 if (getModel().isLoading()) return;
70 if (event.getNextSelectedItem() != null) SwingUtilities.invokeLater(() -> getUI().getSearchButton().getAction().actionPerformed(null));
71 });
72
73 }
74
75
76
77
78 @SuppressWarnings("unchecked")
79 public void reloadComboBox() {
80 getModel().setLoading(true);
81 BeanFilterableComboBox cb = getUI().getContextsLabelsCombo();
82 cb.setData(null);
83 cb.setData(getContext().getContextService().getAllContexts());
84 getModel().setLoading(false);
85 }
86 }