/* EditBookFilterAction.java created 2008-03-04 * */ package org.signalml.app.action.book; 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.BookDocumentFocusSelector; import org.signalml.app.document.BookDocument; import org.signalml.app.model.book.BookFilterDescriptor; import org.signalml.app.view.book.filter.BookFilterDialog; /** EditBookFilterAction * * * @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o. */ public class EditBookFilterAction extends AbstractFocusableSignalMLAction<BookDocumentFocusSelector> { private static final long serialVersionUID = 1L; protected static final Logger logger = Logger.getLogger(EditBookFilterAction.class); private BookFilterDialog bookFilterDialog; public EditBookFilterAction(BookDocumentFocusSelector bookDocumentFocusSelector) { super(bookDocumentFocusSelector); setText(_("Edit book filter")); setIconPath("org/signalml/app/icon/editbookfilter.png"); setToolTip(_("Edit book filter chain")); } @Override public void actionPerformed(ActionEvent e) { logger.debug("Book filter"); BookDocument bookDocument = getActionFocusSelector().getActiveBookDocument(); if (bookDocument == null) { logger.warn("Target document doesn't exist or is not a book"); return; } BookFilterDescriptor descriptor = new BookFilterDescriptor(bookDocument.getFilterChain(), bookDocument); boolean ok = bookFilterDialog.showDialog(descriptor, true); if (!ok) { return; } bookDocument.setFilterChain(descriptor.getChain()); } @Override public void setEnabledAsNeeded() { setEnabled(getActionFocusSelector().getActiveBookDocument() != null); } public BookFilterDialog getBookFilterDialog() { return bookFilterDialog; } public void setBookFilterDialog(BookFilterDialog bookFilterDialog) { this.bookFilterDialog = bookFilterDialog; } }