public class Range extends Controller<Range>
Slider
/**
* ControlP5 Range
*
* find a list of public methods available for the Range 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);
int colorMin = 100;
int colorMax = 100;
Range range;
void setup() {
size(700,400);
cp5 = new ControlP5(this);
range = cp5.addRange("rangeController")
// disable broadcasting since setRange and setRangeValues will trigger an event
.setBroadcast(false)
.setPosition(50,50)
.setSize(400,40)
.setHandleSize(20)
.setRange(0,255)
.setRangeValues(50,100)
// after the initialization we turn broadcast back on again
.setBroadcast(true)
.setColorForeground(color(255,40))
.setColorBackground(color(255,40))
;
noStroke();
}
void draw() {
background(colorMax);
fill(colorMin);
rect(0,0,width,height/2);
}
void controlEvent(ControlEvent theControlEvent) {
if(theControlEvent.isFrom("rangeController")) {
// min and max values are stored in an array.
// access this array with controller().arrayValue().
// min is at index 0, max is at index 1.
colorMin = int(theControlEvent.getController().getArrayValue(0));
colorMax = int(theControlEvent.getController().getArrayValue(1));
println("range update, done.");
}
}
void keyPressed() {
switch(key) {
case('1'):range.setLowValue(0);break;
case('2'):range.setLowValue(100);break;
case('3'):range.setHighValue(120);break;
case('4'):range.setHighValue(200);break;
case('5'):range.setRangeValues(40,60);break;
}
}
/*
a list of all methods available for the Range Controller
use ControlP5.printPublicMethodsFor(Range.class);
to print the following list into the console.
You can find further details about class Range in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Range : Range setArrayValue(float[])
controlP5.Range : Range setColorCaptionLabel(int)
controlP5.Range : Range setColorTickMark(int)
controlP5.Range : Range setColorValueLabel(int)
controlP5.Range : Range setHandleSize(int)
controlP5.Range : Range setHeight(int)
controlP5.Range : Range setHighValue(float)
controlP5.Range : Range setHighValueLabel(String)
controlP5.Range : Range setLowValue(float)
controlP5.Range : Range setLowValueLabel(String)
controlP5.Range : Range setMax(float)
controlP5.Range : Range setMin(float)
controlP5.Range : Range setNumberOfTickMarks(int)
controlP5.Range : Range setRange(float, float)
controlP5.Range : Range setRangeValues(float, float)
controlP5.Range : Range setWidth(int)
controlP5.Range : Range showTickMarks(boolean)
controlP5.Range : Range snapToTickMarks(boolean)
controlP5.Range : ArrayList getTickMarks()
controlP5.Range : float getHighValue()
controlP5.Range : float getLowValue()
controlP5.Range : float[] getArrayValue()
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 : PImage setImage(PImage)
controlP5.Controller : PImage setImage(PImage, int)
controlP5.Controller : PVector getAbsolutePosition()
controlP5.Controller : PVector getPosition()
controlP5.Controller : Range addCallback(CallbackListener)
controlP5.Controller : Range addListener(ControlListener)
controlP5.Controller : Range bringToFront()
controlP5.Controller : Range bringToFront(ControllerInterface)
controlP5.Controller : Range hide()
controlP5.Controller : Range linebreak()
controlP5.Controller : Range listen(boolean)
controlP5.Controller : Range lock()
controlP5.Controller : Range plugTo(Object)
controlP5.Controller : Range plugTo(Object, String)
controlP5.Controller : Range plugTo(Object[])
controlP5.Controller : Range plugTo(Object[], String)
controlP5.Controller : Range registerProperty(String)
controlP5.Controller : Range registerProperty(String, String)
controlP5.Controller : Range registerTooltip(String)
controlP5.Controller : Range removeBehavior()
controlP5.Controller : Range removeCallback()
controlP5.Controller : Range removeCallback(CallbackListener)
controlP5.Controller : Range removeListener(ControlListener)
controlP5.Controller : Range removeProperty(String)
controlP5.Controller : Range removeProperty(String, String)
controlP5.Controller : Range setArrayValue(float[])
controlP5.Controller : Range setArrayValue(int, float)
controlP5.Controller : Range setBehavior(ControlBehavior)
controlP5.Controller : Range setBroadcast(boolean)
controlP5.Controller : Range setCaptionLabel(String)
controlP5.Controller : Range setColor(CColor)
controlP5.Controller : Range setColorActive(int)
controlP5.Controller : Range setColorBackground(int)
controlP5.Controller : Range setColorCaptionLabel(int)
controlP5.Controller : Range setColorForeground(int)
controlP5.Controller : Range setColorValueLabel(int)
controlP5.Controller : Range setDecimalPrecision(int)
controlP5.Controller : Range setDefaultValue(float)
controlP5.Controller : Range setHeight(int)
controlP5.Controller : Range setId(int)
controlP5.Controller : Range setImages(PImage, PImage, PImage)
controlP5.Controller : Range setImages(PImage, PImage, PImage, PImage)
controlP5.Controller : Range setLabelVisible(boolean)
controlP5.Controller : Range setLock(boolean)
controlP5.Controller : Range setMax(float)
controlP5.Controller : Range setMin(float)
controlP5.Controller : Range setMouseOver(boolean)
controlP5.Controller : Range setMoveable(boolean)
controlP5.Controller : Range setPosition(PVector)
controlP5.Controller : Range setPosition(float, float)
controlP5.Controller : Range setSize(PImage)
controlP5.Controller : Range setSize(int, int)
controlP5.Controller : Range setStringValue(String)
controlP5.Controller : Range setUpdate(boolean)
controlP5.Controller : Range setValueLabel(String)
controlP5.Controller : Range setView(ControllerView)
controlP5.Controller : Range setVisible(boolean)
controlP5.Controller : Range setWidth(int)
controlP5.Controller : Range show()
controlP5.Controller : Range unlock()
controlP5.Controller : Range unplugFrom(Object)
controlP5.Controller : Range unplugFrom(Object[])
controlP5.Controller : Range unregisterTooltip()
controlP5.Controller : Range update()
controlP5.Controller : Range updateSize()
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 |
---|---|
int |
alignValueLabel |
static int |
autoHeight |
static processing.core.PVector |
autoSpacing |
static int |
autoWidth |
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, 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, WAIT, WHITE, YELLOW
Constructor and Description |
---|
Range(ControlP5 theControlP5,
ControllerGroup<?> theParent,
java.lang.String theName,
float theMin,
float theMax,
float theDefaultMinValue,
float theDefaultMaxValue,
int theX,
int theY,
int theWidth,
int theHeight) |
Range(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend Range.
|
Modifier and Type | Method and Description |
---|---|
float[] |
arrayValue()
Deprecated.
|
float[] |
getArrayValue()
returns the current float array value of a controller.
|
float |
getHighValue() |
float |
getLowValue() |
TickMark |
getTickMark() |
java.util.ArrayList<TickMark> |
getTickMarks() |
float |
highValue()
Deprecated.
|
float |
lowValue()
Deprecated.
|
void |
mousePressed() |
void |
mouseReleased() |
void |
mouseReleasedOutside() |
void |
onLeave() |
Range |
setArrayValue(float[] theArray) |
Range |
setColorCaptionLabel(int theColor) |
Range |
setColorTickMark(int theColor) |
Range |
setColorValueLabel(int theColor) |
Range |
setDraggable(boolean theFlag) |
Range |
setHandleSize(int theSize) |
Range |
setHeight(int theValue) |
Range |
setHighValue(float theValue) |
Range |
setHighValueLabel(java.lang.String theLabel) |
Range |
setLowValue(float theValue) |
Range |
setLowValueLabel(java.lang.String theLabel) |
Range |
setMax(float theValue)
sets the maximum value of the Controller.
|
Range |
setMin(float theValue)
sets the minimum value of the Controller.
|
Range |
setNumberOfTickMarks(int theNumber) |
Range |
setRange(float theMinValue,
float theMaxValue) |
Range |
setRangeValues(float theLowValue,
float theHighValue) |
Range |
setSliderMode(int theMode) |
Range |
setValue(float theValue)
set the value of the range-slider.
|
Range |
setWidth(int theValue) |
Range |
showTickMarks(boolean theFlag) |
Range |
snapToTickMarks(boolean theFlag) |
java.lang.String |
toString() |
Range |
update()
updates the value of the controller without having to set the value explicitly.
|
Range |
updateDisplayMode(int theMode) |
Range |
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, 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, linebreak, 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, setBehavior, setBroadcast, setCaptionLabel, setColor, setColorActive, setColorBackground, setColorForeground, setDecimalPrecision, setDefaultValue, setGroup, setGroup, setId, setImage, setImage, setImages, setImages, setImages, setLabelVisible, setLock, setMouseOver, setMousePressed, setMoveable, setParent, setPosition, setPosition, setSize, setSize, setStringValue, setTab, setTab, setUpdate, setUserInteraction, setValueLabel, setValueSelf, setView, setView, setVisible, show, unlock, unplugFrom, unplugFrom, unregisterTooltip, updateAbsolutePosition, updateEvents, updateSize
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
parent, setColorLabel, setColorValue, setLabel
public int alignValueLabel
public static int autoHeight
public static processing.core.PVector autoSpacing
public static int autoWidth
public Range(ControlP5 theControlP5, ControllerGroup<?> theParent, java.lang.String theName, float theMin, float theMax, float theDefaultMinValue, float theDefaultMaxValue, int theX, int theY, int theWidth, int theHeight)
theControlP5
- ControlP5theParent
- ControllerGrouptheName
- StringtheMin
- floattheMax
- floattheDefaultValue
- floattheX
- inttheY
- inttheWidth
- inttheHeight
- intpublic Range(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;
}
}
@Deprecated public float[] arrayValue()
arrayValue
in class Controller<Range>
public float[] getArrayValue()
Controller
getArrayValue
in interface ControllerInterface<Range>
getArrayValue
in class Controller<Range>
Controller.getValue()
,
Controller.getStringValue()
public float getHighValue()
public float getLowValue()
public TickMark getTickMark()
public java.util.ArrayList<TickMark> getTickMarks()
@Deprecated public float highValue()
@Deprecated public float lowValue()
public void mousePressed()
public void mouseReleased()
public void mouseReleasedOutside()
public void onLeave()
public Range setArrayValue(float[] theArray)
setArrayValue
in interface ControllerInterface<Range>
setArrayValue
in class Controller<Range>
public Range setColorCaptionLabel(int theColor)
Controller
setColorCaptionLabel
in class Controller<Range>
public Range setColorTickMark(int theColor)
public Range setColorValueLabel(int theColor)
setColorValueLabel
in class Controller<Range>
public Range setDraggable(boolean theFlag)
public Range setHandleSize(int theSize)
public Range setHeight(int theValue)
setHeight
in class Controller<Range>
public Range setHighValue(float theValue)
public Range setHighValueLabel(java.lang.String theLabel)
public Range setLowValue(float theValue)
public Range setLowValueLabel(java.lang.String theLabel)
public Range setMax(float theValue)
Controller
setMax
in class Controller<Range>
theValue
- floatpublic Range setMin(float theValue)
Controller
setMin
in class Controller<Range>
theValue
- floatpublic Range setNumberOfTickMarks(int theNumber)
public Range setRange(float theMinValue, float theMaxValue)
public Range setRangeValues(float theLowValue, float theHighValue)
public Range setSliderMode(int theMode)
public Range setValue(float theValue)
setValue
in interface ControllerInterface<Range>
setValue
in class Controller<Range>
theValue
- floatsetLowValue(float)
,
setHighValue(float)
,
setRangeValues(float, float)
public Range setWidth(int theValue)
setWidth
in class Controller<Range>
public Range showTickMarks(boolean theFlag)
public Range snapToTickMarks(boolean theFlag)
public java.lang.String toString()
toString
in class Controller<Range>
public Range update()
Controller
update
in interface ControllerInterface<Range>
update
in class Controller<Range>
Controller.setUpdate(boolean)
,
Controller.isUpdate()
public Range updateDisplayMode(int theMode)
public Range updateInternalEvents(processing.core.PApplet theApplet)
ControllerInterface
updateInternalEvents
in interface ControllerInterface<Range>
updateInternalEvents
in class Controller<Range>
ControllerInterface.updateInternalEvents
processing library controlP5 by Andreas Schlegel. (c) 2006-2014