# ControllerGroup (Javadocs: controlP5)
Date: 2014-04-27

controlP5

## Class ControllerGroup<T>

- java.lang.Object
- - controlP5.ControllerGroup<T>

All Implemented Interfaces:
  ControllerInterface<T>, ControlListener, ControlP5Constants

Direct Known Subclasses:
  ControlGroup, Tab, Textarea

    public abstract class ControllerGroup<T>
    extends java.lang.Object
    implements ControllerInterface<T>, ControlP5Constants, ControlListener

ControllerGroup is an abstract class and is extended by class ControlGroup, Tab, or the ListBox.

### Field Summary

### Fields inherited from interface controlP5.ControlP5Constants

`acceptClassList, ACTION_BROADCAST, ACTION_CLICK, ACTION_DRAG, ACTION_ENTER, ACTION_EXIT, ACTION_LEAVE, ACTION_MOVE, ACTION_PRESS, ACTION_PRESSED, ACTION_RELEASE, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTION_WHEEL, ACTIVE, ALL, ALT, AQUA, ARC, ARRAY, BACKSPACE, BASELINE, BITFONT, BLACK, BLUE, BOOLEAN, BOTTOM, BOTTOM_OUTSIDE, CAPTIONLABEL, CENTER, CHECKBOX, COMMANDKEY, CONTROL, controlEventClass, CUSTOM, DECREASE, DEFAULT, DELETE, DONE, DOWN, DROPDOWN, ELLIPSE, ENTER, ESCAPE, EVENT, eventMethod, FADEIN, FADEOUT, FIELD, FLOAT, FUCHSIA, GRAY, GREEN, grixel, HALF_PI, HIDE, HIGHLIGHT, HORIZONTAL, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, J2D, KEYCONTROL, LEFT, LEFT_OUTSIDE, LIME, LINE, LIST, LOAD, MAROON, MENU, METHOD, MOVE, MULTI, MULTIPLES, NAVY, OLIVE, ORANGE, OVER, P2D, P3D, PI, PRESSED, PRINT, PURPLE, RED, RELEASE, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SHIFT, SILVER, SINGLE, SINGLE_COLUMN, SINGLE_ROW, SPRITE, standard56, standard58, STRING, SWITCH, SWITCH_BACK, SWITCH_FORE, synt24, TAB, TEAL, THEME_A, THEME_CP52014, THEME_CP5BLUE, THEME_RED, THEME_RETRO, THEME_WHITE, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TREE, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT, WHITE, YELLOW`

### Constructor Summary

Constructors
Constructor and Description
`ControllerGroup(ControlP5 theControlP5, ControllerGroup<?> theParent, java.lang.String theName, float theX, float theY)`
`ControllerGroup(ControlP5 theControlP5, java.lang.String theName)` Convenience constructor to extend ControllerGroup.

### Method Summary

