Class ControlDrawable

java.lang.Object
org.opensourcephysics.ejs.control.ControlElement
org.opensourcephysics.ejs.control.swing.ControlDrawable

public abstract class ControlDrawable extends ControlElement
Abstract superclass for Drawables (children of ControlDrawableParent)
  • Field Details

  • Constructor Details

    • ControlDrawable

      public ControlDrawable(Object _drawable)
      Constructor and utilities
      Parameters:
      _drawable -
  • Method Details

    • createDrawable

      protected abstract Drawable createDrawable(Object drawable)
    • getDrawable

      public final Drawable getDrawable()
    • setDrawable

      public final void setDrawable(Drawable _dr)
    • setParent

      public void setParent(ControlDrawablesParent _dp)
    • getParent

      public final ControlDrawablesParent getParent()
    • destroy

      public void destroy()
      Description copied from class: ControlElement
      Clears any trace of myself (specially in the group)
      Overrides:
      destroy in class ControlElement
    • getPropertyList

      public ArrayList<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.
      Specified by:
      getPropertyList in class ControlElement
    • getPropertyInfo

      public String getPropertyInfo(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 keyword BASIC is used by Ejs to group properties to the left hand side of the property editor
    • The keyword HIDDEN is used by Ejs so that it does not display an entry in the editor field
    • 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
    • Specified by:
      getPropertyInfo 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 ControlElement
    • setDefaultValue

      public void setDefaultValue(int _index)
      Overrides:
      setDefaultValue in class ControlElement
    • 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 ControlElement
      Returns:
      Value _value The object holding the value for the variable.