Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## controlP5
Class Tab

    java.lang.Object
      controlP5.ControllerGroup
          controlP5.Tab

All Implemented Interfaces:
  ControllerInterface, ControlListener, ControlP5Constants

    public class Tab

extends ControllerGroup

Tabs are used to organize controllers. Tabs are arranged horizontally from the top-left corner by default, Tab extends ControllerGroup, for more available methods see the ControllerGroup documentation. Reposition tabs with `ControlWindow.setPositionOfTabs(int, int)`

+Example
  `

      /**
      * ControlP5 Tab
      *
      *
      * find a list of public methods available for the Tab Controller
      * at the bottom of this sketch.
      *
      * by Andreas Schlegel, 2012
      * www.sojamo.de/libraries/controlp5
      *
      */

      import controlP5.*;

      ControlP5 cp5;

      int myColorBackground = color(128);

      int sliderValue = 100;

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

        // By default all controllers are stored inside Tab 'default'
        // add a second tab with name 'extra'

        cp5.addTab("extra")
           .setColorBackground(color(0, 160, 100))
           .setColorLabel(color(255))
           .setColorActive(color(255,128,0))
           ;

        // if you want to receive a controlEvent when
        // a  tab is clicked, use activeEvent(true)

        cp5.getTab("default")
           .activateEvent(true)
           .setLabel("my default tab")
           .setId(1)
           ;

        cp5.getTab("extra")
           .activateEvent(true)
           .setId(2)
           ;

        // create a few controllers

        cp5.addButton("button")
           .setBroadcast(false)
           .setPosition(100,100)
           .setSize(80,40)
           .setValue(1)
           .setBroadcast(true)
           .getCaptionLabel().align(CENTER,CENTER)
           ;

        cp5.addButton("buttonValue")
           .setBroadcast(false)
           .setPosition(220,100)
           .setSize(80,40)
           .setValue(2)
           .setBroadcast(true)
           .getCaptionLabel().align(CENTER,CENTER)
           ;

        cp5.addSlider("slider")
           .setBroadcast(false)
           .setRange(100,200)
           .setValue(128)
           .setPosition(100,160)
           .setSize(200,20)
           .setBroadcast(true)
           ;

        cp5.addSlider("sliderValue")
           .setBroadcast(false)
           .setRange(0,255)
           .setValue(128)
           .setPosition(100,200)
           .setSize(200,20)
           .setBroadcast(true)
           ;

        // arrange controller in separate tabs

        cp5.getController("sliderValue").moveTo("extra");
        cp5.getController("slider").moveTo("global");

        // Tab 'global' is a tab that lies on top of any
        // other tab and is always visible

      }

      void draw() {
        background(myColorBackground);
        fill(sliderValue);
        rect(0,0,width,100);
      }

      void controlEvent(ControlEvent theControlEvent) {
        if (theControlEvent.isTab()) {
          println("got an event from tab : "+theControlEvent.getTab().getName()+" with id "+theControlEvent.getTab().getId());
        }
      }

      void slider(int theColor) {
        myColorBackground = color(theColor);
        println("a slider event. setting background to "+theColor);
      }

      void keyPressed() {
        if(keyCode==TAB) {
          cp5.getTab("extra").bringToFront();
        }
      }

      /*
      a list of all methods available for the Tab Controller
      use ControlP5.printPublicMethodsFor(Tab.class);
      to print the following list into the console.

      You can find further details about class Tab in the javadoc.

      Format:
      ClassName : returnType methodName(parameter type)

      controlP5.Tab : String getStringValue()
      controlP5.Tab : Tab activateEvent(boolean)
      controlP5.Tab : Tab bringToFront()
      controlP5.Tab : Tab moveTo(ControlWindow)
      controlP5.Tab : Tab setActive(boolean)
      controlP5.Tab : Tab setHeight(int)
      controlP5.Tab : Tab setLabel(String)
      controlP5.Tab : Tab setValue(float)
      controlP5.Tab : Tab setWidth(int)
      controlP5.Tab : float getValue()
      controlP5.ControllerGroup : CColor getColor()
      controlP5.ControllerGroup : ControlWindow getWindow()
      controlP5.ControllerGroup : ControlWindowCanvas addCanvas(ControlWindowCanvas)
      controlP5.ControllerGroup : Controller getController(String)
      controlP5.ControllerGroup : ControllerProperty getProperty(String)
      controlP5.ControllerGroup : ControllerProperty getProperty(String, String)
      controlP5.ControllerGroup : Label getCaptionLabel()
      controlP5.ControllerGroup : Label getValueLabel()
      controlP5.ControllerGroup : PVector getPosition()
      controlP5.ControllerGroup : String getAddress()
      controlP5.ControllerGroup : String getInfo()
      controlP5.ControllerGroup : String getName()
      controlP5.ControllerGroup : String getStringValue()
      controlP5.ControllerGroup : String toString()
      controlP5.ControllerGroup : Tab add(ControllerInterface)
      controlP5.ControllerGroup : Tab bringToFront()
      controlP5.ControllerGroup : Tab bringToFront(ControllerInterface)
      controlP5.ControllerGroup : Tab close()
      controlP5.ControllerGroup : Tab disableCollapse()
      controlP5.ControllerGroup : Tab enableCollapse()
      controlP5.ControllerGroup : Tab getTab()
      controlP5.ControllerGroup : Tab hide()
      controlP5.ControllerGroup : Tab moveTo(ControlWindow)
      controlP5.ControllerGroup : Tab moveTo(PApplet)
      controlP5.ControllerGroup : Tab open()
      controlP5.ControllerGroup : Tab registerProperty(String)
      controlP5.ControllerGroup : Tab registerProperty(String, String)
      controlP5.ControllerGroup : Tab remove(CDrawable)
      controlP5.ControllerGroup : Tab remove(ControllerInterface)
      controlP5.ControllerGroup : Tab removeCanvas(ControlWindowCanvas)
      controlP5.ControllerGroup : Tab removeProperty(String)
      controlP5.ControllerGroup : Tab removeProperty(String, String)
      controlP5.ControllerGroup : Tab setAddress(String)
      controlP5.ControllerGroup : Tab setArrayValue(float[])
      controlP5.ControllerGroup : Tab setColor(CColor)
      controlP5.ControllerGroup : Tab setColorActive(int)
      controlP5.ControllerGroup : Tab setColorBackground(int)
      controlP5.ControllerGroup : Tab setColorForeground(int)
      controlP5.ControllerGroup : Tab setColorLabel(int)
      controlP5.ControllerGroup : Tab setColorValue(int)
      controlP5.ControllerGroup : Tab setHeight(int)
      controlP5.ControllerGroup : Tab setId(int)
      controlP5.ControllerGroup : Tab setLabel(String)
      controlP5.ControllerGroup : Tab setMouseOver(boolean)
      controlP5.ControllerGroup : Tab setMoveable(boolean)
      controlP5.ControllerGroup : Tab setOpen(boolean)
      controlP5.ControllerGroup : Tab setPosition(PVector)
      controlP5.ControllerGroup : Tab setPosition(float, float)
      controlP5.ControllerGroup : Tab setStringValue(String)
      controlP5.ControllerGroup : Tab setUpdate(boolean)
      controlP5.ControllerGroup : Tab setValue(float)
      controlP5.ControllerGroup : Tab setVisible(boolean)
      controlP5.ControllerGroup : Tab setWidth(int)
      controlP5.ControllerGroup : Tab show()
      controlP5.ControllerGroup : Tab update()
      controlP5.ControllerGroup : Tab updateAbsolutePosition()
      controlP5.ControllerGroup : boolean isCollapse()
      controlP5.ControllerGroup : boolean isMouseOver()
      controlP5.ControllerGroup : boolean isMoveable()
      controlP5.ControllerGroup : boolean isOpen()
      controlP5.ControllerGroup : boolean isUpdate()
      controlP5.ControllerGroup : boolean isVisible()
      controlP5.ControllerGroup : boolean setMousePressed(boolean)
      controlP5.ControllerGroup : float getValue()
      controlP5.ControllerGroup : float[] getArrayValue()
      controlP5.ControllerGroup : int getHeight()
      controlP5.ControllerGroup : int getId()
      controlP5.ControllerGroup : int getWidth()
      controlP5.ControllerGroup : void remove()
      java.lang.Object : String toString()
      java.lang.Object : boolean equals(Object)

      */

  `