Methods
`processing.core.PVector` `absolutePosition()` Deprecated.
`T` `add(ControllerInterface<?> theElement)` Adds a controller to the group, but use Controller.setGroup() instead.
`Canvas` `addCanvas(Canvas theCanvas)` Adds a canvas to a controllerGroup such as a tab or group.
`T` `addCloseButton()` TODO redesign or deprecate add a close button to the controlbar of this controlGroup.
`T` `addDrawable(CDrawable theElement)`
`T` `addListener(ControlListener theListener)`
`float[]` `arrayValue()` Deprecated.
`T` `bringToFront()`
`T` `bringToFront(ControllerInterface<?> theController)`
`T` `close()`
`CColor` `color()` Deprecated.
`void` `continuousUpdateEvents()`
`void` `controlEvent(ControlEvent theEvent)` controlEvent is called by controlP5's ControlBroadcaster to inform available listeners about value changes.
`Controller<?>` `controller(java.lang.String theController)` Deprecated.
`T` `disableCollapse()`
`void` `draw(processing.core.PGraphics theGraphics)`
`T` `enableCollapse()`
`processing.core.PVector` `getAbsolutePosition()`
`java.lang.String` `getAddress()`
`float[]` `getArrayValue()`
`float` `getArrayValue(int theIndex)`
`Label` `getCaptionLabel()`
`CColor` `getColor()`
`Controller<?>` `getController(java.lang.String theController)`
`int` `getHeight()`
`int` `getId()`
`java.lang.String` `getInfo()`
`java.lang.String` `getName()`
`ControllerInterface<?>` `getParent()`
`int` `getPickingColor()`
`processing.core.PVector` `getPosition()`
`ControllerProperty` `getProperty(java.lang.String thePropertyName)`
`ControllerProperty` `getProperty(java.lang.String theSetter, java.lang.String theGetter)`
`java.lang.String` `getStringValue()`
`Tab` `getTab()`
`float` `getValue()`
`Label` `getValueLabel()`
`int` `getWidth()`
`ControlWindow` `getWindow()`
`T` `hide()`
`T` `hideArrow()`
`T` `hideBar()`
`int` `id()` Deprecated.
`void` `init()`
`boolean` `isBarVisible()`
`boolean` `isCollapse()`
`boolean` `isMouseOver()`
`boolean` `isMoveable()`
`boolean` `isOpen()`
`boolean` `isUpdate()` checks the update status of a controller.
`boolean` `isVisible()`
`void` `keyEvent(processing.event.KeyEvent theEvent)`
`int` `listenerSize()`
`T` `moveTo(ControllerGroup<?> theGroup)`
`T` `moveTo(ControllerGroup<?> theGroup, Tab theTab, ControlWindow theControlWindow)`
`T` `moveTo(ControlWindow theControlWindow)`
`T` `moveTo(ControlWindow theControlWindow, java.lang.String theTabName)`
`T` `moveTo(processing.core.PApplet thePApplet)`
`T` `moveTo(java.lang.String theTabName)`
`T` `moveTo(java.lang.String theTabName, ControlWindow theControlWindow)`
`T` `moveTo(Tab theTab)`
`T` `moveTo(Tab theTab, ControlWindow theControlWindow)`
`java.lang.String` `name()` Deprecated.
`T` `open()`
`ControllerInterface<?>` `parent()` Deprecated.
`processing.core.PVector` `position()` Deprecated.
`T` `registerProperty(java.lang.String thePropertyName)`
`T` `registerProperty(java.lang.String theSetter, java.lang.String theGetter)`
`void` `remove()` removes the group from controlP5.
`T` `remove(CDrawable theElement)`
`T` `remove(ControllerInterface<?> theElement)` Removes a controller from the group, but use Controller.setGroup() instead.
`T` `removeCanvas(Canvas theCanvas)` Removes a canvas from a controller group.
`T` `removeCloseButton()` TODO redesign or deprecate remove the close button.
`T` `removeListener(ControlListener theListener)`
`T` `removeProperty(java.lang.String thePropertyName)`
`T` `removeProperty(java.lang.String theSetter, java.lang.String theGetter)`
`T` `setAbsolutePosition(processing.core.PVector thePVector)`
`T` `setAddress(java.lang.String theAddress)`
`T` `setArrayValue(float[] theArray)`
`T` `setArrayValue(int theIndex, float theValue)`
`T` `setCaptionLabel(java.lang.String theValue)`
`T` `setColor(CColor theColor)`
`T` `setColorActive(int theColor)`
`T` `setColorBackground(int theColor)`
`T` `setColorForeground(int theColor)`
`T` `setColorLabel(int theColor)`
`T` `setColorValue(int theColor)`
`T` `setGroup(ControllerGroup<?> theGroup)`
`T` `setGroup(java.lang.String theName)`
`T` `setHeight(int theHeight)`
`T` `setId(int theId)`
`T` `setLabel(java.lang.String theLabel)`
`T` `setMouseOver(boolean theFlag)`
`boolean` `setMousePressed(boolean theStatus)`
`T` `setMoveable(boolean theFlag)` set the moveable status of the group, when false, the group can't be moved.
`T` `setOpen(boolean theFlag)`
`T` `setPosition(float theX, float theY)` set the position of this controller.
`T` `setPosition(processing.core.PVector thePVector)`
`T` `setSize(int theWidth, int theHeight)`
`T` `setStringValue(java.lang.String theValue)`
`T` `setTab(ControlWindow theWindow, java.lang.String theName)`
`T` `setTab(java.lang.String theName)`
`T` `setTab(Tab theTab)`
`T` `setTitle(java.lang.String theTitle)`
`T` `setUpdate(boolean theFlag)` enables or disables the update function of a controller.
`T` `setValue(float theValue)`
`T` `setVisible(boolean theFlag)`
`T` `setWidth(int theWidth)`
`T` `show()`
`T` `showArrow()`
`T` `showBar()`
`java.lang.String` `stringValue()` Deprecated.
`java.lang.String` `toString()`
`T` `update()`
`T` `updateAbsolutePosition()`
`T` `updateEvents()`
`T` `updateInternalEvents(processing.core.PApplet theApplet)` a method for putting input events like e.g.
`float` `value()` Deprecated.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### ControllerGroup

    public ControllerGroup(ControlP5 theControlP5,
                   ControllerGroup<?> theParent,
                   java.lang.String theName,
                   float theX,
                   float theY)

