Bug 8135 fixed: An exception was thrown when restoring files on MacOS X
[scilab.git] / scilab / modules / scinotes / src / java / org / scilab / modules / scinotes / actions / OverwriteAction.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 java.beans.PropertyChangeEvent;
16 import java.beans.PropertyChangeListener;
17 import javax.swing.JMenuItem;
18 import javax.swing.KeyStroke;
19
20 import org.scilab.modules.gui.menuitem.MenuItem;
21 import org.scilab.modules.scinotes.SciNotes;
22
23 /**
24  * OverwriteAction class
25  * @author Calixte DENIZET
26  *
27  */
28 public final class OverwriteAction extends DefaultAction {
29
30     /**
31      * Constructor
32      * @param name the name of the action
33      * @param editor SciNotes
34      */
35     public OverwriteAction(String name, SciNotes editor) {
36         super(name, editor);
37     }
38
39     /**
40      * Create Menu
41      * @param label label of the menu
42      * @param editor SciNotes
43      * @param key KeyStroke
44      * @return MenuItem
45      */
46     public static MenuItem createMenu(String label, final SciNotes editor, KeyStroke key) {
47         final MenuItem menuitem = createMenu(label, null, new OverwriteAction(label, editor), key);
48         ((JMenuItem) menuitem.getAsSimpleMenuItem()).addPropertyChangeListener(new PropertyChangeListener() {
49                 public void propertyChange(PropertyChangeEvent e) {
50                     if (editor.getTextPane() != null) {
51                         menuitem.setEnabled(editor.getTextPane().checkExternalModif());
52                     }
53                 }
54             });
55
56         return menuitem;
57     }
58
59     /**
60      * DoAction
61      */
62     public void doAction() {
63         getEditor().overwrite(getEditor().getTabPane().getSelectedIndex());
64         getEditor().getTextPane().updateInfosWhenFocused();
65     }
66 }