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

controlP5

## Class ControlWindow

- java.lang.Object
- - controlP5.ControlWindow

    public final class ControlWindow
    extends java.lang.Object

+Example
  `

      /**
       * ControlP5 ControlWindow
       * by andreas schlegel, 2012
       */

      import controlP5.*;

      ControlP5 cp5;

      int myColorBackground = color(0, 0, 0);

      ControlWindow controlWindow;

      public int sliderValue = 40;

      void setup() {
        size(700, 400);

        cp5 = new ControlP5(this);

      // PLEASE READ
      //
      // With controlP5 2.0 the ControlWindow has been removed,
      // please see the changelog.txt for details.
      // Instead, see the extra/ControlP5frame example for
      // a ControlWindow alternative.

      //  controlWindow = cp5.addControlWindow("controlP5window", 100, 100, 400, 200)
      //    .hideCoordinates()
      //    .setBackground(color(40))
      //    ;

        cp5.addSlider("sliderValue")
           .setRange(0, 255)
           .setPosition(40, 40)
           .setSize(200, 29)
           //.moveTo(controlWindow)
           ;
      }

      void draw() {
        background(sliderValue);
      }

      void myTextfield(String theValue) {
        println(theValue);
      }

      void myWindowTextfield(String theValue) {
        println("from controlWindow: "+theValue);
      }

      void keyPressed() {
        // if (key==',') cp5.window("controlP5window").hide();
        // if (key=='.') cp5.window("controlP5window").show();
        // controlWindow = controlP5.addControlWindow("controlP5window2",600,100,400,200);
        // controlP5.controller("sliderValue1").moveTo(controlWindow);

        // if (key=='d') {
        //   if (controlWindow.isUndecorated()) {
        //     controlWindow.setUndecorated(false);
        //   } else {
        //     controlWindow.setUndecorated(true);
        //   }
        // }
        // if (key=='t') {
        //   controlWindow.toggleUndecorated();
        // }
      }

  `

### Nested Class Summary

Nested Classes
`class` `ControlWindow.Pointer` A pointer by default is linked to the mouse and stores the x and y position as well as the pressed and released state.

### Field Summary

Fields
`int` `background`

### Constructor Summary

Constructors
Constructor and Description
`ControlWindow(ControlP5 theControlP5, processing.core.PApplet theApplet)`

### Method Summary

