Refactorization of the management of the actions in menus, button, shortcuts
[scilab.git] / scilab / modules / scinotes / src / java / org / scilab / modules / scinotes / actions / NewAction.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.gui.pushbutton.PushButton;
19 import org.scilab.modules.scinotes.SciNotes;
20
21 /**
22  * File creation management
23  * @author Bruno JOFRET
24  */
25 public final class NewAction extends DefaultAction {
26
27     private static final long serialVersionUID = -6865132453503118587L;
28
29     /**
30      * Constructor
31      * @param name the name of the action
32      * @param editor associated SciNotes instance
33      */
34     public NewAction(String name, SciNotes editor) {
35         super(name, editor);
36     }
37
38     /**
39      * Create file action
40      * @see org.scilab.modules.scinotes.actions.DefaultAction#doAction()
41      */
42     public void doAction() {
43         getEditor().addEmptyTab();
44     }
45
46     /**
47      * Create a menu to add to SciNotes menu bar
48      * @param label label of the menu
49      * @param editor associated SciNotes instance
50      * @param key KeyStroke
51      * @return the menu
52      */
53     public static MenuItem createMenu(String label, SciNotes editor, KeyStroke key) {
54         return createMenu(label, null, new NewAction(label, editor), key);
55     }
56
57     /**
58      * createButton
59      * @param tooltip the tooltip
60      * @param icon an icon name searched in SCI/modules/gui/images/icons/
61      * @param editor SciNotes
62      * @return PushButton
63      */
64     public static PushButton createButton(String tooltip, String icon, SciNotes editor) {
65         return createButton(tooltip, icon, new NewAction(tooltip, editor));
66     }
67 }