1 package fr.ifremer.reefdb.ui.swing.content.manage.referential.department.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.dto.configuration.filter.FilterDTO;
27 import fr.ifremer.reefdb.service.StatusFilter;
28 import fr.ifremer.reefdb.ui.swing.content.manage.filter.element.menu.ApplyFilterUI;
29 import fr.ifremer.reefdb.ui.swing.content.manage.referential.menu.ReferentialMenuUIHandler;
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 javax.swing.*;
35 import java.util.List;
36
37
38
39
40 public class DepartmentMenuUIHandler extends ReferentialMenuUIHandler<DepartmentMenuUIModel, DepartmentMenuUI> {
41
42
43
44
45 private static final Log LOG = LogFactory.getLog(DepartmentMenuUIHandler.class);
46
47
48 @Override
49 public void beforeInit(final DepartmentMenuUI ui) {
50 super.beforeInit(ui);
51
52
53 final DepartmentMenuUIModel model = new DepartmentMenuUIModel();
54 ui.setContextValue(model);
55 }
56
57
58 @Override
59 public void afterInit(final DepartmentMenuUI ui) {
60 super.afterInit(ui);
61
62
63 getModel().addPropertyChangeListener(DepartmentMenuUIModel.PROPERTY_LOCAL, evt -> {
64 getUI().getStatusCombo().setData(getContext().getReferentialService().getStatus(getModel().getStatusFilter()));
65 getUI().getParentCombo().setData(getContext().getReferentialService().getDepartments(getModel().isLocal() ? StatusFilter.ALL : StatusFilter.NATIONAL));
66 });
67
68
69 initComboBox();
70
71 }
72
73
74 @Override
75 public void enableSearch(boolean enabled) {
76 getUI().getLocalCombo().setEnabled(enabled);
77 getUI().getCodeEditor().setEnabled(enabled);
78 getUI().getNameEditor().setEnabled(enabled);
79 getUI().getParentCombo().setEnabled(enabled);
80 getUI().getStatusCombo().setEnabled(enabled);
81 getUI().getClearButton().setEnabled(enabled);
82 getUI().getSearchButton().setEnabled(enabled);
83 getApplyFilterUI().setEnabled(enabled);
84 }
85
86
87 @Override
88 public List<FilterDTO> getFilters() {
89 return getContext().getContextService().getAllDepartmentFilters();
90 }
91
92
93 @Override
94 public ApplyFilterUI getApplyFilterUI() {
95 return getUI().getApplyFilterUI();
96 }
97
98
99 @Override
100 public JComponent getLocalFilterPanel() {
101 return getUI().getLocalPanel();
102 }
103
104
105
106
107 private void initComboBox() {
108
109
110 initBeanFilterableComboBox(
111 getUI().getLocalCombo(),
112 getContext().getSystemService().getBooleanValues(),
113 null);
114
115 initBeanFilterableComboBox(
116 getUI().getParentCombo(),
117 getContext().getReferentialService().getDepartments(StatusFilter.ALL),
118 null);
119
120 initBeanFilterableComboBox(getUI().getStatusCombo(),
121 getContext().getReferentialService().getStatus(getModel().getStatusFilter()),
122 null);
123
124
125
126 ReefDbUIs.forceComponentSize(getUI().getLocalCombo());
127 ReefDbUIs.forceComponentSize(getUI().getParentCombo());
128 ReefDbUIs.forceComponentSize(getUI().getStatusCombo());
129
130 }
131
132
133
134
135 public void reloadComboBox() {
136 getUI().getParentCombo().setData(null);
137 getUI().getParentCombo().setData(getContext().getReferentialService().getDepartments(getModel().isLocal() ? StatusFilter.ALL : StatusFilter.NATIONAL));
138 }
139
140 }