/* SaveAllDocumentsAction.java created 2007-09-10
*
*/
package org.signalml.app.action.document;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.io.IOException;
import org.apache.log4j.Logger;
import org.signalml.app.document.DocumentFlowIntegrator;
import org.signalml.app.view.common.dialogs.errors.Dialogs;
import org.signalml.plugin.export.SignalMLException;
import org.signalml.plugin.export.view.AbstractSignalMLAction;
/** SaveAllDocumentsAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class SaveAllDocumentsAction extends AbstractSignalMLAction {
private static final long serialVersionUID = 1L;
protected static final Logger logger = Logger.getLogger(SaveAllDocumentsAction.class);
private DocumentFlowIntegrator documentFlowIntegrator;
public SaveAllDocumentsAction() {
super();
setText(_("Save All"));
setIconPath("org/signalml/app/icon/save_all.png");
setToolTip(_("Save all unsaved documents"));
setMnemonic(KeyEvent.VK_S);
}
@Override
public void actionPerformed(ActionEvent ev) {
logger.debug("Save all documents");
try {
documentFlowIntegrator.saveAllDocuments();
} catch (SignalMLException ex) {
logger.error("Failed to save all documents", ex);
Dialogs.showExceptionDialog((Window) null, ex);
return;
} catch (IOException ex) {
logger.error("Failed to save all documents - i/o exception", ex);
Dialogs.showExceptionDialog((Window) null, ex);
return;
}
}
@Override
public void setEnabledAsNeeded() {
if (documentFlowIntegrator != null) {
setEnabled(documentFlowIntegrator.getDocumentManager().getDocumentCount() > 0);
} else {
setEnabled(false);
}
}
public DocumentFlowIntegrator getDocumentFlowIntegrator() {
return documentFlowIntegrator;
}
public void setDocumentFlowIntegrator(DocumentFlowIntegrator documentFlowIntegrator) {
this.documentFlowIntegrator = documentFlowIntegrator;
}
}