1 package fr.ifremer.reefdb.ui.swing.content.manage.referential.taxongroup;
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.ui.swing.action.QuitScreenAction;
27 import fr.ifremer.reefdb.ui.swing.util.AbstractReefDbBeanUIModel;
28 import fr.ifremer.reefdb.ui.swing.util.AbstractReefDbUIHandler;
29 import jaxx.runtime.SwingUtil;
30 import jaxx.runtime.validator.swing.SwingValidator;
31 import org.apache.commons.logging.Log;
32 import org.apache.commons.logging.LogFactory;
33 import org.nuiton.jaxx.application.swing.util.CloseableUI;
34
35 import java.beans.PropertyChangeEvent;
36 import java.beans.PropertyChangeListener;
37
38
39
40
41 public class ManageTaxonGroupUIHandler extends AbstractReefDbUIHandler<ManageTaxonGroupUIModel, ManageTaxonGroupUI> implements CloseableUI {
42
43
44
45
46 private static final Log LOG = LogFactory.getLog(ManageTaxonGroupUIHandler.class);
47
48
49 @Override
50 public void beforeInit(final ManageTaxonGroupUI ui) {
51 super.beforeInit(ui);
52
53
54 ui.setContextValue(new ManageTaxonGroupUIModel());
55 ui.setContextValue(SwingUtil.createActionIcon("config"));
56 }
57
58
59 @Override
60 public void afterInit(final ManageTaxonGroupUI ui) {
61 initUI(ui);
62
63
64 getModel().setLocalUIModel(getUI().getTaxonGroupLocalUI().getModel());
65
66
67 getContext().clearObservationPrelevementsIds();
68
69
70 listenModelModify(getModel().getLocalUIModel());
71 getModel().getLocalUIModel().addPropertyChangeListener(AbstractReefDbBeanUIModel.PROPERTY_VALID, evt -> getValidator().doValidate());
72
73
74 registerValidators(getValidator());
75 listenValidatorValid(getValidator(), getModel());
76 }
77
78
79 @Override
80 public SwingValidator<ManageTaxonGroupUIModel> getValidator() {
81 return getUI().getValidator();
82 }
83
84
85 @Override
86 @SuppressWarnings("unchecked")
87 public boolean quitUI() {
88 try {
89 QuitScreenAction action = new QuitScreenAction(this, false, SaveAction.class);
90 if (action.prepareAction()) {
91 return true;
92 }
93 } catch (Exception e) {
94 LOG.error(e.getLocalizedMessage(), e);
95 }
96 return false;
97
98 }
99 }