Parameters:
  `theControlP5` - ControlP5
  `theParent` - ControllerGroup
  `theName` - String
  `theX` - float
  `theY` - float

#### ControllerGroup

    public ControllerGroup(ControlP5 theControlP5,
                   java.lang.String theName)

Convenience constructor to extend ControllerGroup.

Parameters:
  `theControlP5` -
  `theName` -

+Example
  `

      /**
       * ControlP5 extending Controllers
       *
       * the following example shows how to extend the Controller class to
       * create customizable Controllers. You can either extend the Controller class itself,
       * or any class that extends Controller itself like the Slider, Button, DropdownList, etc.
       *
       * How to:
       *
       * 1) do a super call to the convenience constructor requiring
       * 2 parameter (ControlP5 instance, name)
       *
       * 2) the Controller class has a set of empty methods that allow you to capture
       * inputs from the mouse including
       * onEnter(), onLeave(), onPress(), onRelease(), onClick(), onScroll(int), onDrag()
       * These you can override and include functionality as needed.
       *
       * 3) use method getPointer() to return the local (relative)
       * xy-coordinates of the controller
       *
       * 4) after instantiation custom controllers are treated the same
       * as default controlP5 controllers.
       *
       * by Andreas Schlegel, 2012
       * www.sojamo.de/libraries/controlp5
       *
       */

      import controlP5.*;

      ControlP5 cp5;
      PApplet p;

      void setup() {
        size(400, 400);
        cp5 = new ControlP5(this);

        // create 2 groups to show nesting of custom controllers and
        //
        Group g1 = cp5.addGroup("a").setPosition(0,100).setWidth(180);
        Group g2 = cp5.addGroup("b").setPosition(0,10).setWidth(180);
        g2.moveTo(g1);

        // create 2 custom Controllers from class MyButton
        // MyButton extends Controller and inherits all methods accordingly.
        new MyButton(cp5, "b1").setPosition(0, 0).setSize(180, 200).moveTo(g2);
        new MyButton(cp5, "b2").setPosition(205, 15).setSize(180, 200);

      }

      void draw() {
        background(0);
      }

      // b1 will be called from Controller b1
      public void b1(float theValue) {
        println("yay button "+theValue);
      }

      public void controlEvent(ControlEvent theEvent) {
        println("controlEvent : "+theEvent);
      }

      // Create a custom Controller, please not that
      // MyButton extends Controller<MyButton>, <MyButton>
      // is an indicator for the super class about the type of
      // custom controller to be created.

      class MyButton extends Controller<MyButton> {

        int current = 0xffff0000;

        float a = 128;

        float na;

        int y;

        // use the convenience constructor of super class Controller
        // MyButton will automatically registered and move to the
        // default controlP5 tab.

        MyButton(ControlP5 cp5, String theName) {
          super(cp5, theName);

          // replace the default view with a custom view.
          setView(new ControllerView() {
            public void display(PApplet p, Object b) {
              // draw button background
              na += (a-na) * 0.1;
              p.fill(current,na);
              p.rect(0, 0, getWidth(), getHeight());

              // draw horizontal line which can be moved on the x-axis
              // using the scroll wheel.
              p.fill(0,255,0);
              p.rect(0,y,width,10);

              // draw the custom label
              p.fill(128);
              translate(0,getHeight()+14);
              p.text(getName(),0,0);
              p.text(getName(),0,0);

            }
          }
          );
        }

        // override various input methods for mouse input control
        void onEnter() {
          cursor(HAND);
          println("enter");
          a = 255;
        }

        void onScroll(int n) {
          println("scrolling");
          y -= n;
          y = constrain(y,0,getHeight()-10);
        }

        void onPress() {
          println("press");
          current = 0xffffff00;
        }

        void onClick() {
          Pointer p1 = getPointer();
          println("clicked at "+p1.x()+", "+p1.y());
          current = 0xffffff00;
          setValue(y);
        }

        void onRelease() {
          println("release");
          current = 0xffffffff;
        }

        void onMove() {
          println("moving "+this+" "+_myControlWindow.getMouseOverList());
        }

        void onDrag() {
          current = 0xff0000ff;
          Pointer p1 = getPointer();
          float dif = dist(p1.px(),p1.py(),p1.x(),p1.y());
          println("dragging at "+p1.x()+", "+p1.y()+" "+dif);
        }

        void onReleaseOutside() {
          onLeave();
        }

        void onLeave() {
          println("leave");
          cursor(ARROW);
          a = 128;
        }
      }

  `

