Refactorization of the management of the actions in menus, button, shortcuts
[scilab.git] / scilab / modules / scinotes / src / java / org / scilab / modules / scinotes / actions / CodeNavigatorAction.java
1 /*
2  * Scilab (http://www.scilab.org/) - This file is part of Scilab
3  * Copyright (C) 2010 - Calixte DENIZET
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.NavigatorWindow;
20
21 /**
22  * @author Bruno JOFRET
23  * @author Calixte DENIZET
24  */
25 @SuppressWarnings("serial")
26 public final class CodeNavigatorAction extends DefaultAction {
27
28     /**
29      * Constructor
30      * @param name the name of the action
31      * @param editor SciNotes
32      */
33     public CodeNavigatorAction(String name, SciNotes editor) {
34         super(name, editor);
35     }
36
37     /**
38      * createMenu
39      * @param label label of the menu
40      * @param editor SciNotes
41      * @param key KeyStroke
42      * @return createMenu
43      */
44     public static MenuItem createMenu(String label, SciNotes editor, KeyStroke key) {
45         return createMenu(label, null, new CodeNavigatorAction(label, editor), key);
46     }
47
48     /**
49      * Action !!
50      */
51     public void doAction() {
52         if (!getEditor().getTextPane().hasNavigator()) {
53             new NavigatorWindow(getEditor().getTextPane());
54         }
55     }
56 }