1 package fr.ifremer.reefdb.ui.swing.content.manage.rule.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.ui.swing.action.AbstractCheckModelAction;
27 import fr.ifremer.reefdb.ui.swing.action.AbstractReefDbSaveAction;
28 import fr.ifremer.reefdb.ui.swing.content.manage.rule.RulesUI;
29 import fr.ifremer.reefdb.ui.swing.content.manage.rule.RulesUIModel;
30 import fr.ifremer.reefdb.ui.swing.content.manage.rule.SaveAction;
31 import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
32
33
34
35
36 public class ClearAction extends AbstractCheckModelAction<RulesMenuUIModel, RulesMenuUI, RulesMenuUIHandler> {
37
38
39
40
41
42
43 public ClearAction(final RulesMenuUIHandler handler) {
44 super(handler, false);
45 }
46
47
48
49
50 @Override
51 public void doAction() {
52
53
54 getModel().clear();
55
56 RulesUI rulesUI = getUI().getParentContainer(RulesUI.class);
57 rulesUI.getRuleListUI().getHandler().clearTable();
58 }
59
60
61
62
63 @Override
64 protected Class<? extends AbstractReefDbSaveAction> getSaveActionClass() {
65 return SaveAction.class;
66 }
67
68
69
70
71 @Override
72 protected boolean isModelModify() {
73 final RulesUIModel model = getLocalModel();
74 return model != null && model.isModify();
75 }
76
77
78
79
80 @Override
81 protected void setModelModify(boolean modelModify) {
82 final RulesUIModel model = getLocalModel();
83 if (model != null) {
84 model.setModify(modelModify);
85 }
86 }
87
88
89
90
91 @Override
92 protected boolean isModelValid() {
93 final RulesUIModel model = getLocalModel();
94 return model == null || model.isValid();
95 }
96
97
98
99
100 @Override
101 protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
102 final RulesUI rulesUI = getUI().getParentContainer(RulesUI.class);
103 return rulesUI.getHandler();
104 }
105
106 private RulesUIModel getLocalModel() {
107 final RulesUI ui = getUI().getParentContainer(RulesUI.class);
108 if (ui != null) {
109 return ui.getModel();
110 }
111 return null;
112 }
113
114 }