/* EditTagStylesAction.java created 2007-11-10
*
*/
package org.signalml.app.action.tag;
import static org.signalml.app.util.i18n.SvarogI18n._;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import org.apache.log4j.Logger;
import org.signalml.app.action.AbstractFocusableSignalMLAction;
import org.signalml.app.action.selector.TagStyleFocusSelector;
import org.signalml.app.document.TagDocument;
import org.signalml.app.model.tag.TagStylePaletteDescriptor;
import org.signalml.app.view.tag.TagStylePaletteDialog;
import org.signalml.domain.tag.StyledTagSet;
import org.signalml.plugin.export.signal.Tag;
import org.signalml.plugin.export.signal.TagStyle;
/** EditTagStylesAction
*
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
*/
public class EditTagStylesAction extends AbstractFocusableSignalMLAction<TagStyleFocusSelector> {
private static final long serialVersionUID = 1L;
protected static final Logger logger = Logger.getLogger(EditTagStylesAction.class);
private TagStylePaletteDialog tagStylePaletteDialog;
public EditTagStylesAction(TagStyleFocusSelector tagStyleFocusSelector) {
super(tagStyleFocusSelector);
setText(_("Tag styles"));
setToolTip(_("Edit tag styles"));
setIconPath("org/signalml/app/icon/palette.png");
setMnemonic(KeyEvent.VK_L);
}
@Override
public void actionPerformed(ActionEvent e) {
TagStyleFocusSelector tagStyleFocusSelector = getActionFocusSelector();
TagDocument tagDocument = tagStyleFocusSelector.getActiveTagDocument();
TagStyle style = tagStyleFocusSelector.getActiveTagStyle();
if (tagDocument == null) {
logger.warn("Target tag document doesn't exist");
return;
}
TagStylePaletteDescriptor descriptor = new TagStylePaletteDescriptor(tagDocument.getTagSet(), style);
boolean ok = tagStylePaletteDialog.showDialog(descriptor, true);
if (!ok) {
return;
}
if (descriptor.isChanged()) {
tagDocument.invalidate();
}
}
@Override
public void setEnabledAsNeeded() {
setEnabled(getActionFocusSelector().getActiveTagDocument() != null);
}
public TagStylePaletteDialog getTagStylePaletteDialog() {
return tagStylePaletteDialog;
}
public void setTagStylePaletteDialog(TagStylePaletteDialog tagStylePaletteDialog) {
this.tagStylePaletteDialog = tagStylePaletteDialog;
}
}