### Method Detail

#### absolutePosition

    @Deprecated
    public processing.core.PVector absolutePosition()

Deprecated.

#### add

    public T add(ControllerInterface<?> theElement)

Adds a controller to the group, but use Controller.setGroup() instead.

Specified by:
  `add` in interface `ControllerInterface<T>`
Parameters:
  `theElement` - ControllerInterface
Returns:
  ControllerGroup

#### addCanvas

    public Canvas addCanvas(Canvas theCanvas)

Adds a canvas to a controllerGroup such as a tab or group. Use processing's draw methods to add visual content.

Parameters:
  `theCanvas` -
Returns:
  Canvas

#### addCloseButton

    public T addCloseButton()

TODO redesign or deprecate add a close button to the controlbar of this controlGroup.

#### addDrawable

    public T addDrawable(CDrawable theElement)

Parameters:
  `theElement` - CDrawable
Returns:
  ControllerGroup

#### addListener

    public T addListener(ControlListener theListener)

Specified by:
  `addListener` in interface `ControllerInterface<T>`
Parameters:
  `theListener` - ControlListener
Returns:
  Controller
See Also:
  `ControlListener`

#### arrayValue

    @Deprecated
    public float[] arrayValue()

Deprecated.

#### bringToFront

    public T bringToFront()

Specified by:
  `bringToFront` in interface `ControllerInterface<T>`

#### bringToFront

    public T bringToFront(ControllerInterface<?> theController)

Specified by:
  `bringToFront` in interface `ControllerInterface<T>`

#### close

    public T close()

#### color

    @Deprecated
    public CColor color()

Deprecated.

#### continuousUpdateEvents

    public void continuousUpdateEvents()

Specified by:
  `continuousUpdateEvents` in interface `ControllerInterface<T>`

#### controlEvent

    public void controlEvent(ControlEvent theEvent)

Description copied from interface: `ControlListener`
controlEvent is called by controlP5's ControlBroadcaster to inform available listeners about value changes. Use the CallbackListener to get informed when actions such as pressed, release, drag, etc are performed.

Specified by:
  `controlEvent` in interface `ControlListener`
Parameters:
  `theEvent` - ControlEvent
See Also:
  `CallbackListener`, `CallbackEvent`

#### controller

    @Deprecated
    public Controller<?> controller(java.lang.String theController)

Deprecated.

#### disableCollapse

    public T disableCollapse()

Returns:
  ControllerGroup

#### draw

    public final void draw(processing.core.PGraphics theGraphics)

Specified by:
  `draw` in interface `ControllerInterface<T>`

#### enableCollapse

    public T enableCollapse()

Returns:
  ControllerGroup

#### getAbsolutePosition

    public processing.core.PVector getAbsolutePosition()

Specified by:
  `getAbsolutePosition` in interface `ControllerInterface<T>`

#### getAddress

    public java.lang.String getAddress()

Specified by:
  `getAddress` in interface `ControllerInterface<T>`

#### getArrayValue

    public float[] getArrayValue()

Specified by:
  `getArrayValue` in interface `ControllerInterface<T>`

#### getArrayValue

    public float getArrayValue(int theIndex)

Specified by:
  `getArrayValue` in interface `ControllerInterface<T>`
