org.colos.ejs.library.control.drawing2d
Class ControlSet2D

java.lang.Object
  extended by org.colos.ejs.library.control.ControlElement
      extended by org.colos.ejs.library.control.swing.ControlDrawable
          extended by org.colos.ejs.library.control.drawing2d.ControlElement2D
              extended by org.colos.ejs.library.control.drawing2d.ControlSet2D
All Implemented Interfaces:
InteractionListener
Direct Known Subclasses:
ControlArrowSet2D, ControlImageSet2D, ControlPolygonSet2D, ControlSegmentSet2D, ControlShapeSet2D, ControlSpringSet2D, ControlTextSet2D, ControlTrailSet2D

public abstract class ControlSet2D
extends ControlElement2D

Abstract superclass for display3d Elements (children of ControlElements3DParent)


Field Summary
 
Fields inherited from class org.colos.ejs.library.control.drawing2d.ControlElement2D
E2D_ADDED, NULL_COLOR, TO_RADIANS
 
Fields inherited from class org.colos.ejs.library.control.swing.ControlDrawable
DRAWABLE_NAME, PARENT
 
Fields inherited from class org.colos.ejs.library.control.ControlElement
ACTION, ACTION_ERROR, ACTION_SUCCESS, METHOD_FOR_VARIABLE, METHOD_TRIGGER, NAME, VARIABLE_CHANGED
 
Constructor Summary
ControlSet2D()
           
 
Method Summary
 void addMenuEntries()
          This is a place holder for elements to add menu entries to a simulation
 Element elementAt(int i)
           
 java.lang.String getDefaultValueString(int _index)
           
 java.lang.String getObjectClassname()
          Returns the expected class of the object that the ControlElement wrapps.
 java.lang.String getPropertyInfo(java.lang.String _property)
          Returns information about a given property.
 java.util.List<java.lang.String> getPropertyList()
          Returns the list of all properties that can be set for this ControlElement.
 Value getValue(int _index)
          Gets the value of any internal variable.
 void initialize()
          initializes the element.
 void interactionPerformed(InteractionEvent _event)
          The method of a registered listener that will be called when an interaction takes place.
 void reset()
          resets the element
 void setDefaultValue(int _index)
           
 void setName(java.lang.String name)
           
 ControlElement setProperty(java.lang.String _property, java.lang.String _value)
          Sets a property for this ControlElement.
 void setValue(int _index, Value _value)
          Sets the value of the registered variables.
 
Methods inherited from class org.colos.ejs.library.control.drawing2d.ControlElement2D
createAffineTransform, decodeAffineTransform, getElement, getFullPositionSpot, getFullSizeSpot, getObject, getPosSpot, getPropertyCommonName, getSizeSpot, parseConstant
 
Methods inherited from class org.colos.ejs.library.control.swing.ControlDrawable
destroy, getDrawable, getMenuNameEntry, getParent, replaceDrawable, setParent
 
Methods inherited from class org.colos.ejs.library.control.ControlElement
acceptsChild, addAction, addAction, addAction, editorIsReading, flush, getComponent, getGroup, getObject, getProperty, getSimulation, getValue, getVisual, implementsProperty, indexOf, invokeActions, invokeActions, isActive, onExit, propertyIndex, propertyIsTypeOf, propertyType, removeAction, removeAction, replaceVisual, setActive, setFieldListValue, setFieldListValues, setGroup, setProperties, setProperty, setPropertyEditor, setVariableEditor, toString, toStringValue, variableChanged, variableChangedDoNotUpdate, variableExtraChanged, variablePropertiesClear, variablesChanged
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ControlSet2D

public ControlSet2D()
Method Detail

getObjectClassname

public java.lang.String getObjectClassname()
Description copied from class: ControlElement
Returns the expected class of the object that the ControlElement wrapps. Not final because of special needs (see display3d.DrawingPanel3D, f.i.)

Specified by:
getObjectClassname in class ControlElement2D
Returns:
Object

elementAt

public Element elementAt(int i)

reset