Field Summary
`boolean` | `autoWidth`
`static int` | `padding`

Fields inherited from interface controlP5.ControlP5Constants
`acceptClassList, ACTION_BROADCAST, ACTION_ENTER, ACTION_LEAVE, ACTION_PRESSED, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTIVE, ALL, ALT, ARC, ARRAY, BACKSPACE, BASELINE, BITFONT, BOOLEAN, BOTTOM, BOTTOM_OUTSIDE, CAPTIONLABEL, CENTER, COMMANDKEY, CONTROL, controlEventClass, CUSTOM, DECREASE, DEFAULT, DELETE, DONE, DOWN, ELLIPSE, ENTER, ESCAPE, EVENT, eventMethod, FADEIN, FADEOUT, FIELD, FLOAT, HALF_PI, HIDE, HIGHLIGHT, HORIZONTAL, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, KEYCONTROL, LEFT, LEFT_OUTSIDE, LINE, LOAD, MENU, METHOD, MOVE, MULTI, MULTIPLES, OVER, PI, PRESSED, PRINT, RELEASE, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SHIFT, SINGLE, SINGLE_COLUMN, SINGLE_ROW, SPRITE, STRING, SWITCH, SWITCH_BACK, SWITCH_FORE, TAB, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT`

Constructor Summary
`Tab(ControlP5 theControlP5, ControlWindow theControlWindow, java.lang.String theName)`

