1 package fr.ifremer.dali.ui.swing.content.manage.referential.pmfm.qualitativevalue;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import fr.ifremer.dali.dto.referential.pmfm.QualitativeValueDTO;
25 import fr.ifremer.dali.ui.swing.util.AbstractDaliUIHandler;
26 import org.nuiton.jaxx.application.swing.util.Cancelable;
27
28 import java.util.ArrayList;
29
30
31
32
33 public class SelectQualitativeValueUIHandler extends AbstractDaliUIHandler<SelectQualitativeValueUIModel, SelectQualitativeValueUI> implements Cancelable {
34
35 public static final String QUALITATIVE_VALUES_LIST = "qualitativeValuesList";
36 public static final String QUALITATIVE_VALUES_DOUBLE_LIST = "qualitativeValuesDoubleList";
37
38 @Override
39 public void beforeInit(SelectQualitativeValueUI ui) {
40 super.beforeInit(ui);
41 ui.setContextValue(new SelectQualitativeValueUIModel());
42 }
43
44 @Override
45 public void afterInit(SelectQualitativeValueUI ui) {
46
47 initUI(ui);
48
49 ui.getAssociatedQualitativeValuesList().setCellRenderer(newListCellRender(QualitativeValueDTO.class));
50 initBeanList(ui.getAssociatedQualitativeValuesDoubleList(), null,null);
51
52 getModel().addPropertyChangeListener(SelectQualitativeValueUIModel.PROPERTY_AVAILABLE_LIST,
53 evt -> getUI().getAssociatedQualitativeValuesDoubleList().getModel().setUniverse(getModel().getAvailableList()));
54
55 getModel().addPropertyChangeListener(SelectQualitativeValueUIModel.PROPERTY_SELECTED_LIST,
56 evt -> {
57 if (getModel().getSelectedList() != null) {
58 getUI().getAssociatedQualitativeValuesDoubleList().getModel().setSelected(getModel().getSelectedList());
59 getUI().getAssociatedQualitativeValuesList().setListData(getModel().getSelectedList().toArray(new QualitativeValueDTO[0]));
60 }
61 });
62
63 }
64
65 public void setEnabled(boolean enabled) {
66 if (enabled)
67 getUI().getAssociatedQualitativeValuesPanelLayout().setSelected(QUALITATIVE_VALUES_DOUBLE_LIST);
68 else
69 getUI().getAssociatedQualitativeValuesPanelLayout().setSelected(QUALITATIVE_VALUES_LIST);
70
71 getUI().getActionValidate().setEnabled(enabled);
72 }
73
74 public void valid() {
75 getModel().setSelectedList(new ArrayList<>(getUI().getAssociatedQualitativeValuesDoubleList().getModel().getSelected()));
76 getModel().setValid(true);
77 closeDialog();
78 }
79
80 @Override
81 public void cancel() {
82 getModel().setSelectedList(null);
83 getModel().setValid(false);
84 closeDialog();
85 }
86 }