1 package fr.ifremer.reefdb.ui.swing.content.manage.referential.pmfm.parameter.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.reefdb.decorator.DecoratorService;
27 import fr.ifremer.reefdb.dto.referential.pmfm.ParameterDTO;
28 import fr.ifremer.reefdb.service.StatusFilter;
29 import fr.ifremer.reefdb.ui.swing.util.AbstractReefDbUIHandler;
30 import fr.ifremer.reefdb.ui.swing.util.ReefDbUIs;
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33
34 import java.util.List;
35
36
37
38
39 public class ManageParametersMenuUIHandler extends AbstractReefDbUIHandler<ManageParametersMenuUIModel, ManageParametersMenuUI> {
40
41
42
43
44 private static final Log LOG = LogFactory.getLog(ManageParametersMenuUIHandler.class);
45
46
47 @Override
48 public void beforeInit(final ManageParametersMenuUI ui) {
49 super.beforeInit(ui);
50
51
52 final ManageParametersMenuUIModel model = new ManageParametersMenuUIModel();
53 ui.setContextValue(model);
54 }
55
56
57 @Override
58 public void afterInit(final ManageParametersMenuUI ui) {
59 initUI(ui);
60
61
62 getModel().addPropertyChangeListener(ManageParametersMenuUIModel.PROPERTY_LOCAL, evt -> {
63 getUI().getStatusCombo().setData(getContext().getReferentialService().getStatus(getModel().getStatusFilter()));
64 reloadComboBox();
65 });
66
67
68
69 initComboBox();
70 }
71
72
73
74
75 private void initComboBox() {
76
77 List<ParameterDTO> parameters = getContext().getReferentialService().getParameters(getModel().getStatusFilter());
78
79 initBeanFilterableComboBox(
80 getUI().getLabelCombo(),
81 parameters,
82 null,
83 DecoratorService.NAME);
84
85 initBeanFilterableComboBox(
86 getUI().getCodeCombo(),
87 parameters,
88 null);
89
90 initBeanFilterableComboBox(getUI().getStatusCombo(),
91 getContext().getReferentialService().getStatus(getModel().getStatusFilter()),
92 null);
93
94 initBeanFilterableComboBox(getUI().getParameterGroupCombo(),
95 getContext().getReferentialService().getParameterGroup(StatusFilter.ACTIVE),
96 null);
97
98 ReefDbUIs.forceComponentSize(getUI().getLabelCombo());
99 ReefDbUIs.forceComponentSize(getUI().getCodeCombo());
100 ReefDbUIs.forceComponentSize(getUI().getStatusCombo());
101 ReefDbUIs.forceComponentSize(getUI().getParameterGroupCombo());
102 }
103
104
105
106
107 public void reloadComboBox() {
108 List<ParameterDTO> parameters = getContext().getReferentialService().getParameters(getModel().getStatusFilter());
109 getUI().getLabelCombo().setData(parameters);
110 getUI().getCodeCombo().setData(parameters);
111 }
112 }