Parameters:
  `theIndex` -
Returns:
  float

#### getCaptionLabel

    public Label getCaptionLabel()

#### getColor

    public CColor getColor()

Specified by:
  `getColor` in interface `ControllerInterface<T>`

#### getController

    public Controller<?> getController(java.lang.String theController)

#### getHeight

    public int getHeight()

Specified by:
  `getHeight` in interface `ControllerInterface<T>`

#### getId

    public int getId()

Specified by:
  `getId` in interface `ControllerInterface<T>`

#### getInfo

    public java.lang.String getInfo()

#### getName

    public java.lang.String getName()

Specified by:
  `getName` in interface `ControllerInterface<T>`
Returns:
  String

#### getParent

    public ControllerInterface<?> getParent()

Specified by:
  `getParent` in interface `ControllerInterface<T>`

#### getPickingColor

    public int getPickingColor()

Specified by:
  `getPickingColor` in interface `ControllerInterface<T>`

#### getPosition

    public processing.core.PVector getPosition()

Specified by:
  `getPosition` in interface `ControllerInterface<T>`

#### getProperty

    public ControllerProperty getProperty(java.lang.String thePropertyName)

Specified by:
  `getProperty` in interface `ControllerInterface<T>`

#### getProperty

    public ControllerProperty getProperty(java.lang.String theSetter,
                                 java.lang.String theGetter)

Specified by:
  `getProperty` in interface `ControllerInterface<T>`

#### getStringValue

    public java.lang.String getStringValue()

Specified by:
  `getStringValue` in interface `ControllerInterface<T>`

#### getTab

    public Tab getTab()

Specified by:
  `getTab` in interface `ControllerInterface<T>`
Returns:
  Tab

#### getValue

    public float getValue()

Specified by:
  `getValue` in interface `ControllerInterface<T>`

#### getValueLabel

    public Label getValueLabel()

#### getWidth

    public int getWidth()

Specified by:
  `getWidth` in interface `ControllerInterface<T>`

#### getWindow

    public ControlWindow getWindow()

Specified by:
  `getWindow` in interface `ControllerInterface<T>`
Returns:
  ControlWindow

#### hide

    public T hide()

Specified by:
  `hide` in interface `ControllerInterface<T>`

#### hideArrow

    public T hideArrow()

Returns:
  ControlGroup

#### hideBar

    public T hideBar()

#### id

    @Deprecated
    public int id()

Deprecated.

Specified by:
  `id` in interface `ControllerInterface<T>`

#### init

    public void init()

Specified by:
  `init` in interface `ControllerInterface<T>`

#### isBarVisible

    public boolean isBarVisible()

Returns:
  boolean

#### isCollapse

    public boolean isCollapse()

#### isMouseOver

    public boolean isMouseOver()

Specified by:
  `isMouseOver` in interface `ControllerInterface<T>`
Returns:
  boolean

#### isMoveable

    public boolean isMoveable()

#### isOpen

    public boolean isOpen()

Returns:
  boolean

#### isUpdate

    public boolean isUpdate()

checks the update status of a controller.

Specified by:
  `isUpdate` in interface `ControllerInterface<T>`
Returns:
  boolean

#### isVisible

    public boolean isVisible()

Specified by:
  `isVisible` in interface `ControllerInterface<T>`
Returns:
  boolean

#### keyEvent

    public void keyEvent(processing.event.KeyEvent theEvent)

Specified by:
  `keyEvent` in interface `ControllerInterface<T>`
Parameters:
  `theEvent` - KeyEvent

#### listenerSize

    public int listenerSize()

Returns:
  int

#### moveTo

    public final T moveTo(ControllerGroup<?> theGroup)

Specified by:
  `moveTo` in interface `ControllerInterface<T>`

#### moveTo

    public final T moveTo(ControllerGroup<?> theGroup,
           Tab theTab,
           ControlWindow theControlWindow)

Specified by:
  `moveTo` in interface `ControllerInterface<T>`
Parameters:
  `theGroup` - ControlGroup
  `theTab` - Tab
  `theControlWindow` - ControlWindow
Returns:
  ControllerGroup

#### moveTo

    public T moveTo(ControlWindow theControlWindow)

#### moveTo

    public final T moveTo(ControlWindow theControlWindow,
           java.lang.String theTabName)

