743392c3cd1cac100b62cc0d1beb8735f60b0ef0
[scilab.git] / scilab / modules / scinotes / src / java / org / scilab / modules / scinotes / actions / CloseAction.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2009 - DIGITEO - Bruno JOFRET
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 package org.scilab.modules.scinotes.actions;
14
15 import javax.swing.KeyStroke;
16
17 import org.scilab.modules.gui.menuitem.MenuItem;
18 import org.scilab.modules.scinotes.SciNotes;
19 import org.scilab.modules.scinotes.utils.SciNotesMessages;
20
21 /**
22  * CloseAction Class
23  * @author Bruno JOFRET
24  *
25  */
26 public final class CloseAction extends DefaultAction {
27     
28     /**
29      * serialVersionUID
30      */
31     private static final long serialVersionUID = 3575152401442746355L;
32     
33     /**
34      * Constructor 
35      * @param editor SciNotes
36      */
37     private CloseAction(SciNotes editor) {
38         super(SciNotesMessages.CLOSE, editor);
39     }
40     
41     /**
42      * DoAction
43      */
44     public void doAction() {
45         getEditor().closeTabAt(getEditor().getTabPane().getSelectedIndex());
46         
47         // Close the last opened file create a new file named "Untitled 1"
48         if (getEditor().getTabPane().getTabCount() == 0) {
49             getEditor().addEmptyTab();
50         }
51     }
52     
53     /**
54      * CreateMenu
55      * @param editor SciNotes
56      * @param key KeyStroke
57      * @return MenuItem
58      */
59     public static MenuItem createMenu(SciNotes editor, KeyStroke key) {
60         return createMenu(SciNotesMessages.CLOSE, null, new CloseAction(editor), key);
61     }
62 }
63