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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Field and Description
    --- | ---
    `int` | `background`

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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` | `disablePointer()`
    `void` | `draw()`
    `void` | `draw(processing.core.PGraphics pg)`
    `void` | `draw(processing.core.PGraphics pg, int theX, int theY)`
    `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` | `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()

    - #### 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)

    - #### 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()

    - #### 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.getWindow().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()

processing library controlP5 by Andreas Schlegel. (c) 2006-2015