Refactorization of the management of the actions in menus, button, shortcuts
[scilab.git] / scilab / modules / scinotes / src / java / org / scilab / modules / scinotes / actions / PasteAction.java
index 9c278e5..ca43f8b 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2009 - DIGITEO - Bruno JOFRET
+ * Copyright (C) 2010 - Calixte DENIZET
  *
  * This file must be used under the terms of the CeCILL.
  * This source file is licensed as described in the file COPYING, which
@@ -12,7 +13,6 @@
 
 package org.scilab.modules.scinotes.actions;
 
-import javax.swing.JComponent;
 import javax.swing.KeyStroke;
 import javax.swing.text.DefaultEditorKit;
 
@@ -20,36 +20,52 @@ import org.scilab.modules.gui.menuitem.MenuItem;
 import org.scilab.modules.gui.pushbutton.PushButton;
 import org.scilab.modules.scinotes.SciNotes;
 import org.scilab.modules.scinotes.ScilabDocument;
-import org.scilab.modules.scinotes.utils.SciNotesMessages;
 
+/**
+ * Class for paste action
+ * @author Bruno JOFRET
+ * @author Calixte DENIZET
+ */
 public class PasteAction extends DefaultAction {
 
-    private PasteAction(SciNotes editor) {
-       super(SciNotesMessages.PASTE, editor);
+    /**
+     * Constructor
+     * @param name the name of the action
+     * @param editor to associate
+     */
+    public PasteAction(String name, SciNotes editor) {
+        super(name, editor);
     }
-    
+
+    /**
+     * Action !
+     */
     public void doAction() {
-       ScilabDocument doc = (ScilabDocument) getEditor().getTextPane().getDocument();
-       doc.mergeEditsBegin();
-       getEditor().getTextPane().getActionMap().get(DefaultEditorKit.pasteAction).actionPerformed(null);
-       doc.mergeEditsEnd();
+        ScilabDocument doc = (ScilabDocument) getEditor().getTextPane().getDocument();
+        doc.mergeEditsBegin();
+        getEditor().getTextPane().getActionMap().get(DefaultEditorKit.pasteAction).actionPerformed(null);
+        doc.mergeEditsEnd();
     }
 
-    public static MenuItem createMenu(SciNotes editor, KeyStroke key) {
-       return createMenu(SciNotesMessages.PASTE, null, new PasteAction(editor), key);
-    }
-    
-    public static PushButton createButton(SciNotes editor) {
-       return createButton(SciNotesMessages.PASTE, "edit-paste.png", new PasteAction(editor));
-    }
-    
     /**
-     * Put input map
-     * @param textPane JTextpane
-     * @param key KeyStroke
+     * Create the MenuItem for print action
+     * @param label label of the menu
      * @param editor Editor
+     * @param key KeyStroke
+     * @return a MenuItem
+     */
+    public static MenuItem createMenu(String label, SciNotes editor, KeyStroke key) {
+        return createMenu(label, null, new PasteAction(label, editor), key);
+    }
+
+    /**
+     * createButton
+     * @param tooltip the tooltip
+     * @param icon an icon name searched in SCI/modules/gui/images/icons/
+     * @param editor SciNotes
+     * @return PushButton
      */
-    public static void putInInputMap(JComponent textPane, SciNotes editor, KeyStroke key) {
-       textPane.getInputMap().put(key, new PasteAction(editor));
+    public static PushButton createButton(String tooltip, String icon, SciNotes editor) {
+        return createButton(tooltip, icon, new PasteAction(tooltip, editor));
     }
 }