/* ActivateSignalPageAction.java created 2007-10-15
*
*/
package org.signalml.app.action.workspace;
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.SignalPageFocusSelector;
import org.signalml.app.document.signal.SignalDocument;
import org.signalml.app.view.signal.SignalView;
/** ActivateSignalPageAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class ActivateSignalPageAction extends AbstractFocusableSignalMLAction<SignalPageFocusSelector> {
private static final long serialVersionUID = 1L;
protected static final Logger logger = Logger.getLogger(ActivateSignalPageAction.class);
private ActionFocusManager actionFocusManager;
public ActivateSignalPageAction(ActionFocusManager actionFocusManager, SignalPageFocusSelector signalPageFocusSelector) {
super(signalPageFocusSelector);
this.actionFocusManager = actionFocusManager;
setText(_("Show page"));
setIconPath("org/signalml/app/icon/activate.png");
setToolTip(_("Show signal page in viewer"));
}
@Override
public void actionPerformed(ActionEvent ev) {
logger.debug("Activate focused signal page");
SignalPageFocusSelector signalPageFocusSelector = getActionFocusSelector();
SignalDocument signalDocument = signalPageFocusSelector.getActiveSignalDocument();
if (signalDocument == null) {
return;
}
int page = signalPageFocusSelector.getSignalPage();
if (page < 0) {
return;
}
SignalView signalView = (SignalView) signalDocument.getDocumentView();
actionFocusManager.setActiveDocument(signalDocument);
signalView.showTime(signalDocument.getPageSize() * page);
}
public void setEnabledAsNeeded() {
SignalPageFocusSelector x = getActionFocusSelector();
if (x != null)
setEnabled(x.getSignalPage() >= 0);
}
}