package gov.nasa.arc.mct.fastplot.bridge.controls; /** * Manages the local controls for a given plot. Primarily used to communicate user * interactions to specific controls when the control is not able to listen for them * locally in the Swing hierarchy (specifically, many controls are interested in either * whether or not the mouse is over the plot area, or need to listen for key events * even when they don't have focus.) * * Note: May consider removing this and simply return a Collection<AbstractPlotLocalControl> * from AbstractPlottingPackage to simplify API. (The current implementation * permits some cross-compatibility with the older PlotLocalControlManager.) * * @see gov.nasa.arc.mct.fastplot.bridge.AbstractPlottingPackage#getLocalControlsManager() * * @author vwoeltje */ public interface AbstractPlotLocalControlsManager { /** * Notify local controls that a specific key has been pressed or released. * @param key the key code pressed/released (one of KeyEvent.VK_*) * @param pressed true if press; false if released */ public void informKeyState(int key, boolean pressed); /** * Notify local controls of changes to the mouse position with regard to the plot * @param inPlotArea true if hovering over plot; false if mouse has left */ public void informMouseHover(boolean inPlotArea); }