miSim

misim.plugins
Class BetterLed

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--misim.Plugin
                                |
                                +--misim.plugins.BetterLed
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, PortListener, java.io.Serializable

public class BetterLed
extends Plugin
implements PortListener

The BetterLed Plugin emulates an LED connected to a port pin. The colour and port connection of the LED can be controlled by the configuration parameter.

See Also:
Serialized Form

Inner classes inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class misim.Plugin
machineState, owner, PLUGIN_GUI, PLUGIN_NONE, PLUGIN_SELF, reader
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BetterLed(java.awt.Component owner, MachineState machineState, RobustReaderIF reader, java.lang.String params)
          Constructor for the plugin.
 
Method Summary
 int configType()
          The User Interface calls this to see if the Plugin needs configuration information, and if so whether the information can be controlled by the user interface (in which case the user will edit the config string by hand), or if the Plugin itself will provide a configuration interface.
 java.lang.String getAbout()
          This method should return any information appropriate to this plugin.
 int getBitmask(int portId)
          This method is used to identify which bits this listener is interested in for a given port.
 java.lang.String getConfig()
          Method to retrieve the config for this plugin
 java.lang.String getHelp()
          Return more detailed information on the configuration string format for this plugin.
 void init(java.lang.String params)
          This is the method that is called to initialise (and display) the plugin.
 void portEvent(int portBits, long clockCount, int portId)
          This method is called when the state of a port changes.
 java.lang.String readConfig(java.lang.String newConfig)
          This method should read the given config parameter string and update its own settings to match it.
 void showPlugin(boolean visible)
          This is called when the user wants the Plugin to display or hide itself.
 
Methods inherited from class misim.Plugin
setMachineState, setPluginTitle
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getAccessibleContext, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, isResizable, paramString, remove, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, dispose, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, hide, isShowing, pack, postEvent, processEvent, processWindowEvent, removeWindowListener, setCursor, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

BetterLed

public BetterLed(java.awt.Component owner,
                 MachineState machineState,
                 RobustReaderIF reader,
                 java.lang.String params)
          throws MiSimException
Constructor for the plugin. This sets the machineState, reader and owner variables and calls init.
Method Detail

init

public void init(java.lang.String params)
          throws MiSimException
This is the method that is called to initialise (and display) the plugin.
Overrides:
init in class Plugin
Parameters:
params - Initialisation parameters for the plugin

showPlugin

public void showPlugin(boolean visible)
This is called when the user wants the Plugin to display or hide itself. The plugin should add or remove itself as a port listener as appropriate
Overrides:
showPlugin in class Plugin
Parameters:
visible - True if the Plugin should display itself.

configType

public int configType()
The User Interface calls this to see if the Plugin needs configuration information, and if so whether the information can be controlled by the user interface (in which case the user will edit the config string by hand), or if the Plugin itself will provide a configuration interface.
Overrides:
configType in class Plugin
Returns:
PLUGIN_NONE - if this plugin needs no config information PLUGIN_GUI - if the standard GUI should provide config editing PLUGIN_SELF - if the plugin itself will provide a config GUI

getConfig

public java.lang.String getConfig()
Method to retrieve the config for this plugin
Overrides:
getConfig in class Plugin
Returns:
The config string

readConfig

public java.lang.String readConfig(java.lang.String newConfig)
This method should read the given config parameter string and update its own settings to match it. If the Plugin has stated that it will edit the configs through its own gui, it should display the GUI and gather the results, before updating itself. In this case, the config and update parameters can be ignored.
Overrides:
readConfig in class Plugin
Parameters:
config - The new configuration string, or null if the config type is PLUGIN_SELF.
Returns:
Null if the parameters are OK, otherwise an explanation of what is wrong.

getAbout

public java.lang.String getAbout()
This method should return any information appropriate to this plugin. If the config parameter is to be edited by the standard GUI, the help text should explain what the parameters mean.
Overrides:
getAbout in class Plugin
Returns:
The about text for this plugin

getHelp

public java.lang.String getHelp()
Return more detailed information on the configuration string format for this plugin.
Overrides:
getHelp in class Plugin
Returns:
The help text for this plugin

portEvent

public void portEvent(int portBits,
                      long clockCount,
                      int portId)
This method is called when the state of a port changes.
Specified by:
portEvent in interface PortListener
Parameters:
portBits - - The current state of the port
clockCount - - the current cpu time (in clock cycles)
portId - - the identifier for the port that generated the event

getBitmask

public int getBitmask(int portId)
This method is used to identify which bits this listener is interested in for a given port.
Specified by:
getBitmask in interface PortListener
Parameters:
portId - - the port identifier
Returns:
an integer with the appropriate bits set.

miSim