c283911d36552bb2a3a594a71932d63d03651a1f
[scilab.git] / scilab / modules / scinotes / src / java / org / scilab / modules / scinotes / actions / ActivateHelpOnTypingForKeywordsAction.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.1-en.txt
10  *
11  */
12 package org.scilab.modules.scinotes.actions;
13
14 import java.beans.PropertyChangeEvent;
15 import java.beans.PropertyChangeListener;
16
17 import javax.swing.JCheckBoxMenuItem;
18 import javax.swing.KeyStroke;
19
20 import org.scilab.modules.gui.checkboxmenuitem.CheckBoxMenuItem;
21 import org.scilab.modules.scinotes.SciNotes;
22 import org.scilab.modules.scinotes.HelpOnTypingManager;
23
24 /**
25  * ActivateHelpOnTypingForKeywordsAction Class
26  * @author Calixte DENIZET
27  *
28  */
29 public final class ActivateHelpOnTypingForKeywordsAction extends DefaultCheckAction {
30
31     private static final long serialVersionUID = 3793710651553964430L;
32
33     /**
34      * Constructor
35      * @param name the name of the action
36      * @param editor SciNotes
37      */
38     public ActivateHelpOnTypingForKeywordsAction(String name, SciNotes editor) {
39         super(name, editor);
40     }
41
42     /**
43      * doAction
44      */
45     public void doAction() {
46         HelpOnTypingManager.enableKeywords(getState());
47         SciNotes.activateHelpOnTyping();
48     }
49
50     /**
51      * createCheckBoxMenu
52      * @param label label of the menu
53      * @param editor SciNotes
54      * @param key KeyStroke
55      * @return CheckBoxMenuItem
56      */
57     public static CheckBoxMenuItem createMenu(String label, SciNotes editor, KeyStroke key) {
58         final CheckBoxMenuItem cb = createCheckBoxMenu(label, null, new ActivateHelpOnTypingForKeywordsAction(label, editor), key);
59         cb.setChecked(HelpOnTypingManager.isKeywordsActive());
60         ((JCheckBoxMenuItem) cb.getAsSimpleCheckBoxMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
61             public void propertyChange(PropertyChangeEvent e) {
62                 cb.setChecked(HelpOnTypingManager.isKeywordsActive());
63             }
64         });
65
66         return cb;
67     }
68 }