public class Numberbox extends Controller<Numberbox>
/**
* ControlP5 Numberbox
*
*
* find a list of public methods available for the Numberbox Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
int myColorBackground = color(0,0,0);
public float numberboxValue = 100;
void setup() {
size(700,400);
noStroke();
cp5 = new ControlP5(this);
cp5.addNumberbox("numberbox")
.setPosition(100,160)
.setSize(100,14)
.setScrollSensitivity(1.1)
.setValue(50)
;
cp5.addNumberbox("numberboxValue")
.setPosition(100,200)
.setSize(100,14)
.setRange(0,200)
.setMultiplier(0.1) // set the sensitifity of the numberbox
.setDirection(Controller.HORIZONTAL) // change the control direction to left/right
.setValue(100)
;
}
void draw() {
background(myColorBackground);
fill(numberboxValue);
rect(0,0,width,100);
}
void numberbox(int theColor) {
myColorBackground = color(theColor);
println("a numberbox event. setting background to "+theColor);
}
/*
a list of all methods available for the Numberbox Controller
use ControlP5.printPublicMethodsFor(Numberbox.class);
to print the following list into the console.
You can find further details about class Numberbox in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Numberbox : Numberbox linebreak()
controlP5.Numberbox : Numberbox setDirection(int)
controlP5.Numberbox : Numberbox setMultiplier(float)
controlP5.Numberbox : Numberbox setRange(float, float)
controlP5.Numberbox : Numberbox setScrollSensitivity(float)
controlP5.Numberbox : Numberbox setValue(float)
controlP5.Numberbox : Numberbox shuffle()
controlP5.Numberbox : Numberbox update()
controlP5.Numberbox : float getMultiplier()
controlP5.Controller : CColor getColor()
controlP5.Controller : ControlBehavior getBehavior()
controlP5.Controller : ControlWindow getControlWindow()
controlP5.Controller : ControlWindow getWindow()
controlP5.Controller : ControllerProperty getProperty(String)
controlP5.Controller : ControllerProperty getProperty(String, String)
controlP5.Controller : Label getCaptionLabel()
controlP5.Controller : Label getValueLabel()
controlP5.Controller : List getControllerPlugList()
controlP5.Controller : Numberbox addCallback(CallbackListener)
controlP5.Controller : Numberbox addListener(ControlListener)
controlP5.Controller : Numberbox bringToFront()
controlP5.Controller : Numberbox bringToFront(ControllerInterface)
controlP5.Controller : Numberbox hide()
controlP5.Controller : Numberbox linebreak()
controlP5.Controller : Numberbox listen(boolean)
controlP5.Controller : Numberbox lock()
controlP5.Controller : Numberbox plugTo(Object)
controlP5.Controller : Numberbox plugTo(Object, String)
controlP5.Controller : Numberbox plugTo(Object[])
controlP5.Controller : Numberbox plugTo(Object[], String)
controlP5.Controller : Numberbox registerProperty(String)
controlP5.Controller : Numberbox registerProperty(String, String)
controlP5.Controller : Numberbox registerTooltip(String)
controlP5.Controller : Numberbox removeBehavior()
controlP5.Controller : Numberbox removeCallback()
controlP5.Controller : Numberbox removeCallback(CallbackListener)
controlP5.Controller : Numberbox removeListener(ControlListener)
controlP5.Controller : Numberbox removeProperty(String)
controlP5.Controller : Numberbox removeProperty(String, String)
controlP5.Controller : Numberbox setArrayValue(float[])
controlP5.Controller : Numberbox setArrayValue(int, float)
controlP5.Controller : Numberbox setBehavior(ControlBehavior)
controlP5.Controller : Numberbox setBroadcast(boolean)
controlP5.Controller : Numberbox setCaptionLabel(String)
controlP5.Controller : Numberbox setColor(CColor)
controlP5.Controller : Numberbox setColorActive(int)
controlP5.Controller : Numberbox setColorBackground(int)
controlP5.Controller : Numberbox setColorCaptionLabel(int)
controlP5.Controller : Numberbox setColorForeground(int)
controlP5.Controller : Numberbox setColorValueLabel(int)
controlP5.Controller : Numberbox setDecimalPrecision(int)
controlP5.Controller : Numberbox setDefaultValue(float)
controlP5.Controller : Numberbox setHeight(int)
controlP5.Controller : Numberbox setId(int)
controlP5.Controller : Numberbox setImages(PImage, PImage, PImage)
controlP5.Controller : Numberbox setImages(PImage, PImage, PImage, PImage)
controlP5.Controller : Numberbox setLabelVisible(boolean)
controlP5.Controller : Numberbox setLock(boolean)
controlP5.Controller : Numberbox setMax(float)
controlP5.Controller : Numberbox setMin(float)
controlP5.Controller : Numberbox setMouseOver(boolean)
controlP5.Controller : Numberbox setMoveable(boolean)
controlP5.Controller : Numberbox setPosition(PVector)
controlP5.Controller : Numberbox setPosition(float, float)
controlP5.Controller : Numberbox setSize(PImage)
controlP5.Controller : Numberbox setSize(int, int)
controlP5.Controller : Numberbox setStringValue(String)
controlP5.Controller : Numberbox setUpdate(boolean)
controlP5.Controller : Numberbox setValueLabel(String)
controlP5.Controller : Numberbox setView(ControllerView)
controlP5.Controller : Numberbox setVisible(boolean)
controlP5.Controller : Numberbox setWidth(int)
controlP5.Controller : Numberbox show()
controlP5.Controller : Numberbox unlock()
controlP5.Controller : Numberbox unplugFrom(Object)
controlP5.Controller : Numberbox unplugFrom(Object[])
controlP5.Controller : Numberbox unregisterTooltip()
controlP5.Controller : Numberbox update()
controlP5.Controller : Numberbox updateSize()
controlP5.Controller : PImage setImage(PImage)
controlP5.Controller : PImage setImage(PImage, int)
controlP5.Controller : PVector getAbsolutePosition()
controlP5.Controller : PVector getPosition()
controlP5.Controller : String getAddress()
controlP5.Controller : String getInfo()
controlP5.Controller : String getName()
controlP5.Controller : String getStringValue()
controlP5.Controller : String toString()
controlP5.Controller : Tab getTab()
controlP5.Controller : boolean isActive()
controlP5.Controller : boolean isBroadcast()
controlP5.Controller : boolean isInside()
controlP5.Controller : boolean isLabelVisible()
controlP5.Controller : boolean isListening()
controlP5.Controller : boolean isLock()
controlP5.Controller : boolean isMouseOver()
controlP5.Controller : boolean isMousePressed()
controlP5.Controller : boolean isMoveable()
controlP5.Controller : boolean isUpdate()
controlP5.Controller : boolean isVisible()
controlP5.Controller : float getArrayValue(int)
controlP5.Controller : float getDefaultValue()
controlP5.Controller : float getMax()
controlP5.Controller : float getMin()
controlP5.Controller : float getValue()
controlP5.Controller : float[] getArrayValue()
controlP5.Controller : int getDecimalPrecision()
controlP5.Controller : int getHeight()
controlP5.Controller : int getId()
controlP5.Controller : int getWidth()
controlP5.Controller : int listenerSize()
controlP5.Controller : void remove()
controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString()
java.lang.Object : boolean equals(Object)
*/
Modifier and Type | Field and Description |
---|---|
static int |
autoHeight |
static int |
autoWidth |
static int |
DOWN |
static int |
LEFT |
static int |
RIGHT |
static int |
UP |
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, 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_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_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, VALUELABEL, VERBOSE, VERTICAL, WAIT, WHITE, YELLOW
Constructor and Description |
---|
Numberbox(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend Numberbox.
|
Numberbox(ControlP5 theControlP5,
Tab theParent,
java.lang.String theName,
float theDefaultValue,
int theX,
int theY,
int theWidth,
int theHeight) |
Modifier and Type | Method and Description |
---|---|
float |
getMultiplier() |
Numberbox |
linebreak() |
void |
mousePressed() |
void |
mouseReleased() |
void |
mouseReleasedOutside() |
Numberbox |
scrolled(int theRotationValue)
changes the value of the numberbox when hovering and using the mouse wheel or the scroll
function of a multi-touch track pad.
|
Numberbox |
setDirection(int theValue)
set the direction for changing the numberbox value when dragging the mouse.
|
Numberbox |
setMultiplier(float theMultiplier) |
Numberbox |
setRange(float theMin,
float theMax) |
Numberbox |
setScrollSensitivity(float theValue)
sets the sensitivity for the scroll behavior when using the mouse wheel or the scroll
function of a multi-touch track pad.
|
Numberbox |
setSensitivity(float theValue)
Deprecated.
|
Numberbox |
setValue(float theValue)
set the value of the numberbox.
|
Numberbox |
shuffle()
assigns a random value to the controller.
|
Numberbox |
update()
updates the value of the controller without having to set the value explicitly.
|
Numberbox |
updateDisplayMode(int theMode) |
Numberbox |
updateInternalEvents(processing.core.PApplet theApplet)
a method for putting input events like e.g.
|
add, addCallback, addListener, align, bringToFront, bringToFront, changeValue, continuousUpdateEvents, draw, getAbsolutePosition, getAddress, getArrayValue, getArrayValue, getBehavior, getCaptionLabel, getColor, getControllerPlugList, getControlWindow, getDecimalPrecision, getDefaultValue, getHeight, getId, getInfo, getLabel, getMax, getMin, getName, getParent, getPickingColor, getPointer, getPosition, getProperty, getProperty, getStringValue, getTab, getValue, getValueLabel, getView, getWidth, getWindow, hide, init, isActive, isBroadcast, isInside, isLabelVisible, isListening, isLock, isMouseOver, isMousePressed, isMoveable, isUpdate, isUserInteraction, isVisible, keyEvent, listen, listenerSize, lock, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, moveTo, plugTo, plugTo, plugTo, plugTo, registerProperty, registerProperty, registerTooltip, remove, remove, removeBehavior, removeCallback, removeCallback, removeListener, removeProperty, removeProperty, setAbsolutePosition, setAddress, setArrayValue, setArrayValue, setBehavior, setBroadcast, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorCaptionLabel, setColorForeground, setColorValueLabel, setDecimalPrecision, setDefaultValue, setGroup, setGroup, setHeight, setId, setImage, setImage, setImages, setImages, setImages, setLabelVisible, setLock, setMax, setMin, setMouseOver, setMousePressed, setMoveable, setParent, setPosition, setPosition, setSize, setSize, setStringValue, setTab, setTab, setUpdate, setUserInteraction, setValueLabel, setValueSelf, setView, setView, setVisible, setWidth, show, toString, unlock, unplugFrom, unplugFrom, unregisterTooltip, updateAbsolutePosition, updateEvents, updateSize
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
parent, setColorLabel, setColorValue, setLabel
public static int autoHeight
public static int autoWidth
public static int DOWN
public static int LEFT
public static int RIGHT
public static int UP
public Numberbox(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 Numberbox(ControlP5 theControlP5, Tab theParent, java.lang.String theName, float theDefaultValue, int theX, int theY, int theWidth, int theHeight)
theControlP5
- ControlP5theParent
- TabtheName
- StringtheDefaultValue
- floattheX
- inttheY
- inttheWidth
- inttheHeight
- intpublic float getMultiplier()
public Numberbox linebreak()
linebreak
in class Controller<Numberbox>
public void mousePressed()
public void mouseReleased()
public void mouseReleasedOutside()
public Numberbox scrolled(int theRotationValue)
theRotationValue
- public Numberbox setDirection(int theValue)
theValue
- public Numberbox setMultiplier(float theMultiplier)
theMultiplier
- public Numberbox setRange(float theMin, float theMax)
public Numberbox setScrollSensitivity(float theValue)
theValue
- @Deprecated public Numberbox setSensitivity(float theValue)
theValue
- setScrollSensitivity(float)
public Numberbox setValue(float theValue)
setValue
in interface ControllerInterface<Numberbox>
setValue
in class Controller<Numberbox>
theValue
- floatpublic Numberbox shuffle()
public Numberbox update()
Controller
update
in interface ControllerInterface<Numberbox>
update
in class Controller<Numberbox>
Controller.setUpdate(boolean)
,
Controller.isUpdate()
public Numberbox updateDisplayMode(int theMode)
public Numberbox updateInternalEvents(processing.core.PApplet theApplet)
ControllerInterface
updateInternalEvents
in interface ControllerInterface<Numberbox>
updateInternalEvents
in class Controller<Numberbox>
ControllerInterface.updateInternalEvents
processing library controlP5 by Andreas Schlegel. (c) 2006-2014