/* CloseDocumentAction.java created 2007-10-15 * */ package org.signalml.app.action.document; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import org.apache.log4j.Logger; import org.signalml.app.action.AbstractFocusableSignalMLAction; import org.signalml.app.action.selector.DocumentFocusSelector; import org.signalml.app.document.DocumentFlowIntegrator; import org.signalml.plugin.export.signal.Document; /** CloseDocumentAction * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class CloseDocumentAction extends AbstractFocusableSignalMLAction<DocumentFocusSelector> { private static final long serialVersionUID = 1L; protected static final Logger logger = Logger.getLogger(CloseDocumentAction.class); private DocumentFlowIntegrator documentFlowIntegrator; public CloseDocumentAction(DocumentFocusSelector documentFocusSelector) { super(documentFocusSelector); setText(_("Close")); setIconPath("org/signalml/app/icon/fileclose.png"); setToolTip(_("Close the active document")); setMnemonic(KeyEvent.VK_C); } @Override public void actionPerformed(ActionEvent ev) { logger.debug("Close document"); Document document = getActionFocusSelector().getActiveDocument(); if (document == null) { return; } documentFlowIntegrator.closeDocumentAndHandleExceptions(document); } public void setEnabledAsNeeded() { DocumentFocusSelector x = getActionFocusSelector(); if (null != x) setEnabled(x.getActiveDocument() != null); } public DocumentFlowIntegrator getDocumentFlowIntegrator() { return documentFlowIntegrator; } public void setDocumentFlowIntegrator(DocumentFlowIntegrator documentFlowIntegrator) { this.documentFlowIntegrator = documentFlowIntegrator; } }