1 package fr.ifremer.tutti.ui.swing.content.actions;
2
3 /*
4 * #%L
5 * Tutti :: UI
6 * %%
7 * Copyright (C) 2012 - 2014 Ifremer
8 * %%
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as
11 * published by the Free Software Foundation, either version 3 of the
12 * License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program. If not, see
21 * <http://www.gnu.org/licenses/gpl-3.0.html>.
22 * #L%
23 */
24
25 import fr.ifremer.tutti.ui.swing.RunTutti;
26 import fr.ifremer.tutti.ui.swing.content.MainUIHandler;
27
28 import static org.nuiton.i18n.I18n.t;
29
30 /**
31 * To close Tutti Application.
32 *
33 * @author Tony Chemit - chemit@codelutin.com
34 * @since 1.1
35 */
36 public class CloseApplicationAction extends AbstractChangeScreenAction {
37
38 protected int exitCode = RunTutti.STOP_EXIT_CODE;
39
40 public CloseApplicationAction(MainUIHandler handler) {
41 super(handler, false, null);
42 setSkipCheckCurrentScreen(true);
43 setActionDescription(t("tutti.main.action.exit.tip"));
44 }
45
46 public void setExitCode(int exitCode) {
47 this.exitCode = exitCode;
48 }
49
50 @Override
51 public void doAction() throws Exception {
52
53 super.doAction();
54
55 RunTutti.closeTutti(getHandler(), exitCode);
56 }
57
58
59 @Override
60 public void releaseAction() {
61 exitCode = RunTutti.STOP_EXIT_CODE;
62 super.releaseAction();
63 }
64 }