/* ShowNextBookSegmentAction.java created 2008-03-05 * */ package org.signalml.app.action.book; import static org.signalml.app.util.i18n.SvarogI18n._; import java.awt.event.ActionEvent; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import org.apache.log4j.Logger; import org.signalml.app.action.AbstractFocusableSignalMLAction; import org.signalml.app.action.selector.BookViewFocusSelector; import org.signalml.app.view.book.BookView; /** ShowNextBookSegmentAction * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class ShowNextBookSegmentAction extends AbstractFocusableSignalMLAction<BookViewFocusSelector> implements PropertyChangeListener { private static final long serialVersionUID = 1L; protected static final Logger logger = Logger.getLogger(ShowNextBookSegmentAction.class); public ShowNextBookSegmentAction(BookViewFocusSelector bookViewFocusSelector) { super(bookViewFocusSelector); setText(_("Next segment")); setIconPath("org/signalml/app/icon/nextbooksegment.png"); setToolTip(_("Navigate to next segment")); } @Override public void actionPerformed(ActionEvent e) { BookView bookView = getActionFocusSelector().getActiveBookView(); if (bookView == null) { logger.warn("Target view doesn't exist"); return; } bookView.showNextSegment(); } @Override public void setEnabledAsNeeded() { boolean enabled = false; BookView view = getActionFocusSelector().getActiveBookView(); if (view != null) { enabled = view.hasNextSegment(); } setEnabled(enabled); } @Override public void propertyChange(PropertyChangeEvent evt) { setEnabledAsNeeded(); } }