fr.emn.reactiveinput.devices
Class DToolglass

java.lang.Object
  extended byfr.emn.reactiveinput.AbstractDevice
      extended byfr.emn.reactiveinput.AbstractMutableDevice
          extended byfr.emn.reactiveinput.devices.DToolglass
All Implemented Interfaces:
Device, MutableDevice, Processor

public class DToolglass
extends AbstractMutableDevice


Field Summary
 In change
           
 Out notool
           
 Out[] tool
           
 In transparency
           
 In x
           
 In xselect
           
 Out xthru
           
 In y
           
 In yselect
           
 Out ythru
           
 
Fields inherited from class fr.emn.reactiveinput.AbstractDevice
currIndex, ins, outs
 
Fields inherited from interface fr.emn.reactiveinput.Device
AUTO_PROPERTIES
 
Constructor Summary
DToolglass()
          Do not use this constructor
 
Method Summary
 void close()
          Closes the device.
 int getColumns()
           
 double getDefaultTransparency()
           
 ImageEnum[] getImages()
           
static javax.swing.ImageIcon[] getImgs(ImageEnum[] imagerefs)
           
 Slot[] getMutationTriggers()
          Returns the mutation triggers for this mutable device, i.e. all input or output slots that trigger a mutation when it is connected to another type.
 boolean getScreenCoordinates()
           
 boolean hasExternalOutput()
          Specifies whether this device has external (implicit) output or not.
 void mutate()
          Perform a mutation on this device.
 Processor open(OpenContext context)
          Ensures that the device will be ready for processing or producing data, and returns the Processor object that will process data, or null if an error occured.
 void setColumns(int count)
           
 void setDefaultTransparency(double def)
           
 void setImages(ImageEnum[] imagerefs)
           
 void setScreenCoordinates(boolean value)
           
 void update()
          Updates device's output values.
 
Methods inherited from class fr.emn.reactiveinput.AbstractMutableDevice
addMutableIn, addMutableIn, addMutableIn, addMutableOut, addMutableOut, remove
 
Methods inherited from class fr.emn.reactiveinput.AbstractDevice
addIn, addIn, addOut, copy, doDisable, doEnable, finalize, getError, getIndex, getInfo, getIns, getName, getOuts, getProperties, hasExternalInput, init, insertAt, insertAtEnd, insertBefore, isCopiable, isEnabled, isOpenable, setEnabled, setInfo, setInfo, setLastError, setName
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface fr.emn.reactiveinput.Device
copy, getError, getInfo, getIns, getName, getOuts, getProperties, hasExternalInput, isCopiable, isOpenable, setEnabled
 

Field Detail

x

public final In x

y

public final In y

change

public final In change

xselect

public final In xselect

yselect

public final In yselect

transparency

public final In transparency

xthru

public final Out xthru

ythru

public final Out ythru

notool

public final Out notool

tool

public final Out[] tool
Constructor Detail

DToolglass

public DToolglass()
Do not use this constructor

Method Detail

open

public Processor open(OpenContext context)
Description copied from interface: Device
Ensures that the device will be ready for processing or producing data, and returns the Processor object that will process data, or null if an error occured.

Some devices may need to perform some more or less heavy initialization (such as allocating resources or opening a stream) before being able to process or produce data. This is the case for most input devices, and some I/O and output devices. All these initializations must be done in the open() method.

Because these initializations are subject to fail, open() may return null even if isOpenable() returns true. In all cases, returning a non-null Processor means that the device is now able to process or produce data.

RE-OPENING A DEVICE:

Devices always stay open during reconfiguration, in order to avoid unnecessary deallocation and reallocation of resources. However, some devices will need to be re-open before re-starting the configuration. So open() is always called on all devices before re-starting.

If open() is called on a device that is already open, it may have no effect (and the current Processor is returned), or the device may be re-open if something has changed in its configuration.

Using a Processor as a return value allows the use of different processors, each adapted to a specific device configuration.

Specified by:
open in interface Device
Overrides:
open in class AbstractDevice
See Also:
Processor, Device.open()

close

public void close()
Description copied from interface: Device
Closes the device. Called when the device is not used any more.

Deallocate resources here.

Specified by:
close in interface Device
Overrides:
close in class AbstractDevice

getImages

public ImageEnum[] getImages()

getImgs

public static javax.swing.ImageIcon[] getImgs(ImageEnum[] imagerefs)

getScreenCoordinates

public boolean getScreenCoordinates()

getColumns

public int getColumns()

setColumns

public void setColumns(int count)

getDefaultTransparency

public double getDefaultTransparency()

setDefaultTransparency

public void setDefaultTransparency(double def)

hasExternalOutput

public boolean hasExternalOutput()
Description copied from interface: Device
Specifies whether this device has external (implicit) output or not.

Return false if the device has no border effects. Most of input and processing devices are in this case.

Return true if the device has border effects, such as graphical feedback, or control of some external value. Examples of devices with external output are application-interfacing devices and all user feedback devices.

This method can be used by the editor for the device's graphical representation. However this makes no difference for the reactive machine.

Specified by:
hasExternalOutput in interface Device
Overrides:
hasExternalOutput in class AbstractDevice

setImages

public void setImages(ImageEnum[] imagerefs)

setScreenCoordinates

public void setScreenCoordinates(boolean value)

getMutationTriggers

public Slot[] getMutationTriggers()
Description copied from class: AbstractMutableDevice
Returns the mutation triggers for this mutable device, i.e. all input or output slots that trigger a mutation when it is connected to another type.

Specified by:
getMutationTriggers in interface MutableDevice
Specified by:
getMutationTriggers in class AbstractMutableDevice

mutate

public void mutate()
Description copied from class: AbstractMutableDevice
Perform a mutation on this device. This method is called when a connection is made (or deleted) on an entry point.

Add mutation code here.

Specified by:
mutate in interface MutableDevice
Specified by:
mutate in class AbstractMutableDevice

update

public void update()
Description copied from class: AbstractDevice
Updates device's output values.

Subclass init() and update() methods if you want the device to process the data itself. Otherwise, subclass getProcessor() method to use extern processors.

Specified by:
update in interface Processor
Overrides:
update in class AbstractDevice
See Also:
Processor.update()