Methods
`ControlWindow` `activateTab(java.lang.String theTab)`
`Tab` `add(Tab theTab)`
`ControlWindow` `addCanvas(Canvas theCanvas)`
`Tab` `addTab(java.lang.String theTab)`
`ControlWindow` `clear()` clear the control window, delete all controllers from a control window.
`void` `clearKeys()`
`ControlWindow` `disableMouseWheel()` Deprecated.
`ControlWindow` `disablePointer()`
`void` `draw()`
`void` `draw(processing.core.PGraphics pg)`
`void` `draw(processing.core.PGraphics pg, int theX, int theY)`
`ControlWindow` `enableMouseWheel()` Deprecated.
`ControlWindow` `enablePointer()`
`ControlWindow` `frameRate(int theFrameRate)` sets the frame rate of the control window.
`Tab` `getCurrentTab()`
`ControllerInterface<?>` `getFirstFromMouseOverList()`
`java.util.List<ControllerInterface<?>>` `getMouseOverList()` A list of controllers that are registered with a mouseover.
`ControlWindow.Pointer` `getPointer()`
`processing.core.PVector` `getPositionOfTabs()` Returns the position of the tab bar as PVector.
`Tab` `getTab(java.lang.String theTabName)`
`ControllerList` `getTabs()`
`void` `handleKeyEvent(processing.event.KeyEvent theKeyEvent)`
`ControlWindow` `hide()` hide the controllers and tabs of the ControlWindow.
`boolean` `isDrawBackground()`
`boolean` `isMouseOver()` returns true if the mouse is inside a controller.
`boolean` `isMouseOver(ControllerInterface<?> theController)`
`boolean` `isMousePressed()`
`boolean` `isMouseWheel()` Deprecated.
`boolean` `isUndecorated()`
`boolean` `isUpdate()` check the update status of a control window.
`boolean` `isVisible()`
`void` `keyEvent(processing.event.KeyEvent theKeyEvent)`
`void` `mouseEvent(int theX, int theY, boolean pressed)` when in Android mode, call mouseEvent(int, int, boolean).
`void` `mouseEvent(processing.event.MouseEvent theMouseEvent)`
`java.lang.String` `name()` returns the name of the control window.
`processing.core.PApplet` `papplet()` get the papplet instance of the ControlWindow.
`ControlWindow` `pre()`
`void` `remove()`
`ControlWindow` `removeCanvas(Canvas theCanvas)`
`ControlWindow` `removeMouseOverFor(ControllerInterface<?> theController)`
`ControlWindow` `removeTab(Tab theTab)`
`void` `resetMouseOver()`
`ControlWindow` `setBackground(int theValue)` set the background color of the control window.
`ControlWindow` `setColorActive(int theColor)` set the color for the controller while active.
`ControlWindow` `setColorBackground(int theColor)` set the background color of the controller.
`ControlWindow` `setColorForeground(int theColor)` set the foreground color of the controller.
`ControlWindow` `setColorLabel(int theColor)` set the color of the text label of the controller.
`ControlWindow` `setColorValue(int theColor)` set the color of the values.
`ControlWindow` `setContext(CDrawable theDrawable)` Adds a custom context to a ControlWindow.
`ControlWindow` `setDrawBackground(boolean theFlag)` by default the background of a controlWindow is filled with a background color every frame.
`ControlWindow` `setLocation(int theX, int theY)`
`ControlWindow` `setPosition(int theX, int theY)`
`ControlWindow` `setPositionOfTabs(int theX, int theY)`
`ControlWindow` `setPositionOfTabs(processing.core.PVector thePVector)` Sets the position of the tab bar which is set to 0,0 by default.
`ControlWindow` `setUndecorated(boolean theFlag)`
`void` `setUpdate(boolean theFlag)` enable or disable the update function of a control window.
`ControlWindow` `show()`
`ControlWindow` `toggleUndecorated()`
`void` `update()` updates all controllers inside the control window if update is enabled.
`void` `updateEvents()`

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

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

### Field Detail

#### background

    public int background

### Constructor Detail

#### ControlWindow

    public ControlWindow(ControlP5 theControlP5,
                 processing.core.PApplet theApplet)

### Method Detail

#### activateTab

    public ControlWindow activateTab(java.lang.String theTab)

#### add

    public Tab add(Tab theTab)

#### addCanvas

    public ControlWindow addCanvas(Canvas theCanvas)

#### addTab

    public Tab addTab(java.lang.String theTab)

#### clear

    public ControlWindow clear()

clear the control window, delete all controllers from a control window.

#### clearKeys

    public void clearKeys()

#### disableMouseWheel

    @Deprecated
    public ControlWindow disableMouseWheel()

Deprecated.

#### disablePointer

    public ControlWindow disablePointer()

#### draw

    public void draw()

#### draw

    public void draw(processing.core.PGraphics pg)

#### draw

    public void draw(processing.core.PGraphics pg,
            int theX,
            int theY)

#### enableMouseWheel

    @Deprecated
    public ControlWindow enableMouseWheel()

Deprecated.

#### enablePointer

    public ControlWindow enablePointer()

#### frameRate

    public ControlWindow frameRate(int theFrameRate)

sets the frame rate of the control window.

Parameters:
  `theFrameRate` -
Returns:
  ControlWindow

#### getCurrentTab

    public Tab getCurrentTab()

#### getFirstFromMouseOverList

    public ControllerInterface<?> getFirstFromMouseOverList()

#### getMouseOverList

    public java.util.List<ControllerInterface<?>> getMouseOverList()

A list of controllers that are registered with a mouseover.

#### getPointer

    public ControlWindow.Pointer getPointer()

#### getPositionOfTabs

    public processing.core.PVector getPositionOfTabs()

Returns the position of the tab bar as PVector. to move the tabs to y-position 100, use cp5.window().getPositionOfTabs().y = 100; or cp5.window().setPositionOfTabs(new PVector(0,100,0));