#### moveTo

    public T moveTo(processing.core.PApplet thePApplet)

#### moveTo

    public final T moveTo(java.lang.String theTabName)

#### moveTo

    public final T moveTo(java.lang.String theTabName,
           ControlWindow theControlWindow)

#### moveTo

    public final T moveTo(Tab theTab)

#### moveTo

    public final T moveTo(Tab theTab,
           ControlWindow theControlWindow)

#### name

    @Deprecated
    public java.lang.String name()

Deprecated.

Specified by:
  `name` in interface `ControllerInterface<T>`

#### open

    public T open()

#### parent

    @Deprecated
    public ControllerInterface<?> parent()

Deprecated.

Specified by:
  `parent` in interface `ControllerInterface<T>`

#### position

    @Deprecated
    public processing.core.PVector position()

Deprecated.

#### registerProperty

    public T registerProperty(java.lang.String thePropertyName)

Specified by:
  `registerProperty` in interface `ControllerInterface<T>`

#### registerProperty

    public T registerProperty(java.lang.String theSetter,
                     java.lang.String theGetter)

Specified by:
  `registerProperty` in interface `ControllerInterface<T>`

#### remove

    public void remove()

removes the group from controlP5.

Specified by:
  `remove` in interface `ControllerInterface<T>`

#### remove

    public T remove(CDrawable theElement)

Parameters:
  `theElement` - CDrawable
Returns:
  ControllerGroup

#### remove

    public T remove(ControllerInterface<?> theElement)

Removes a controller from the group, but use Controller.setGroup() instead.

Specified by:
  `remove` in interface `ControllerInterface<T>`
Parameters:
  `theElement` - ControllerInterface
Returns:
  ControllerGroup

#### removeCanvas

    public T removeCanvas(Canvas theCanvas)

Removes a canvas from a controller group.

Parameters:
  `theCanvas` -
Returns:
  ControllerGroup

#### removeCloseButton

    public T removeCloseButton()

TODO redesign or deprecate remove the close button.

#### removeListener

    public T removeListener(ControlListener theListener)

Parameters:
  `theListener` - ControlListener
Returns:
  Controller
See Also:
  `ControlListener`

#### removeProperty

    public T removeProperty(java.lang.String thePropertyName)

Specified by:
  `removeProperty` in interface `ControllerInterface<T>`

#### removeProperty

    public T removeProperty(java.lang.String theSetter,
                   java.lang.String theGetter)

Specified by:
  `removeProperty` in interface `ControllerInterface<T>`

#### setAbsolutePosition

    public T setAbsolutePosition(processing.core.PVector thePVector)

Specified by:
  `setAbsolutePosition` in interface `ControllerInterface<T>`

#### setAddress

    public T setAddress(java.lang.String theAddress)

Specified by:
  `setAddress` in interface `ControllerInterface<T>`

#### setArrayValue

    public T setArrayValue(float[] theArray)

Specified by:
  `setArrayValue` in interface `ControllerInterface<T>`
Parameters:
  `theArray` -
Returns:
  ControllerGroup

#### setArrayValue

    public T setArrayValue(int theIndex,
                  float theValue)

Specified by:
  `setArrayValue` in interface `ControllerInterface<T>`
Parameters:
  `theIndex` -
  `theValue` -
Returns:
  Controller

#### setCaptionLabel

    public T setCaptionLabel(java.lang.String theValue)

Specified by:
  `setCaptionLabel` in interface `ControllerInterface<T>`

#### setColor

    public T setColor(CColor theColor)

Specified by:
  `setColor` in interface `ControllerInterface<T>`

#### setColorActive

    public T setColorActive(int theColor)

Specified by:
  `setColorActive` in interface `ControllerInterface<T>`

#### setColorBackground

    public T setColorBackground(int theColor)

Specified by:
  `setColorBackground` in interface `ControllerInterface<T>`

#### setColorForeground

    public T setColorForeground(int theColor)

Specified by:
  `setColorForeground` in interface `ControllerInterface<T>`

#### setColorLabel

    public T setColorLabel(int theColor)

Specified by:
  `setColorLabel` in interface `ControllerInterface<T>`

#### setColorValue

    public T setColorValue(int theColor)