Method Summary
`Tab` | `activateEvent(boolean theFlag)` activates or deactivates the Event status of a tab, When activated a tab will send a controlEvent to the main application.
`Tab` | `bringToFront()`
`java.lang.String` | `getStringValue()`
`float` | `getValue()`
`boolean` | `isActive()` checks if a tab is active.
`boolean` | `isAlwaysActive()`
`void` | `mousePressed()`
`Tab` | `moveTo(ControlWindow theWindow)`
`Tab` | `setActive(boolean theFlag)` Activates a tab.
`Tab` | `setAlwaysActive(boolean theFlag)`
`Tab` | `setHeight(int theHeight)`
`Tab` | `setLabel(java.lang.String theLabel)` set the label of the group.
`Tab` | `setValue(float theValue)`
`Tab` | `setWidth(int theWidth)`
`java.lang.String` | `stringValue()` Deprecated.
`float` | `value()` Deprecated.

Methods inherited from class controlP5.ControllerGroup
`add, addCanvas, addCloseButton, addDrawable, addListener, bringToFront, close, controlEvent, disableCollapse, enableCollapse, getAbsolutePosition, getAddress, getArrayValue, getArrayValue, getCaptionLabel, getColor, getController, getHeight, getId, getInfo, getName, getPosition, getProperty, getProperty, getTab, getValueLabel, getWidth, getWindow, hide, hideArrow, hideBar, isBarVisible, isCollapse, isMouseOver, isMoveable, isOpen, isUpdate, isVisible, listenerSize, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, open, registerProperty, registerProperty, remove, remove, remove, removeCanvas, removeCloseButton, removeListener, removeProperty, removeProperty, setAddress, setArrayValue, setArrayValue, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorForeground, setColorLabel, setColorValue, setGroup, setGroup, setId, setMouseOver, setMoveable, setOpen, setPosition, setPosition, setSize, setStringValue, setTab, setTab, setTab, setTitle, setUpdate, setVisible, show, showArrow, showBar, toString, updateAbsolutePosition`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface controlP5.ControllerInterface
`continuousUpdateEvents, draw, getParent, getPickingColor, init, keyEvent, parent, setAbsolutePosition, setMousePressed, update, updateEvents, updateInternalEvents`

Field Detail

### autoWidth

    public boolean autoWidth

### padding

    public static int padding

Constructor Detail

### Tab

    public Tab(ControlP5 theControlP5,
               ControlWindow theControlWindow,
               java.lang.String theName)

Parameters:
  `theControlP5` - ControlP5
  `theControlWindow` - ControlWindow
  `theName` - String

Method Detail

### activateEvent

    public Tab activateEvent(boolean theFlag)

  activates or deactivates the Event status of a tab, When activated a tab will send a controlEvent to the main application. By default this is disabled.

  Parameters:
    `theFlag` - boolean
  Returns:
    Tab

### bringToFront

    public Tab bringToFront()

  Specified by:
    `bringToFront` in interface `ControllerInterface`
  Overrides:
    `bringToFront` in class `ControllerGroup`

### getStringValue

    public java.lang.String getStringValue()

  Specified by:
    `getStringValue` in interface `ControllerInterface`
  Overrides:
    `getStringValue` in class `ControllerGroup`

### getValue

    public float getValue()

  Specified by:
    `getValue` in interface `ControllerInterface`
  Overrides:
    `getValue` in class `ControllerGroup`

### isActive

    public boolean isActive()

  checks if a tab is active.

  Returns:
    boolean

### isAlwaysActive

    public boolean isAlwaysActive()

### mousePressed

    public void mousePressed()

### moveTo

    public Tab moveTo(ControlWindow theWindow)

  Overrides:
    `moveTo` in class `ControllerGroup`

### setActive

    public Tab setActive(boolean theFlag)

  Activates a tab.

  Parameters:
    `theFlag` - boolean

### setAlwaysActive

    public Tab setAlwaysActive(boolean theFlag)

### setHeight

    public Tab setHeight(int theHeight)

  Overrides:
    `setHeight` in class `ControllerGroup`
  Returns:
    ControllerGroup

### setLabel

    public Tab setLabel(java.lang.String theLabel)

  set the label of the group. TODO overwriting COntrollerGroup.setLabel to set the Width of a tab after renaming. this should be temporary and fixed in the future.

  Specified by:
    `setLabel` in interface `ControllerInterface`
  Overrides:
    `setLabel` in class `ControllerGroup`
  Parameters:
    `theLabel` - String
  Returns:
    Tab

### setValue

    public Tab setValue(float theValue)

  Specified by:
    `setValue` in interface `ControllerInterface`
  Overrides:
    `setValue` in class `ControllerGroup`

### setWidth

    public Tab setWidth(int theWidth)

  Overrides:
    `setWidth` in class `ControllerGroup`
  Parameters:
    `theWidth` -
  Returns:

### stringValue

    @Deprecated
    public java.lang.String stringValue()

  Deprecated.

  Overrides:
    `stringValue` in class `ControllerGroup`

### value

    @Deprecated
    public float value()

  Deprecated.

  Overrides:
    `value` in class `ControllerGroup`

Package | Class | Tree | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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