public class Accordion extends ControlGroup<Accordion>
An Accordion here is a list of ControlGroups which can be expanded and collapsed.
ControllerGroup,
ControlGroup/**
* ControlP5 Accordion
* arrange controller groups in an accordion like style.
*
* find a list of public methods available for the Accordion Controller
* at the bottom of this sketch. In the example below 3 groups with controllers
* are created and added to an accordion controller. Furthermore several key
* combinations are mapped to control individual settings of the accordion.
* An accordion comes in 2 modes, Accordion.SINGLE and Accordion.MULTI where the
* latter allows to open multiple groups of an accordion and the SINGLE mode only
* allows 1 group to be opened at a time.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
Accordion accordion;
color c = color(0, 160, 100);
void setup() {
size(400, 600);
noStroke();
smooth();
gui();
}
void gui() {
cp5 = new ControlP5(this);
// group number 1, contains 2 bangs
Group g1 = cp5.addGroup("myGroup1")
.setBackgroundColor(color(0, 64))
.setBackgroundHeight(150)
;
cp5.addBang("bang")
.setPosition(10,20)
.setSize(100,100)
.moveTo(g1)
.plugTo(this,"shuffle");
;
// group number 2, contains a radiobutton
Group g2 = cp5.addGroup("myGroup2")
.setBackgroundColor(color(0, 64))
.setBackgroundHeight(150)
;
cp5.addRadioButton("radio")
.setPosition(10,20)
.setItemWidth(20)
.setItemHeight(20)
.addItem("black", 0)
.addItem("red", 1)
.addItem("green", 2)
.addItem("blue", 3)
.addItem("grey", 4)
.setColorLabel(color(255))
.activate(2)
.moveTo(g2)
;
// group number 3, contains a bang and a slider
Group g3 = cp5.addGroup("myGroup3")
.setBackgroundColor(color(0, 64))
.setBackgroundHeight(150)
;
cp5.addBang("shuffle")
.setPosition(10,20)
.setSize(40,50)
.moveTo(g3)
;
cp5.addSlider("hello")
.setPosition(60,20)
.setSize(100,20)
.setRange(100,500)
.setValue(100)
.moveTo(g3)
;
cp5.addSlider("world")
.setPosition(60,50)
.setSize(100,20)
.setRange(100,500)
.setValue(200)
.moveTo(g3)
;
// create a new accordion
// add g1, g2, and g3 to the accordion.
accordion = cp5.addAccordion("acc")
.setPosition(40,40)
.setWidth(200)
.addItem(g1)
.addItem(g2)
.addItem(g3)
;
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {accordion.open(0,1,2);}}, 'o');
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {accordion.close(0,1,2);}}, 'c');
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {accordion.setWidth(300);}}, '1');
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {accordion.setPosition(0,0);accordion.setItemHeight(190);}}, '2');
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {accordion.setCollapseMode(ControlP5.ALL);}}, '3');
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {accordion.setCollapseMode(ControlP5.SINGLE);}}, '4');
cp5.mapKeyFor(new ControlKey() {public void keyEvent() {cp5.remove("myGroup1");}}, '0');
accordion.open(0,1,2);
// use Accordion.MULTI to allow multiple group
// to be open at a time.
accordion.setCollapseMode(Accordion.MULTI);
// when in SINGLE mode, only 1 accordion
// group can be open at a time.
// accordion.setCollapseMode(Accordion.SINGLE);
}
void radio(int theC) {
switch(theC) {
case(0):c=color(0,200);break;
case(1):c=color(255,0,0,200);break;
case(2):c=color(0, 200, 140,200);break;
case(3):c=color(0, 128, 255,200);break;
case(4):c=color(50,128);break;
}
}
void shuffle() {
c = color(random(255),random(255),random(255),random(128,255));
}
void draw() {
background(220);
fill(c);
float s1 = cp5.getController("hello").getValue();
ellipse(200,400,s1,s1);
float s2 = cp5.getController("world").getValue();
ellipse(300,100,s2,s2);
}
/*
a list of all methods available for the Accordion Controller
use ControlP5.printPublicMethodsFor(Accordion.class);
to print the following list into the console.
You can find further details about class Accordion in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Accordion : Accordion addItem(ControlGroup)
controlP5.Accordion : Accordion close()
controlP5.Accordion : Accordion open()
controlP5.Accordion : Accordion remove(ControllerInterface)
controlP5.Accordion : Accordion removeItem(ControlGroup)
controlP5.Accordion : Accordion setCollapseMode(int)
controlP5.Accordion : Accordion setItemHeight(int)
controlP5.Accordion : Accordion setMinItemHeight(int)
controlP5.Accordion : Accordion setWidth(int)
controlP5.Accordion : Accordion updateItems()
controlP5.Accordion : int getItemHeight()
controlP5.Accordion : int getMinItemHeight()
controlP5.ControlGroup : Accordion activateEvent(boolean)
controlP5.ControlGroup : Accordion addListener(ControlListener)
controlP5.ControlGroup : Accordion removeListener(ControlListener)
controlP5.ControlGroup : Accordion setBackgroundColor(int)
controlP5.ControlGroup : Accordion setBackgroundHeight(int)
controlP5.ControlGroup : Accordion setBarHeight(int)
controlP5.ControlGroup : Accordion setSize(int, int)
controlP5.ControlGroup : Accordion updateInternalEvents(PApplet)
controlP5.ControlGroup : String getInfo()
controlP5.ControlGroup : String toString()
controlP5.ControlGroup : int getBackgroundHeight()
controlP5.ControlGroup : int getBarHeight()
controlP5.ControlGroup : int listenerSize()
controlP5.ControllerGroup : Accordion add(ControllerInterface)
controlP5.ControllerGroup : Accordion addListener(ControlListener)
controlP5.ControllerGroup : Accordion bringToFront()
controlP5.ControllerGroup : Accordion bringToFront(ControllerInterface)
controlP5.ControllerGroup : Accordion close()
controlP5.ControllerGroup : Accordion disableCollapse()
controlP5.ControllerGroup : Accordion enableCollapse()
controlP5.ControllerGroup : Accordion hide()
controlP5.ControllerGroup : Accordion hideArrow()
controlP5.ControllerGroup : Accordion hideBar()
controlP5.ControllerGroup : Accordion moveTo(ControlWindow)
controlP5.ControllerGroup : Accordion moveTo(PApplet)
controlP5.ControllerGroup : Accordion open()
controlP5.ControllerGroup : Accordion registerProperty(String)
controlP5.ControllerGroup : Accordion registerProperty(String, String)
controlP5.ControllerGroup : Accordion remove(CDrawable)
controlP5.ControllerGroup : Accordion remove(ControllerInterface)
controlP5.ControllerGroup : Accordion removeCanvas(Canvas)
controlP5.ControllerGroup : Accordion removeListener(ControlListener)
controlP5.ControllerGroup : Accordion removeProperty(String)
controlP5.ControllerGroup : Accordion removeProperty(String, String)
controlP5.ControllerGroup : Accordion setAddress(String)
controlP5.ControllerGroup : Accordion setArrayValue(float[])
controlP5.ControllerGroup : Accordion setArrayValue(int, float)
controlP5.ControllerGroup : Accordion setCaptionLabel(String)
controlP5.ControllerGroup : Accordion setColor(CColor)
controlP5.ControllerGroup : Accordion setColorActive(int)
controlP5.ControllerGroup : Accordion setColorBackground(int)
controlP5.ControllerGroup : Accordion setColorForeground(int)
controlP5.ControllerGroup : Accordion setColorLabel(int)
controlP5.ControllerGroup : Accordion setColorValue(int)
controlP5.ControllerGroup : Accordion setHeight(int)
controlP5.ControllerGroup : Accordion setId(int)
controlP5.ControllerGroup : Accordion setLabel(String)
controlP5.ControllerGroup : Accordion setMouseOver(boolean)
controlP5.ControllerGroup : Accordion setMoveable(boolean)
controlP5.ControllerGroup : Accordion setOpen(boolean)
controlP5.ControllerGroup : Accordion setPosition(float, float)
controlP5.ControllerGroup : Accordion setPosition(float[])
controlP5.ControllerGroup : Accordion setSize(int, int)
controlP5.ControllerGroup : Accordion setStringValue(String)
controlP5.ControllerGroup : Accordion setTitle(String)
controlP5.ControllerGroup : Accordion setUpdate(boolean)
controlP5.ControllerGroup : Accordion setValue(float)
controlP5.ControllerGroup : Accordion setVisible(boolean)
controlP5.ControllerGroup : Accordion setWidth(int)
controlP5.ControllerGroup : Accordion show()
controlP5.ControllerGroup : Accordion showArrow()
controlP5.ControllerGroup : Accordion showBar()
controlP5.ControllerGroup : Accordion update()
controlP5.ControllerGroup : Accordion updateAbsolutePosition()
controlP5.ControllerGroup : CColor getColor()
controlP5.ControllerGroup : Canvas addCanvas(Canvas)
controlP5.ControllerGroup : ControlWindow getWindow()
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 : String getAddress()
controlP5.ControllerGroup : String getInfo()
controlP5.ControllerGroup : String getName()
controlP5.ControllerGroup : String getStringValue()
controlP5.ControllerGroup : String toString()
controlP5.ControllerGroup : Tab getTab()
controlP5.ControllerGroup : boolean isBarVisible()
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 getArrayValue(int)
controlP5.ControllerGroup : float getValue()
controlP5.ControllerGroup : float[] getArrayValue()
controlP5.ControllerGroup : float[] getPosition()
controlP5.ControllerGroup : int getHeight()
controlP5.ControllerGroup : int getId()
controlP5.ControllerGroup : int getWidth()
controlP5.ControllerGroup : int listenerSize()
controlP5.ControllerGroup : void controlEvent(ControlEvent)
controlP5.ControllerGroup : void remove()
java.lang.Object : String toString()
java.lang.Object : boolean equals(Object)
created: 2015/03/24 12:25:32
*/
acceptClassList, ACTION_BROADCAST, ACTION_CLICK, ACTION_DOUBLE_PRESS, ACTION_DRAG, ACTION_END_DRAG, ACTION_ENTER, ACTION_EXIT, ACTION_LEAVE, ACTION_MOVE, ACTION_PRESS, ACTION_PRESSED, ACTION_RELEASE, ACTION_RELEASE_OUTSIDE, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTION_START_DRAG, 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, delimiter, 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, JSON, KEYCONTROL, LEFT, LEFT_OUTSIDE, LIME, LINE, LIST, LOAD, MAROON, MENU, METHOD, MOVE, MULTI, MULTIPLES, NAVY, OLIVE, ORANGE, OVER, P2D, P3D, pathdelimiter, PI, PRESS, PRESSED, PRINT, PURPLE, RED, RELEASE, RELEASED, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SERIALIZED, 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_GREY, THEME_RED, THEME_RETRO, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TREE, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT, WHITE, YELLOW| Constructor and Description |
|---|
Accordion(ControlP5 theControlP5,
java.lang.String theName) |
| Modifier and Type | Method and Description |
|---|---|
Accordion |
addItem(ControlGroup<?> theGroup)
Adds items of type ControlGroup to the Accordion, only ControlGroups can be added.
|
Accordion |
close() |
Accordion |
close(int... theId) |
void |
controlEvent(ControlEvent theEvent)
controlEvent is called by controlP5's ControlBroadcaster to inform available listeners about
value changes.
|
int |
getItemHeight() |
int |
getMinItemHeight() |
Accordion |
open() |
Accordion |
open(int... theId) |
Accordion |
remove(ControllerInterface<?> theGroup)
Removes a ControlGroup from the accordion AND from controlP5 remove(ControllerInterface
theGroup) overwrites it's super method.
|
Accordion |
removeItem(ControlGroup<?> theGroup)
Removes a ControlGroup from the accordion and puts it back into the default tab of controlP5.
|
Accordion |
setCollapseMode(int theMode) |
Accordion |
setItemHeight(int theHeight) |
Accordion |
setMinItemHeight(int theHeight)
Sets the minimum height of a collapsed item, default value is 100.
|
Accordion |
setWidth(int theWidth) |
Accordion |
updateItems()
UpdateItems is called when changes such as remove, change of height is performed on an
accordion.
|
activateEvent, addListener, getBackgroundHeight, getBarHeight, getInfo, listenerSize, mousePressed, removeListener, setBackgroundColor, setBackgroundHeight, setBarHeight, setSize, stringValue, toString, updateInternalEventsadd, addCanvas, addCloseButton, addDrawable, bringToFront, bringToFront, continuousUpdateEvents, disableCollapse, draw, enableCollapse, getAbsolutePosition, getAddress, getArrayValue, getArrayValue, getCaptionLabel, getColor, getController, getHeight, getId, getName, getParent, getPickingColor, getPosition, getProperty, getProperty, getStringValue, getTab, getValue, getValueLabel, getWidth, getWindow, hide, hideArrow, hideBar, init, isBarVisible, isCollapse, isMouseOver, isMoveable, isOpen, isUpdate, isVisible, keyEvent, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, registerProperty, registerProperty, remove, remove, removeCanvas, removeCloseButton, removeProperty, removeProperty, set, setAbsolutePosition, setAddress, setArrayValue, setArrayValue, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorForeground, setColorLabel, setColorValue, setGroup, setGroup, setHeight, setId, setLabel, setMouseOver, setMousePressed, setMoveable, setOpen, setPosition, setPosition, setStringValue, setTab, setTab, setTab, setTitle, setUpdate, setValue, setVisible, show, showArrow, showBar, update, updateAbsolutePosition, updateEvents, x, ypublic Accordion(ControlP5 theControlP5, java.lang.String theName)
public Accordion addItem(ControlGroup<?> theGroup)
theGroup - public Accordion close()
close in class ControllerGroup<Accordion>public Accordion close(int... theId)
public void controlEvent(ControlEvent theEvent)
ControlListenercontrolEvent in interface ControlListenercontrolEvent in class ControlGroup<Accordion>theEvent - ControlEventCallbackListener,
CallbackEventpublic int getItemHeight()
public int getMinItemHeight()
public Accordion open()
open in class ControllerGroup<Accordion>public Accordion open(int... theId)
public Accordion remove(ControllerInterface<?> theGroup)
remove in interface ControllerInterface<Accordion>remove in class ControllerGroup<Accordion>removeItem(ControlGroup)public Accordion removeItem(ControlGroup<?> theGroup)
public Accordion setCollapseMode(int theMode)
public Accordion setItemHeight(int theHeight)
public Accordion setMinItemHeight(int theHeight)
theHeight - public Accordion setWidth(int theWidth)
setWidth in class ControllerGroup<Accordion>public Accordion updateItems()
processing library controlP5 by Andreas Schlegel. (c) 2006-2015