1 package fr.ifremer.dali.ui.swing.content.manage.referential.menu;
2
3 /*
4 * #%L
5 * Dali :: UI
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2014 - 2016 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25
26
27 import fr.ifremer.dali.dto.configuration.filter.FilterDTO;
28 import fr.ifremer.dali.ui.swing.content.manage.filter.element.menu.ApplyFilterUI;
29 import fr.ifremer.dali.ui.swing.util.AbstractDaliUIHandler;
30
31 import java.util.List;
32
33 /**
34 * Created by Ludovic on 23/03/2016.
35 */
36 public abstract class ReferentialMenuUIHandler<M extends AbstractReferentialMenuUIModel, UI extends ReferentialMenuUI<M, ?>> extends AbstractDaliUIHandler<M, UI> {
37
38 /** {@inheritDoc} */
39 @Override
40 public void afterInit(UI ui) {
41 initUI(ui);
42
43 // set filter list
44 initBeanFilterableComboBox(getApplyFilterUI().getApplyFilterCombo(), getFilters(), null);
45 }
46
47 /**
48 * Search activaton.
49 *
50 * @param enabled a boolean.
51 */
52 public abstract void enableSearch(boolean enabled);
53
54 /**
55 * get filters to display in ApplyFilterUI
56 *
57 * @return a {@link java.util.List} object.
58 */
59 public abstract List<FilterDTO> getFilters();
60
61 /**
62 * get the ApplyFilterUI
63 *
64 * @return a {@link fr.ifremer.dali.ui.swing.content.manage.filter.element.menu.ApplyFilterUI} object.
65 */
66 public abstract ApplyFilterUI getApplyFilterUI();
67
68
69 /**
70 * <p>enableContextFilter.</p>
71 *
72 * @param enabled a boolean.
73 */
74 public void enableContextFilter(boolean enabled) {
75 getApplyFilterUI().setVisible(enabled);
76 }
77
78 }