|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectcontrolP5.Controller
controlP5.Slider
public class Slider
A slider is either used horizontally or vertically. when adding a slider to controlP5, the width is compared against the height. if the width is bigger, you get a horizontal slider, is the height bigger, you get a vertical slider. a slider can have a fixed slider handle (one end of the slider is fixed to the left or bottom side of the controller), or a flexible slider handle (a handle you can drag).
/**
* ControlP5 Slider. Horizontal and vertical sliders,
* with and without tick marks and snap-to-tick behavior.
* by andreas schlegel, 2010
*/
/**
* ControlP5 Slider
*
* Horizontal and vertical sliders,
* With and without tick marks and snap-to-tick behavior.
*
* find a list of public methods available for the Slider Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
import controlP5.*;
ControlP5 cp5;
int myColor = color(0,0,0);
int sliderValue = 100;
int sliderTicks1 = 100;
int sliderTicks2 = 30;
Slider abc;
void setup() {
size(700,400);
noStroke();
cp5 = new ControlP5(this);
// add a horizontal sliders, the value of this slider will be linked
// to variable 'sliderValue'
cp5.addSlider("sliderValue")
.setPosition(100,50)
.setRange(0,255)
;
// create another slider with tick marks, now without
// default value, the initial value will be set according to
// the value of variable sliderTicks2 then.
cp5.addSlider("sliderTicks1")
.setPosition(100,140)
.setSize(20,100)
.setRange(0,255)
.setNumberOfTickMarks(5)
;
// add a vertical slider
cp5.addSlider("slider")
.setPosition(100,305)
.setSize(200,20)
.setRange(0,200)
.setValue(128)
;
// reposition the Label for controller 'slider'
cp5.getController("slider").getValueLabel().align(ControlP5.LEFT, ControlP5.BOTTOM_OUTSIDE).setPaddingX(0);
cp5.getController("slider").getCaptionLabel().align(ControlP5.RIGHT, ControlP5.BOTTOM_OUTSIDE).setPaddingX(0);
cp5.addSlider("sliderTicks2")
.setPosition(100,370)
.setWidth(400)
.setRange(255,0) // values can range from big to small as well
.setValue(128)
.setNumberOfTickMarks(7)
.setSliderMode(Slider.FLEXIBLE)
;
// use Slider.FIX or Slider.FLEXIBLE to change the slider handle
// by default it is Slider.FIX
}
void draw() {
background(sliderTicks1);
fill(sliderValue);
rect(0,0,width,100);
fill(myColor);
rect(0,280,width,70);
fill(sliderTicks2);
rect(0,350,width,50);
}
void slider(float theColor) {
myColor = color(theColor);
println("a slider event. setting background to "+theColor);
}
/**
* ControlP5 Slider
*
*
* find a list of public methods available for the Slider Controller
* at the bottom of this sketch.
*
* by Andreas Schlegel, 2012
* www.sojamo.de/libraries/controlp5
*
*/
/*
a list of all methods available for the Slider Controller
use ControlP5.printPublicMethodsFor(Slider.class);
to print the following list into the console.
You can find further details about class Slider in the javadoc.
Format:
ClassName : returnType methodName(parameter type)
controlP5.Slider : ArrayList getTickMarks()
controlP5.Slider : Slider setColorTickMark(int)
controlP5.Slider : Slider setHandleSize(int)
controlP5.Slider : Slider setHeight(int)
controlP5.Slider : Slider setMax(float)
controlP5.Slider : Slider setMin(float)
controlP5.Slider : Slider setNumberOfTickMarks(int)
controlP5.Slider : Slider setRange(float, float)
controlP5.Slider : Slider setScrollSensitivity(float)
controlP5.Slider : Slider setSize(int, int)
controlP5.Slider : Slider setSliderMode(int)
controlP5.Slider : Slider setTriggerEvent(int)
controlP5.Slider : Slider setValue(float)
controlP5.Slider : Slider setWidth(int)
controlP5.Slider : Slider showTickMarks(boolean)
controlP5.Slider : Slider shuffle()
controlP5.Slider : Slider snapToTickMarks(boolean)
controlP5.Slider : Slider update()
controlP5.Slider : TickMark getTickMark(int)
controlP5.Slider : float getValue()
controlP5.Slider : float getValuePosition()
controlP5.Slider : int getDirection()
controlP5.Slider : int getHandleSize()
controlP5.Slider : int getNumberOfTickMarks()
controlP5.Slider : int getSliderMode()
controlP5.Slider : int getTriggerEvent()
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 : Slider addCallback(CallbackListener)
controlP5.Controller : Slider addListener(ControlListener)
controlP5.Controller : Slider bringToFront()
controlP5.Controller : Slider bringToFront(ControllerInterface)
controlP5.Controller : Slider hide()
controlP5.Controller : Slider linebreak()
controlP5.Controller : Slider listen(boolean)
controlP5.Controller : Slider lock()
controlP5.Controller : Slider plugTo(Object)
controlP5.Controller : Slider plugTo(Object, String)
controlP5.Controller : Slider plugTo(Object[])
controlP5.Controller : Slider plugTo(Object[], String)
controlP5.Controller : Slider registerProperty(String)
controlP5.Controller : Slider registerProperty(String, String)
controlP5.Controller : Slider registerTooltip(String)
controlP5.Controller : Slider removeBehavior()
controlP5.Controller : Slider removeCallback()
controlP5.Controller : Slider removeCallback(CallbackListener)
controlP5.Controller : Slider removeListener(ControlListener)
controlP5.Controller : Slider removeProperty(String)
controlP5.Controller : Slider removeProperty(String, String)
controlP5.Controller : Slider setArrayValue(float[])
controlP5.Controller : Slider setArrayValue(int, float)
controlP5.Controller : Slider setBehavior(ControlBehavior)
controlP5.Controller : Slider setBroadcast(boolean)
controlP5.Controller : Slider setCaptionLabel(String)
controlP5.Controller : Slider setColor(CColor)
controlP5.Controller : Slider setColorActive(int)
controlP5.Controller : Slider setColorBackground(int)
controlP5.Controller : Slider setColorCaptionLabel(int)
controlP5.Controller : Slider setColorForeground(int)
controlP5.Controller : Slider setColorValueLabel(int)
controlP5.Controller : Slider setDecimalPrecision(int)
controlP5.Controller : Slider setDefaultValue(float)
controlP5.Controller : Slider setHeight(int)
controlP5.Controller : Slider setId(int)
controlP5.Controller : Slider setImages(PImage, PImage, PImage)
controlP5.Controller : Slider setImages(PImage, PImage, PImage, PImage)
controlP5.Controller : Slider setLabelVisible(boolean)
controlP5.Controller : Slider setLock(boolean)
controlP5.Controller : Slider setMax(float)
controlP5.Controller : Slider setMin(float)
controlP5.Controller : Slider setMouseOver(boolean)
controlP5.Controller : Slider setMoveable(boolean)
controlP5.Controller : Slider setPosition(PVector)
controlP5.Controller : Slider setPosition(float, float)
controlP5.Controller : Slider setSize(PImage)
controlP5.Controller : Slider setSize(int, int)
controlP5.Controller : Slider setStringValue(String)
controlP5.Controller : Slider setUpdate(boolean)
controlP5.Controller : Slider setValueLabel(String)
controlP5.Controller : Slider setView(ControllerView)
controlP5.Controller : Slider setVisible(boolean)
controlP5.Controller : Slider setWidth(int)
controlP5.Controller : Slider show()
controlP5.Controller : Slider unlock()
controlP5.Controller : Slider unplugFrom(Object)
controlP5.Controller : Slider unplugFrom(Object[])
controlP5.Controller : Slider unregisterTooltip()
controlP5.Controller : Slider update()
controlP5.Controller : Slider 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)
*/
Field Summary | |
---|---|
static int |
FIX
|
static int |
FLEXIBLE
|
Fields inherited from class controlP5.Controller |
---|
autoSpacing |
Fields inherited from interface controlP5.ControlP5Constants |
---|
acceptClassList, ACTION_BROADCAST, ACTION_ENTER, ACTION_LEAVE, ACTION_PRESSED, ACTION_RELEASED, ACTION_RELEASEDOUTSIDE, ACTIVE, ALL, ALT, ARC, ARRAY, BACKSPACE, BASELINE, BITFONT, BOOLEAN, BOTTOM, BOTTOM_OUTSIDE, CAPTIONLABEL, CENTER, COMMANDKEY, CONTROL, controlEventClass, CUSTOM, DECREASE, DEFAULT, DELETE, DONE, DOWN, ELLIPSE, ENTER, ESCAPE, EVENT, eventMethod, FADEIN, FADEOUT, FIELD, FLOAT, HALF_PI, HIDE, HIGHLIGHT, HORIZONTAL, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, KEYCONTROL, LEFT, LEFT_OUTSIDE, LINE, LOAD, MENU, METHOD, MOVE, MULTI, MULTIPLES, OVER, PI, PRESSED, PRINT, RELEASE, RESET, RIGHT, RIGHT_OUTSIDE, SAVE, SHIFT, SINGLE, SINGLE_COLUMN, SINGLE_ROW, SPRITE, STRING, SWITCH, SWITCH_BACK, SWITCH_FORE, TAB, TOP, TOP_OUTSIDE, TRANSITION_WAIT_FADEIN, TWO_PI, UP, VALUELABEL, VERBOSE, VERTICAL, WAIT |
Constructor Summary | |
---|---|
Slider(ControlP5 theControlP5,
ControllerGroup theParent,
java.lang.String theName,
float theMin,
float theMax,
float theDefaultValue,
int theX,
int theY,
int theWidth,
int theHeight)
|
|
Slider(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend Slider. |
Method Summary | |
---|---|
int |
getDirection()
|
int |
getHandleSize()
|
float |
getMax()
returns the maximum value of the controller. |
float |
getMin()
returns the minimum value of the controller. |
int |
getNumberOfTickMarks()
returns the amount of tickmarks available for a slider |
int |
getSliderMode()
|
TickMark |
getTickMark(int theIndex)
returns an instance of a tickmark by index. |
java.util.ArrayList |
getTickMarks()
returns an ArrayList of available tick marks for a slider. |
int |
getTriggerEvent()
returns the current trigger event which is either Slider.PRESSED or Slider.RELEASE |
float |
getValue()
|
float |
getValuePosition()
|
void |
init()
|
Slider |
linebreak()
|
Slider |
scrolled(int theRotationValue)
changes the value of the slider when hovering and using the mouse wheel or the scroll function of a multi-touch track pad. |
Slider |
setColorTickMark(int theColor)
sets the color of tick marks if enabled. |
Slider |
setHandleSize(int theSize)
sets the size of the Slider handle, by default it is set to either the width or height of the slider. |
Slider |
setHeight(int theValue)
set the height of the slider. |
Slider |
setMax(float theValue)
set the maximum value of the slider. |
Slider |
setMin(float theValue)
sets the minimum value of the slider. |
Slider |
setNumberOfTickMarks(int theNumber)
sets the number of tickmarks for a slider, by default tick marks are turned off. |
Slider |
setRange(float theMin,
float theMax)
|
Slider |
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. |
Slider |
setSensitivity(float theValue)
Deprecated. |
Slider |
setSize(int theWidth,
int theHeight)
|
void |
setSliderBarSize(int theSize)
Deprecated. |
Slider |
setSliderMode(int theMode)
use the slider mode to set the mode of the slider bar, which can be Slider.FLEXIBLE or Slider.FIX |
Slider |
setTriggerEvent(int theEventID)
the trigger event is set to Slider.PRESSED by default but can be changed to Slider.RELEASE so that events are triggered when the slider is released. |
Slider |
setValue(float theValue)
set the value of the slider. |
Slider |
setWidth(int theValue)
set the width of the slider. |
Slider |
showTickMarks(boolean theFlag)
shows or hides tickmarks for a slider |
Slider |
shuffle()
assigns a random value to the slider. |
Slider |
snapToTickMarks(boolean theFlag)
enables or disables snap to tick marks. |
Slider |
update()
updates the value of the controller without having to set the value explicitly. |
Slider |
updateDisplayMode(int theMode)
|
Slider |
updateInternalEvents(processing.core.PApplet theApplet)
a method for putting input events like e.g. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface controlP5.ControllerInterface |
---|
continuousUpdateEvents, draw, parent, setColorLabel, setColorValue, setLabel |
Methods inherited from interface controlP5.CDrawable |
---|
draw |
Field Detail |
---|
public static final int FIX
public static final int FLEXIBLE
Constructor Detail |
---|
public Slider(ControlP5 theControlP5, ControllerGroup theParent, java.lang.String theName, float theMin, float theMax, float theDefaultValue, int theX, int theY, int theWidth, int theHeight)
theControlP5
- ControlP5theParent
- ControllerGrouptheName
- StringtheMin
- floattheMax
- floattheDefaultValue
- floattheX
- inttheY
- inttheWidth
- inttheHeight
- intpublic Slider(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;
}
}
Method Detail |
---|
public int getDirection()
public int getHandleSize()
public float getMax()
Controller
getMax
in class Controller
public float getMin()
Controller
getMin
in class Controller
public int getNumberOfTickMarks()
public int getSliderMode()
public TickMark getTickMark(int theIndex)
theIndex
-
TickMark
public java.util.ArrayList getTickMarks()
public int getTriggerEvent()
public float getValue()
getValue
in interface ControllerInterface
getValue
in class Controller
Controller.getStringValue()
,
Controller.getArrayValue()
public float getValuePosition()
public void init()
init
in interface ControllerInterface
init
in class Controller
public Slider linebreak()
linebreak
in class Controller
public Slider scrolled(int theRotationValue)
theRotationValue
-
public Slider setColorTickMark(int theColor)
theColor
-
public Slider setHandleSize(int theSize)
theSize
- public Slider setHeight(int theValue)
setHeight
in class Controller
theValue
- int
public Slider setMax(float theValue)
setMax
in class Controller
theValue
- float
public Slider setMin(float theValue)
setMin
in class Controller
theValue
- float
public Slider setNumberOfTickMarks(int theNumber)
theNumber
- public Slider setRange(float theMin, float theMax)
public Slider setScrollSensitivity(float theValue)
theValue
-
@Deprecated public Slider setSensitivity(float theValue)
theValue
-
Slider.setScrollSensitivity(float)
public Slider setSize(int theWidth, int theHeight)
setSize
in class Controller
@Deprecated public void setSliderBarSize(int theSize)
public Slider setSliderMode(int theMode)
theMode
- intpublic Slider setTriggerEvent(int theEventID)
theEventID
- public Slider setValue(float theValue)
setValue
in interface ControllerInterface
setValue
in class Controller
theValue
- floatpublic Slider setWidth(int theValue)
setWidth
in class Controller
theValue
- int
public Slider showTickMarks(boolean theFlag)
theFlag
-
public Slider shuffle()
public Slider snapToTickMarks(boolean theFlag)
theFlag
-
public Slider update()
Controller
update
in interface ControllerInterface
update
in class Controller
Controller.setUpdate(boolean)
,
Controller.isUpdate()
public Slider updateDisplayMode(int theMode)
public Slider updateInternalEvents(processing.core.PApplet theApplet)
ControllerInterface
updateInternalEvents
in interface ControllerInterface
updateInternalEvents
in class Controller
ControllerInterface.updateInternalEvents
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |