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

# Package controlP5

ControlP5

See: Description

Interface Summary
Interface | Description
--- | ---
CallbackListener | Use a CallbackListener to listen for controller related actions such as pressed, released, etc.
CDrawable | The CDrawable interface is used to draw controllers, primarily for internal use.
ControlKey |
ControllerInterface<T> | The ControllerInterface is inherited by all ControllerGroup and Controller classes.
ControllerView<T> | The interface ControllerView can be used to define custom displays for controllers.
ControlListener | ControlListener is an interface that can be implemented by a custom class to be notified when controller values change.
ControlP5Constants | Constant variables used with ControlP5 are stored here.
Pointer |

Class Summary
Class | Description
--- | ---
Accordion | The Accordion is a list of ControlGroups which can be expanded and collapsed.
Bang | The Bang controller triggers an event when pressed.
BitFont |
BoundingBox |
Button | A button triggers an event after it has been release.
CallbackEvent | A CallbackEvent is send when a controller action such as enter, leave, press, etc has occurs.
Canvas | Use a Canvas to draw custom graphics into a control window or the default sketch window.
CColor | A CColor instance contains the colors of a controller including the foreground-, background-, active-, captionlabel- and valuelabel-colors.
Chart | Use charts to display float array data as line chart, yet experimental, but see the ControlP5chart example for more details.
ChartData | Used by Chart, single chart data is stored here including value, (label) text, and color.
ChartDataSet | Used by Chart, a chart data set is a container to store chart data.
CheckBox | A multiple-choice radioButton.
ColorPicker | A simple color picker using sliders to adjust RGBA values.
ColorWheel |
ControlBehavior | The abstract class control behavior allows you to add custom behavior to controllers.
ControlBroadcaster | The ControlBroadcaster handles all controller value changes and distributes them accordingly to its listeners.
ControlEvent | A controlEvent is sent to a PApplet or a ControlListener whenever a controller value has changed.
ControlFont | A ControlFont is a container for a PFont that can be used to customize the font of a label.
ControlGroup<T> | In previous versions you would use the ControlGroup class to bundle controllers in a group.
Controller<T> | Controller is an abstract class that is extended by any available controller within controlP5.
ControllerGroup<T> | ControllerGroup is an abstract class and is extended by class ControlGroup, Tab, or the ListBox.
ControllerList | Stores objects of type ControllerInterface and CDrawable, mainly for internal use.
ControllerPlug | The ControllerPlug is used to do all the reflection procedures to link a controller to a variable or function inside your main application.
ControllerProperties | Values of controllers can be stored inside properties files which can be saved to file or memory.
ControllerProperty | A controller property saves the value, address, getter and setter of a registered controller.
ControllerStyle | Labels use the ControllerStyle class to store margin and padding information.
ControlP5 | controlP5 is a processing and java library for creating simple control GUIs.
ControlP5Base | The ControlP5Base supports the ControlP5 class and implements all adder methods to add controllers to controlP5.
ControlP5Legacy |
ControlTimer | control timer is a timer that can be used for example as a stop watch or a duration timer.
ControlWindow |
CP |
DropdownList |
FrameRate |
Group |
Knob | A knob is a circular slider which can be used with a limited and unlimited range.
Label | A custom label using controlP5's BitFonts or PFont based ControlFonts.
ListBox | A ListBox is a list of vertically aligned items which can be scrolled if required.
ListBoxItem | Used by the ListBox class.
Matrix | A matrix is a 2d array with a pointer that traverses through the matrix in a timed interval.
MultiList | A Multilist is a multi-menu-tree controller.
MultiListButton | Used by MultiList.
Numberbox | Click and drag the mouse inside a numberbox and move up and down to change the value of a numberbox.
Println |
Radio |
RadioButton | A radioButton is a list of toggles that can be turned on or off.
Range | A range slider works just like a slider but can be adjusted on both ends.
ScrollableList | A ScrollableList is a list of vertically aligned items which can be scrolled if required.
ScrollableList.ScrollableListView |
Slider | A slider is either used horizontally or vertically.
Slider2D | The Slider2D allows to control a handle within a 2D area.
Tab | Tabs are used to organize controllers.
Textarea | a textarea can be used to leave notes, it uses the controlP5 BitFont to render text.
Textfield | A singleline input textfield, use arrow keys to go back and forth, use backspace to delete characters.
Textlabel |
TickMark | Tickmarks are used by the Slider and Knob controller.
Toggle | a toggle can have two states, true and false, where true has the value 1 and false is 0.
Tooltip | A tooltip can be registered for individual controllers and is activated on rollover.

Enum Summary
Enum | Description
--- | ---
Textfield.InputFilter |

Annotation Types Summary
Annotation Type | Description
--- | ---
ControlElement | Used for automated controller creation using annotations.

## Package controlP5 Description

# ControlP5

ControlP5 (www.sojamo.de/libraries/controlP5) is a library written by Andreas Schlegel for the programming environment processing. ControlP5 is a GUI and controller library for processing that can be used in authoring, application mode. Controllers including Sliders, Buttons, Toggles, Knobs, Textfields, RadioButtons, Checkboxes amongst others can be easily added to a processing sketch and can be arranged in separate control windows, or can be organized in tabs or groups. The controlP5 source code repository is available on github at github.com/sojamo/controlp5.

# Javascript

Currently there is no javascript version of ControlP5, though I had started implementing a slimmed down version for processing.js but since it is currently unclear which javascript version, processing.js or p5.js, will become the default js version of processing, controlP5.js is on hold.