|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectfr.emn.reactiveinput.AbstractDevice
fr.emn.examples.icondraw.DTool
This is an abstract graphical tool. Update() method is break into 4 methods.
| Field Summary | |
In |
activate
|
In |
use
|
| Fields inherited from class fr.emn.reactiveinput.AbstractDevice |
currIndex, ins, outs |
| Fields inherited from interface fr.emn.reactiveinput.Device |
AUTO_PROPERTIES |
| Method Summary | |
void |
close()
Add closing code here if needed. |
Device |
copy()
Is isCopiable() returns true, copies the device by calling DeviceUtilities.defaultCopy(). |
boolean |
getActivated()
|
boolean |
getScreenCoordinates()
|
boolean |
hasExternalOutput()
Specifies whether this device has external (implicit) output or not. |
boolean |
isActive()
|
boolean |
isUsed()
|
Processor |
open(OpenContext context)
Subclass this method if you want to specialize data processing, or if you want to perform some initializations before running the device. |
abstract void |
paint(java.awt.Graphics2D g)
Used for tool feedback |
void |
setActivated(boolean active)
|
void |
setScreenCoordinates(boolean value)
|
void |
toLocal(java.awt.Point p)
Use this method to convert a point into local coordinates. |
abstract void |
update_abort()
Aborts an interaction. |
abstract boolean |
update_begin()
Initiates an interaction. |
abstract void |
update_end()
Ends and validates an interaction. |
abstract void |
update_value(boolean force)
Update interaction values. |
void |
update()
Updates device's output values. |
| Methods inherited from class fr.emn.reactiveinput.AbstractDevice |
addIn, addIn, addOut, 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 |
| Field Detail |
public final In activate
public final In use
| Method Detail |
public void close()
AbstractDevice
close in interface Deviceclose in class AbstractDevicepublic Device copy()
AbstractDeviceSubclass this method if you want to provide another strategy.
copy in interface Devicecopy in class AbstractDevicepublic boolean getScreenCoordinates()
public boolean hasExternalOutput()
AbstractDeviceReturn 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 there is at now no clear definition of what is external output.
hasExternalOutput in interface DevicehasExternalOutput in class AbstractDevicepublic boolean isActive()
public boolean isUsed()
public Processor open(OpenContext context)
AbstractDeviceBy default, open() does nothing and returns the device itself as the Processor (or null if it is not openable): AbstractDevice implements both Device and Processor interfaces, so that you can add processing code directly into the device.
If you want to add specialization features, subclass this method to return a specific processor implementation depending on your device configuration.
Example :
public Processor getProcessor() {
if (super.open() == null)
return null;
// Select the right processor
if (in2.isValid()) {
return new twoParamProcessor(in1, in2, out);
else
return new oneParamProcessor(in1, out);
}
In this method, you may also perform all necessary pre-running initialization. If initialization fails, return null even if isOpenable() returns true.
In all cases, return null if isOpenable() returns false.
open in interface Deviceopen in class AbstractDeviceProcessor,
Device.open()public abstract void paint(java.awt.Graphics2D g)
public void setScreenCoordinates(boolean value)
public void toLocal(java.awt.Point p)
public void update()
AbstractDeviceSubclass init() and update() methods if you want the device to process the data itself. Otherwise, subclass getProcessor() method to use extern processors.
update in interface Processorupdate in class AbstractDeviceProcessor.update()public void setActivated(boolean active)
public boolean getActivated()
public abstract void update_abort()
public abstract boolean update_begin()
You can refuse starting an interaction by returning false (e.g. if you do not have enough data). This method will be re-checked the next tick.
public abstract void update_end()
public abstract void update_value(boolean force)
This method is called during an interaction every time a value may have changed.
Additionnaly, it is called with first=true just after interaction has been initiated (provided that update_begin returned true) and just before interaction has been aborted or validated.
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||