public class DropdownList extends ControlGroup<DropdownList>
acceptClassList, ACTION_BROADCAST, ACTION_CLICK, ACTION_DRAG, ACTION_ENTER, ACTION_EXIT, ACTION_LEAVE, ACTION_MOVE, ACTION_PRESS, ACTION_PRESSED, ACTION_RELEASE, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, 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, 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, KEYCONTROL, LEFT, LEFT_OUTSIDE, LIME, LINE, LIST, LOAD, MAROON, MENU, METHOD, MOVE, MULTI, MULTIPLES, NAVY, OLIVE, ORANGE, OVER, P2D, P3D, PI, PRESSED, PRINT, PURPLE, RED, RELEASE, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, 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_RED, THEME_RETRO, THEME_WHITE, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TREE, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT, WHITE, YELLOW
Constructor and Description |
---|
DropdownList(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend DropdownList.
|
Modifier and Type | Method and Description |
---|---|
DropdownList |
actAsPulldownMenu(boolean theValue)
Enables a ListBox to act as a pulldown menu.
|
ListBoxItem |
addItem(java.lang.String theName,
int theValue)
Adds an item to the ListBox.
|
DropdownList |
addItems(java.util.List<?> theItems) |
DropdownList |
addItems(java.util.List<?> theItems,
int theOffset) |
DropdownList |
addItems(java.lang.String[] theItems)
adds a list of items from a string array.
|
void |
beginItems() |
DropdownList |
clear()
Removes all items from a list box
|
void |
controlEvent(ControlEvent theEvent)
controlEvent is called by controlP5's ControlBroadcaster to inform available listeners about
value changes.
|
void |
endItems() |
ListBoxItem |
getItem(Controller<?> theButton)
returns a ListBoxItem based on its Button reference.
|
ListBoxItem |
getItem(int theIndex)
returns a listBoxItem by index in the list of items.
|
ListBoxItem |
getItem(java.lang.String theItemName)
TODO faulty returns a listBoxItem by name.
|
java.lang.String[][] |
getListBoxItems() |
float |
getScrollPosition() |
java.lang.String |
getStringValue() |
DropdownList |
hideScrollbar() |
boolean |
isScrollable() |
boolean |
isScrollbarEnabled() |
void |
keyEvent(processing.event.KeyEvent theEvent)
Adding key support.
|
DropdownList |
removeItem(java.lang.String theItemName)
Removes an item from the ListBox using the unique name of the item given when added to the
list.
|
DropdownList |
scroll(float theValue)
scroll the scrollList remotely.
|
void |
scrolled(int theStep) |
DropdownList |
setColor(CColor theColor) |
DropdownList |
setColorActive(int theColor) |
DropdownList |
setColorBackground(int theColor) |
DropdownList |
setColorForeground(int theColor) |
DropdownList |
setColorLabel(int theColor) |
DropdownList |
setColorValue(int theColor) |
DropdownList |
setHeight(int theHeight) |
DropdownList |
setIndex(int theIndex) |
DropdownList |
setItemHeight(int theHeight) |
DropdownList |
setListBoxItems(java.lang.String[][] l) |
DropdownList |
setScrollbarVisible(boolean theValue) |
DropdownList |
setScrollbarWidth(int theWidth) |
DropdownList |
setSize(int theWidth,
int theHeight) |
DropdownList |
setValue(float theValue) |
DropdownList |
setWidth(int theWidth) |
DropdownList |
showScrollbar() |
DropdownList |
toUpperCase(boolean theFlag) |
DropdownList |
updateInternalEvents(processing.core.PApplet theApplet)
a method for putting input events like e.g.
|
DropdownList |
updateListBoxItems() |
activateEvent, addListener, getBackgroundHeight, getBarHeight, getInfo, listenerSize, mousePressed, removeListener, setBackgroundColor, setBackgroundHeight, setBarHeight, stringValue, toString
absolutePosition, add, addCanvas, addCloseButton, addDrawable, arrayValue, bringToFront, bringToFront, close, color, continuousUpdateEvents, controller, disableCollapse, draw, enableCollapse, getAbsolutePosition, getAddress, getArrayValue, getArrayValue, getCaptionLabel, getColor, getController, getHeight, getId, getName, getParent, getPickingColor, getPosition, getProperty, getProperty, getTab, getValue, getValueLabel, getWidth, getWindow, hide, hideArrow, hideBar, id, init, isBarVisible, isCollapse, isMouseOver, isMoveable, isOpen, isUpdate, isVisible, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, name, open, parent, position, registerProperty, registerProperty, remove, remove, remove, removeCanvas, removeCloseButton, removeProperty, removeProperty, setAbsolutePosition, setAddress, setArrayValue, setArrayValue, setCaptionLabel, setGroup, setGroup, setId, setLabel, setMouseOver, setMousePressed, setMoveable, setOpen, setPosition, setPosition, setStringValue, setTab, setTab, setTab, setTitle, setUpdate, setVisible, show, showArrow, showBar, update, updateAbsolutePosition, updateEvents, value
public DropdownList(ControlP5 theControlP5, java.lang.String theName)
theControlP5
- theName
- /**
* ControlP5 extending Controllers
*
* the following example shows how to extend the Controller class to
* create customizable Controllers. You can either extend the Controller class itself,
* or any class that extends Controller itself like the Slider, Button, DropdownList, etc.
*
* How to:
*
* 1) do a super call to the convenience constructor requiring
* 2 parameter (ControlP5 instance, name)
*
* 2) the Controller class has a set of empty methods that allow you to capture
* inputs from the mouse including
* onEnter(), onLeave(), onPress(), onRelease(), onClick(), onScroll(int), onDrag()
* These you can override and include functionality as needed.
*
* 3) use method getPointer() to return the local (relative)
* xy-coordinates of the controller
*
* 4) after instantiation custom controllers are treated the same
* as default controlP5 controllers.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
PApplet p;
void setup() {
size(400, 400);
cp5 = new ControlP5(this);
// create 2 groups to show nesting of custom controllers and
//
Group g1 = cp5.addGroup("a").setPosition(0,100).setWidth(180);
Group g2 = cp5.addGroup("b").setPosition(0,10).setWidth(180);
g2.moveTo(g1);
// create 2 custom Controllers from class MyButton
// MyButton extends Controller and inherits all methods accordingly.
new MyButton(cp5, "b1").setPosition(0, 0).setSize(180, 200).moveTo(g2);
new MyButton(cp5, "b2").setPosition(205, 15).setSize(180, 200);
}
void draw() {
background(0);
}
// b1 will be called from Controller b1
public void b1(float theValue) {
println("yay button "+theValue);
}
public void controlEvent(ControlEvent theEvent) {
println("controlEvent : "+theEvent);
}
// Create a custom Controller, please not that
// MyButton extends Controller,
// is an indicator for the super class about the type of
// custom controller to be created.
class MyButton extends Controller {
int current = 0xffff0000;
float a = 128;
float na;
int y;
// use the convenience constructor of super class Controller
// MyButton will automatically registered and move to the
// default controlP5 tab.
MyButton(ControlP5 cp5, String theName) {
super(cp5, theName);
// replace the default view with a custom view.
setView(new ControllerView() {
public void display(PApplet p, Object b) {
// draw button background
na += (a-na) * 0.1;
p.fill(current,na);
p.rect(0, 0, getWidth(), getHeight());
// draw horizontal line which can be moved on the x-axis
// using the scroll wheel.
p.fill(0,255,0);
p.rect(0,y,width,10);
// draw the custom label
p.fill(128);
translate(0,getHeight()+14);
p.text(getName(),0,0);
p.text(getName(),0,0);
}
}
);
}
// override various input methods for mouse input control
void onEnter() {
cursor(HAND);
println("enter");
a = 255;
}
void onScroll(int n) {
println("scrolling");
y -= n;
y = constrain(y,0,getHeight()-10);
}
void onPress() {
println("press");
current = 0xffffff00;
}
void onClick() {
Pointer p1 = getPointer();
println("clicked at "+p1.x()+", "+p1.y());
current = 0xffffff00;
setValue(y);
}
void onRelease() {
println("release");
current = 0xffffffff;
}
void onMove() {
println("moving "+this+" "+_myControlWindow.getMouseOverList());
}
void onDrag() {
current = 0xff0000ff;
Pointer p1 = getPointer();
float dif = dist(p1.px(),p1.py(),p1.x(),p1.y());
println("dragging at "+p1.x()+", "+p1.y()+" "+dif);
}
void onReleaseOutside() {
onLeave();
}
void onLeave() {
println("leave");
cursor(ARROW);
a = 128;
}
}
public DropdownList actAsPulldownMenu(boolean theValue)
public ListBoxItem addItem(java.lang.String theName, int theValue)
theName
- StringtheValue
- intcontrolP5.ListBox#removeItem(String,int)
public DropdownList addItems(java.util.List<?> theItems)
public DropdownList addItems(java.util.List<?> theItems, int theOffset)
public DropdownList addItems(java.lang.String[] theItems)
theItems
- public void beginItems()
public DropdownList clear()
public void controlEvent(ControlEvent theEvent)
ControlListener
controlEvent
in interface ControlListener
controlEvent
in class ControlGroup<DropdownList>
theEvent
- ControlEventCallbackListener
,
CallbackEvent
public void endItems()
public ListBoxItem getItem(Controller<?> theButton)
theButton
- public ListBoxItem getItem(int theIndex)
theIndex
- public ListBoxItem getItem(java.lang.String theItemName)
theItemName
- public java.lang.String[][] getListBoxItems()
public float getScrollPosition()
public java.lang.String getStringValue()
ControllerGroup
getStringValue
in interface ControllerInterface<DropdownList>
getStringValue
in class ControllerGroup<DropdownList>
public DropdownList hideScrollbar()
public boolean isScrollable()
public boolean isScrollbarEnabled()
public void keyEvent(processing.event.KeyEvent theEvent)
keyEvent
in interface ControllerInterface<DropdownList>
keyEvent
in class ControllerGroup<DropdownList>
theEvent
- KeyEventpublic DropdownList removeItem(java.lang.String theItemName)
theItemName
- StringListBox.addItem(String,int)
public DropdownList scroll(float theValue)
public void scrolled(int theStep)
public DropdownList setColor(CColor theColor)
setColor
in interface ControllerInterface<DropdownList>
setColor
in class ControllerGroup<DropdownList>
public DropdownList setColorActive(int theColor)
setColorActive
in interface ControllerInterface<DropdownList>
setColorActive
in class ControllerGroup<DropdownList>
public DropdownList setColorBackground(int theColor)
setColorBackground
in interface ControllerInterface<DropdownList>
setColorBackground
in class ControllerGroup<DropdownList>
public DropdownList setColorForeground(int theColor)
setColorForeground
in interface ControllerInterface<DropdownList>
setColorForeground
in class ControllerGroup<DropdownList>
public DropdownList setColorLabel(int theColor)
setColorLabel
in interface ControllerInterface<DropdownList>
setColorLabel
in class ControllerGroup<DropdownList>
public DropdownList setColorValue(int theColor)
setColorValue
in interface ControllerInterface<DropdownList>
setColorValue
in class ControllerGroup<DropdownList>
public DropdownList setHeight(int theHeight)
setHeight
in class ControllerGroup<DropdownList>
public DropdownList setIndex(int theIndex)
public DropdownList setItemHeight(int theHeight)
public DropdownList setListBoxItems(java.lang.String[][] l)
public DropdownList setScrollbarVisible(boolean theValue)
public DropdownList setScrollbarWidth(int theWidth)
public DropdownList setSize(int theWidth, int theHeight)
setSize
in class ControlGroup<DropdownList>
public DropdownList setValue(float theValue)
ControllerGroup
setValue
in interface ControllerInterface<DropdownList>
setValue
in class ControllerGroup<DropdownList>
public DropdownList setWidth(int theWidth)
setWidth
in class ControllerGroup<DropdownList>
public DropdownList showScrollbar()
public DropdownList toUpperCase(boolean theFlag)
public DropdownList updateInternalEvents(processing.core.PApplet theApplet)
ControllerInterface
updateInternalEvents
in interface ControllerInterface<DropdownList>
updateInternalEvents
in class ControlGroup<DropdownList>
public DropdownList updateListBoxItems()
processing library controlP5 by Andreas Schlegel. (c) 2006-2014