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