/* ActivateDocumentAction.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 org.apache.log4j.Logger;
import org.signalml.app.action.AbstractFocusableSignalMLAction;
import org.signalml.app.action.selector.ActionFocusManager;
import org.signalml.app.action.selector.DocumentFocusSelector;
import org.signalml.app.document.BookDocument;
import org.signalml.app.document.MonitorSignalDocument;
import org.signalml.app.document.TagDocument;
import org.signalml.app.document.signal.SignalDocument;
import org.signalml.plugin.export.signal.Document;
/** ActivateDocumentAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class ActivateDocumentAction extends AbstractFocusableSignalMLAction<DocumentFocusSelector> {
private static final long serialVersionUID = 1L;
protected static final Logger logger = Logger.getLogger(ActivateDocumentAction.class);
private ActionFocusManager actionFocusManager;
public ActivateDocumentAction(ActionFocusManager actionFocusManager, DocumentFocusSelector documentFocusSelector) {
super(documentFocusSelector);
this.actionFocusManager = actionFocusManager;
setText(_("Show"));
setIconPath("org/signalml/app/icon/activate.png");
setToolTip(_("Show document"));
}
public ActivateDocumentAction(ActionFocusManager actionFocusManager) {
this(actionFocusManager, actionFocusManager);
}
@Override
public void actionPerformed(ActionEvent ev) {
logger.debug("Activate focused document");
Document document = getActionFocusSelector().getActiveDocument();
if (document == null) {
return;
}
if ((document instanceof SignalDocument)
|| (document instanceof MonitorSignalDocument)
|| (document instanceof BookDocument)) {
actionFocusManager.setActiveDocument(document);
} else if (document instanceof TagDocument) {
actionFocusManager.setActiveDocument(((TagDocument) document).getParent());
}
}
public void setEnabledAsNeeded() {
DocumentFocusSelector x = getActionFocusSelector();
if (null != x)
setEnabled(x.getActiveDocument() != null);
}
}