Specified by:
  `setColorValue` in interface `ControllerInterface<T>`

#### setGroup

    public final T setGroup(ControllerGroup<?> theGroup)

Parameters:
  `theGroup` - ControllerGroup
Returns:
  ControllerGroup

#### setGroup

    public final T setGroup(java.lang.String theName)

Parameters:
  `theName` - String
Returns:
  ControllerGroup

#### setHeight

    public T setHeight(int theHeight)

Parameters:
  `theHeight` -
Returns:
  ControllerGroup

#### setId

    public T setId(int theId)

Specified by:
  `setId` in interface `ControllerInterface<T>`

#### setLabel

    public T setLabel(java.lang.String theLabel)

Specified by:
  `setLabel` in interface `ControllerInterface<T>`
Parameters:
  `theLabel` - String
Returns:
  ControllerGroup

#### setMouseOver

    public T setMouseOver(boolean theFlag)

Specified by:
  `setMouseOver` in interface `ControllerInterface<T>`

#### setMousePressed

    public boolean setMousePressed(boolean theStatus)

Specified by:
  `setMousePressed` in interface `ControllerInterface<T>`
Parameters:
  `theStatus` - boolean
Returns:
  boolean

#### setMoveable

    public T setMoveable(boolean theFlag)

set the moveable status of the group, when false, the group can't be moved.

Parameters:
  `theFlag` - boolean
Returns:
  ControllerGroup

#### setOpen

    public T setOpen(boolean theFlag)

#### setPosition

    public T setPosition(float theX,
                float theY)

set the position of this controller.

Specified by:
  `setPosition` in interface `ControllerInterface<T>`
Parameters:
  `theX` - float
  `theY` - float

#### setPosition

    public T setPosition(processing.core.PVector thePVector)

Specified by:
  `setPosition` in interface `ControllerInterface<T>`

#### setSize

    public T setSize(int theWidth,
            int theHeight)

#### setStringValue

    public T setStringValue(java.lang.String theValue)

Specified by:
  `setStringValue` in interface `ControllerInterface<T>`

#### setTab

    public final T setTab(ControlWindow theWindow,
           java.lang.String theName)

#### setTab

    public final T setTab(java.lang.String theName)

Parameters:
  `theName` - String
Returns:
  ControllerGroup

#### setTab

    public final T setTab(Tab theTab)

Parameters:
  `theTab` - Tab
Returns:
  ControllerGroup

#### setTitle

    public T setTitle(java.lang.String theTitle)

#### setUpdate

    public T setUpdate(boolean theFlag)

enables or disables the update function of a controller.

Specified by:
  `setUpdate` in interface `ControllerInterface<T>`
Parameters:
  `theFlag` - boolean
Returns:
  ControllerGroup

#### setValue

    public T setValue(float theValue)

Specified by:
  `setValue` in interface `ControllerInterface<T>`

#### setVisible

    public T setVisible(boolean theFlag)

Parameters:
  `theFlag` - boolean
Returns:
  ControllerGroup

#### setWidth

    public T setWidth(int theWidth)

Parameters:
  `theWidth` -
Returns:
  ControllerGroup

#### show

    public T show()

Specified by:
  `show` in interface `ControllerInterface<T>`

#### showArrow

    public T showArrow()

Returns:
  ControlGroup

#### showBar

    public T showBar()

#### stringValue

    @Deprecated
    public java.lang.String stringValue()

Deprecated.

Specified by:
  `stringValue` in interface `ControllerInterface<T>`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### update

    public T update()

Specified by:
  `update` in interface `ControllerInterface<T>`
Returns:
  ControllerGroup

#### updateAbsolutePosition

    public T updateAbsolutePosition()

Specified by:
  `updateAbsolutePosition` in interface `ControllerInterface<T>`

#### updateEvents

    public T updateEvents()

Specified by:
  `updateEvents` in interface `ControllerInterface<T>`

#### updateInternalEvents

    public T updateInternalEvents(processing.core.PApplet theApplet)

Description copied from interface: `ControllerInterface`
a method for putting input events like e.g. mouse or keyboard events and queries. this has been taken out of the draw method for better overwriting capability.

Specified by:
  `updateInternalEvents` in interface `ControllerInterface<T>`

#### value

    @Deprecated
    public float value()

Deprecated.