/* ApplyDefaultMontageAction.java created 2007-11-24
*
*/
package org.signalml.app.action.montage;
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.MontageFocusSelector;
import org.signalml.app.document.signal.SignalDocument;
import org.signalml.app.view.common.dialogs.OptionPane;
import org.signalml.domain.montage.Montage;
/** ApplyDefaultMontageAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class ApplyDefaultMontageAction extends AbstractFocusableSignalMLAction<MontageFocusSelector> {
private static final long serialVersionUID = 1L;
protected static final Logger logger = Logger.getLogger(ApplyDefaultMontageAction.class);
public ApplyDefaultMontageAction(MontageFocusSelector montageFocusSelector) {
super(montageFocusSelector);
setText(_("Default montage"));
setIconPath("org/signalml/app/icon/defaultmontage.png");
setToolTip(_("Apply default montage"));
setMnemonic(KeyEvent.VK_D);
}
@Override
public void actionPerformed(ActionEvent e) {
logger.debug("Apply default montage");
MontageFocusSelector montageSelector = getActionFocusSelector();
SignalDocument signalDocument = montageSelector.getActiveSignalDocument();
if (signalDocument == null) {
logger.warn("Target document doesn't exist or is not a signal");
return;
}
Montage montage = montageSelector.getActiveMontage();
if (montage == null) {
return;
}
if (montage.isCompatible(signalDocument)) {
signalDocument.setMontage(montage);
} else {
OptionPane.showDefaultMontageNotCompatible(null);
}
}
@Override
public void setEnabledAsNeeded() {
MontageFocusSelector montageSelector = getActionFocusSelector();
setEnabled(montageSelector.getActiveSignalDocument() != null && montageSelector.getActiveMontage() != null);
}
}