View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.program;
2   
3   /*
4    * #%L
5    * Dali :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 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  import fr.ifremer.quadrige3.ui.swing.action.GoToHomeAction;
27  import fr.ifremer.dali.ui.swing.action.AbstractCheckBeforeChangeScreenAction;
28  import org.nuiton.jaxx.application.swing.AbstractApplicationUIHandler;
29  
30  /**
31   * Action close screen
32   */
33  public class CloseAction extends AbstractCheckBeforeChangeScreenAction<ProgramsUIModel, ProgramsUI, ProgramsUIHandler> {
34  
35  	/**
36  	 * Constructor.
37  	 *
38  	 * @param handler Controller
39  	 */
40  	public CloseAction(final ProgramsUIHandler handler) {
41  		super(handler, true);
42  	}
43  
44  	/** {@inheritDoc} */
45  	@Override
46  	public void doAction() throws Exception {
47  		super.doAction();
48  		
49  		// Clear programme & strategie IDs
50  		getContext().clearProgrammeStrategieIds();
51  	}
52  
53  	/** {@inheritDoc} */
54  	@Override
55  	protected Class<SaveAction> getSaveActionClass() {
56  		return SaveAction.class;
57  	}
58  	
59  	/** {@inheritDoc} */
60  	@Override
61  	protected AbstractApplicationUIHandler<?, ?> getSaveHandler() {
62  		return getUI().getHandler();
63  	}
64  
65  	/** {@inheritDoc} */
66  	@Override
67  	protected Class<GoToHomeAction> getGotoActionClass() {
68  		return GoToHomeAction.class;
69  	}
70  
71  	/** {@inheritDoc} */
72  	@Override
73  	protected boolean isModelModify() {
74  		return getModel().isModify();
75  	}
76  
77  	/** {@inheritDoc} */
78  	@Override
79  	protected boolean isModelValid() {
80  		return getModel().isValid();
81  	}
82  	
83  	/** {@inheritDoc} */
84  	@Override
85  	protected void setModelModify(boolean modelModify) {
86  		getModel().setModify(modelModify);
87  	}
88  }