//----------------------------------------------------------------------------// // // // P l u g i n A c t i o n // // // //----------------------------------------------------------------------------// // <editor-fold defaultstate="collapsed" desc="hdr"> // // Copyright © Hervé Bitteur and others 2000-2013. All rights reserved. // // This software is released under the GNU General Public License. // // Goto http://kenai.com/projects/audiveris to report bugs or suggestions. // //----------------------------------------------------------------------------// // </editor-fold> package omr.plugin; import omr.score.Score; import omr.score.ui.ScoreController; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; /** * Class {@code PluginAction} implements the concrete user action * related to a registered plugin. * * @author Hervé Bitteur */ class PluginAction extends AbstractAction { //~ Static fields/initializers --------------------------------------------- /** Usual logger utility */ private static final Logger logger = LoggerFactory.getLogger( PluginAction.class); //~ Instance fields -------------------------------------------------------- /** The related plugin */ private final Plugin plugin; //~ Constructors ----------------------------------------------------------- //--------------// // PluginAction // //--------------// /** * Creates a new PluginAction object. * * @param plugin the underlying scripting plugin */ public PluginAction (Plugin plugin) { super(plugin.getTitle()); this.plugin = plugin; putValue(SHORT_DESCRIPTION, plugin.getDescription()); } //~ Methods ---------------------------------------------------------------- //-----------------// // actionPerformed // //-----------------// @Override public void actionPerformed (ActionEvent e) { final Score score = ScoreController.getCurrentScore(); if (score != null) { plugin.getTask(score) .execute(); } } }