public void reset()
Description copied from class: ControlElement
resets the element

Overrides:
reset in class ControlElement

initialize

public void initialize()
Description copied from class: ControlElement
initializes the element. A kind of soft reset()

Overrides:
initialize in class ControlElement

setName

public void setName(java.lang.String name)

getPropertyList

public java.util.List<java.lang.String> getPropertyList()
Description copied from class: ControlElement
Returns the list of all properties that can be set for this ControlElement. Subclasses that add properties should implement this. Order is crucial here: Both for the presentation in an editor (f.i. ViewElement) and for the setValue() method.

Overrides:
getPropertyList in class ControlElement2D

getPropertyInfo

public java.lang.String getPropertyInfo(java.lang.String _property)
Description copied from class: ControlElement
Returns information about a given property. Subclasses that add properties should implement this. Order in the implementation is irrelevant.
  • The first keyword is ALWAYS the type. If more than one type is accepted, they are separated by | (do NOT use spaces!)
  • The keyword CONSTANT applies to properties that can not be changed using the setValue() methods
  • The keyword VARIABLE_EXPECTED is used when a String could be accepted, but a variable has priority. In this case, a String requires using inverted commas or quotes
  • The keyword NotTrimmed specifies that leading or trailing spaces must be respected when present. This is useful for labels or titles, for instance
  • The keywords PREVIOUS and POSTPROCESS indicate that, when setting several properties at once (using setProperties()) the property must be process before, resp. after, the others

    Overrides:
    getPropertyInfo in class ControlElement2D

  • setProperty

    public ControlElement setProperty(java.lang.String _property,
                                      java.lang.String _value)
    Description copied from class: ControlElement
    Sets a property for this ControlElement. Implementing classes are responsible of deciding (by declaring them in the getPropertyList() method) what properties turn into visual changes, or different behaviour, of the ControlElement.

    However, every propery is accepted, even if it is not meaningful for a particular implementation of this interface. This can serve as a repository of information for future use.

    Implementing classes should make sure that the following requirements are met:

  • Properties can be set in any order. The final result should not depend on the order. Exceptions must be explicitly documented.
  • Any property can be modified. If so, the old value, and whatever meaning it had, is superseded by the new one. If the new one is null, the old one is simply removed and setDefaultValue(index) is called in case a precise default value should be used.
  • When the element is part of a EjsControl, final users should not use this setProperty method directly, but go through the corresponding method of the group.

    Overrides:
    setProperty in class ControlElement
    Returns:
    This same element. This is useful to nest more than one call to setProperty
    See Also:
    EjsControl

  • addMenuEntries

    public void addMenuEntries()
    Description copied from class: ControlElement
    This is a place holder for elements to add menu entries to a simulation

    Overrides:
    addMenuEntries in class ControlElement

    setValue

    public void setValue(int _index,
                         Value _value)
    Description copied from class: ControlElement
    Sets the value of the registered variables. Subclasses with internal values should extend this Order is crucial here: it must match exactly that of the getPropertyList() method.

    Overrides:
    setValue in class ControlElement2D

    setDefaultValue

    public void setDefaultValue(int _index)
    Overrides:
    setDefaultValue in class ControlElement2D

    getDefaultValueString

    public java.lang.String getDefaultValueString(int _index)
    Overrides:
    getDefaultValueString in class ControlElement2D

    getValue

    public Value getValue(int _index)
    Description copied from class: ControlElement
    Gets the value of any internal variable. Subclasses with internal values should extend this

    Overrides:
    getValue in class ControlElement2D
    Returns:
    Value _value The object holding the value for the variable.

    interactionPerformed

    public void interactionPerformed(InteractionEvent _event)
    Description copied from interface: InteractionListener
    The method of a registered listener that will be called when an interaction takes place. Classes implementing this interface need to register to the interaction source using the addInteractionListener method.

    Specified by:
    interactionPerformed in interface InteractionListener
    Overrides:
    interactionPerformed in class ControlElement2D
    Parameters:
    _event - InteractionEvent