Returns:
  PVector

#### getTab

    public Tab getTab(java.lang.String theTabName)

#### getTabs

    public ControllerList getTabs()

#### handleKeyEvent

    public void handleKeyEvent(processing.event.KeyEvent theKeyEvent)

Parameters:
  `theKeyEvent` - KeyEvent

#### hide

    public ControlWindow hide()

hide the controllers and tabs of the ControlWindow.

#### isDrawBackground

    public boolean isDrawBackground()

#### isMouseOver

    public boolean isMouseOver()

returns true if the mouse is inside a controller. !!! doesnt work for groups yet.

#### isMouseOver

    public boolean isMouseOver(ControllerInterface<?> theController)

#### isMousePressed

    public boolean isMousePressed()

#### isMouseWheel

    @Deprecated
    public boolean isMouseWheel()

Deprecated.

#### isUndecorated

    public boolean isUndecorated()

#### isUpdate

    public boolean isUpdate()

check the update status of a control window.

#### isVisible

    public boolean isVisible()

#### keyEvent

    public void keyEvent(processing.event.KeyEvent theKeyEvent)

#### mouseEvent

    public void mouseEvent(int theX,
                  int theY,
                  boolean pressed)

when in Android mode, call mouseEvent(int, int, boolean).

#### mouseEvent

    public void mouseEvent(processing.event.MouseEvent theMouseEvent)

#### name

    public java.lang.String name()

returns the name of the control window.

#### papplet

    public processing.core.PApplet papplet()

get the papplet instance of the ControlWindow.

#### pre

    public ControlWindow pre()

#### remove

    public void remove()

#### removeCanvas

    public ControlWindow removeCanvas(Canvas theCanvas)

#### removeMouseOverFor

    public ControlWindow removeMouseOverFor(ControllerInterface<?> theController)

#### removeTab

    public ControlWindow removeTab(Tab theTab)

#### resetMouseOver

    public void resetMouseOver()

#### setBackground

    public ControlWindow setBackground(int theValue)

set the background color of the control window.

#### setColorActive

    public ControlWindow setColorActive(int theColor)

set the color for the controller while active.

#### setColorBackground

    public ControlWindow setColorBackground(int theColor)

set the background color of the controller.

#### setColorForeground

    public ControlWindow setColorForeground(int theColor)

set the foreground color of the controller.

#### setColorLabel

    public ControlWindow setColorLabel(int theColor)

set the color of the text label of the controller.

#### setColorValue

    public ControlWindow setColorValue(int theColor)

set the color of the values.

#### setContext

    public ControlWindow setContext(CDrawable theDrawable)

Adds a custom context to a ControlWindow. Use a custom class which implements the CDrawable interface

Parameters:
  `theDrawable` - CDrawable
See Also:
  `CDrawable`

#### setDrawBackground

    public ControlWindow setDrawBackground(boolean theFlag)

by default the background of a controlWindow is filled with a background color every frame. to enable or disable the background from drawing, use setDrawBackgorund(true/false).

Parameters:
  `theFlag` -
Returns:
  ControlWindow

#### setLocation

    public ControlWindow setLocation(int theX,
                            int theY)

#### setPosition

    public ControlWindow setPosition(int theX,
                            int theY)

#### setPositionOfTabs

    public ControlWindow setPositionOfTabs(int theX,
                                  int theY)

#### setPositionOfTabs

    public ControlWindow setPositionOfTabs(processing.core.PVector thePVector)

Sets the position of the tab bar which is set to 0,0 by default. to move the tabs to y-position 100, use cp5.window().setPositionOfTabs(new PVector(0,100,0));

Parameters:
  `thePVector` -

#### setUndecorated

    public ControlWindow setUndecorated(boolean theFlag)

#### setUpdate

    public void setUpdate(boolean theFlag)

enable or disable the update function of a control window.

#### show

    public ControlWindow show()

#### toggleUndecorated

    public ControlWindow toggleUndecorated()

#### update

    public void update()

updates all controllers inside the control window if update is enabled.

#### updateEvents

    public void updateEvents()