/* SignalTool.java created 2007-09-26
*
*/
package org.signalml.plugin.export.signal;
import java.awt.Cursor;
import javax.swing.event.MouseInputAdapter;
import org.signalml.plugin.export.view.ExportedSignalView;
/**
* Abstract implementation of {@link SignalTool} interface.
*
* @author Michal Dobaczewski © 2007-2008 CC Otwarte Systemy Komputerowe Sp. z o.o.
* @author STF © 2010 eisenbits
*/
public abstract class AbstractSignalTool extends MouseInputAdapter implements SignalTool {
/** {@link ExportedSignalView} this SignalTool is associated with. */
private ExportedSignalView signalView;
/** Tells whether this SignalTool is currently processing any mouse event sequence. */
private boolean engaged = false;
/**
* Constructs a new empty SignalTool.
*/
protected AbstractSignalTool() {
}
/**
* Constructs a new SignalTool and associates it with the specified {@link
* ExportedSignalView SignalView}.
* @param signalView {@link ExportedSignalView signal view} this signal
* tool is to be associated with
*/
protected AbstractSignalTool(ExportedSignalView signalView) {
super();
this.signalView = signalView;
}
@Override
public abstract Cursor getDefaultCursor();
/**
* Returns false.
*
* @return false
*/
@Override
public boolean supportsColumnHeader() {
return false;
}
/**
* Returns false.
*
* @return false
*/
@Override
public boolean supportsRowHeader() {
return false;
}
/**
* Returns the {@link ExportedSignalView} associated with this SignalTool.
*
* @return {@link #signalView}
*/
protected ExportedSignalView getSignalView() {
return signalView;
}
/**
* Tells whether this SignalTool is currently processing any mouse event sequence.
*
* @return {@link #engaged}
*/
@Override
public boolean isEngaged() {
return engaged;
}
/**
* Sets mouse event sequence processing flag to the given value.
*
* @param b - new {@link #engaged} value
*/
protected void setEngaged(boolean b) {
this.engaged = b;
}
@Override
public void setSignalView(ExportedSignalView signalView) {
this.signalView = signalView;
}
@Override
public SignalTool createCopy() throws UnsupportedOperationException {
throw new UnsupportedOperationException("operation not supported");
}
}