controlP5
Class Range

java.lang.Object
  extended by controlP5.Controller
      extended by controlP5.Range
All Implemented Interfaces:
CDrawable, ControllerInterface, ControlP5Constants

public class Range
extends Controller

A range slider works just like a slider but can be adjusted on both ends.

See Also:
Slider
+Example
/**
* 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 boradcasting 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) 


*/




Field Summary
 int alignValueLabel
           
static int autoHeight
           
static processing.core.PVector autoSpacing
           
static int autoWidth
           
 
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, IDLE, IMAGE, INACTIVE, INCREASE, INTEGER, INVALID, KEYCONTROL, LEFT, LEFT_OUTSIDE, LINE, LOAD, MENU, METHOD, MOVE, 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, WAIT
 
Constructor Summary
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)
           
 
Method Summary
 float[] arrayValue()
          Deprecated. 
 float[] getArrayValue()
          returns the current float array value of a controller.
 float getHighValue()
           
 float getLowValue()
           
 TickMark getTickMark()
           
 java.util.ArrayList 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 updateDisplayMode(int theMode)
           
 Range updateInternalEvents(processing.core.PApplet theApplet)
          a method for putting input events like e.g.
 
Methods inherited from class controlP5.Controller
add, addCallback, addListener, align, bringToFront, bringToFront, changeValue, getAbsolutePosition, getAddress, getArrayValue, getBehavior, getCaptionLabel, getColor, getControllerPlugList, getControlWindow, getDecimalPrecision, getDefaultValue, getHeight, getId, getLabel, getMax, getMin, getName, getParent, getPickingColor, getPosition, getProperty, getProperty, getStringValue, getTab, getValue, getValueLabel, getWidth, getWindow, hide, init, isActive, isBroadcast, isInside, isLabelVisible, isListening, isLock, isMouseOver, isMousePressed, isMoveable, isUpdate, 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, setValueLabel, setView, setView, setVisible, show, unlock, unplugFrom, unplugFrom, unregisterTooltip, update, updateAbsolutePosition, updateEvents, updateSize
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface controlP5.ControllerInterface
continuousUpdateEvents, draw, parent, setColorLabel, setColorValue, setLabel
 
Methods inherited from interface controlP5.CDrawable
draw
 

Field Detail

alignValueLabel

public int alignValueLabel

autoHeight

public static int autoHeight

autoSpacing

public static processing.core.PVector autoSpacing

autoWidth

public static int autoWidth
Constructor Detail

Range

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)
Parameters:
theControlP5 - ControlP5
theParent - ControllerGroup
theName - String
theMin - float
theMax - float
theDefaultValue - float
theX - int
theY - int
theWidth - int
theHeight - int
Method Detail

arrayValue

@Deprecated
public float[] arrayValue()
Deprecated. 

Overrides:
arrayValue in class Controller

getArrayValue

public float[] getArrayValue()
Description copied from class: Controller
returns the current float array value of a controller.

Specified by:
getArrayValue in interface ControllerInterface
Overrides:
getArrayValue in class Controller
Returns:
float[]
See Also:
Controller.getValue(), Controller.getStringValue()

getHighValue

public float getHighValue()

getLowValue

public float getLowValue()

getTickMark

public TickMark getTickMark()

getTickMarks

public java.util.ArrayList getTickMarks()

highValue

@Deprecated
public float highValue()
Deprecated. 


lowValue

@Deprecated
public float lowValue()
Deprecated. 


mousePressed

public void mousePressed()

mouseReleased

public void mouseReleased()

mouseReleasedOutside

public void mouseReleasedOutside()

onLeave

public void onLeave()

setArrayValue

public Range setArrayValue(float[] theArray)
Overrides:
setArrayValue in class Controller
Returns:
Controller

setColorCaptionLabel

public Range setColorCaptionLabel(int theColor)
Description copied from class: Controller

Overrides:
setColorCaptionLabel in class Controller
Returns:
Controller

setColorTickMark

public Range setColorTickMark(int theColor)

setColorValueLabel

public Range setColorValueLabel(int theColor)
Overrides:
setColorValueLabel in class Controller
Returns:
Controller

setDraggable

public Range setDraggable(boolean theFlag)

setHandleSize

public Range setHandleSize(int theSize)

setHeight

public Range setHeight(int theValue)
Overrides:
setHeight in class Controller
Returns:
Controller

setHighValue

public Range setHighValue(float theValue)

setHighValueLabel

public Range setHighValueLabel(java.lang.String theLabel)

setLowValue

public Range setLowValue(float theValue)

setLowValueLabel

public Range setLowValueLabel(java.lang.String theLabel)

setMax

public Range setMax(float theValue)
Description copied from class: Controller
sets the maximum value of the Controller.

Overrides:
setMax in class Controller
Parameters:
theValue - float
Returns:
Controller

setMin

public Range setMin(float theValue)
Description copied from class: Controller
sets the minimum value of the Controller.

Overrides:
setMin in class Controller
Parameters:
theValue - float
Returns:
Controller

setNumberOfTickMarks

public Range setNumberOfTickMarks(int theNumber)

setRange

public Range setRange(float theMinValue,
                      float theMaxValue)

setRangeValues

public Range setRangeValues(float theLowValue,
                            float theHighValue)

setSliderMode

public Range setSliderMode(int theMode)

setValue

public Range setValue(float theValue)
set the value of the range-slider. to set the low and high value, use setLowValue and setHighValue or setRangeValues

Specified by:
setValue in interface ControllerInterface
Specified by:
setValue in class Controller
Parameters:
theValue - float
Returns:
Range
See Also:
Range.setLowValue(float), Range.setHighValue(float), Range.setRangeValues(float, float)

setWidth

public Range setWidth(int theValue)
Overrides:
setWidth in class Controller
Returns:
Controller

showTickMarks

public Range showTickMarks(boolean theFlag)

snapToTickMarks

public Range snapToTickMarks(boolean theFlag)

toString

public java.lang.String toString()
Overrides:
toString in class Controller

updateDisplayMode

public Range updateDisplayMode(int theMode)

updateInternalEvents

public Range updateInternalEvents(processing.core.PApplet theApplet)
Description copied from interface: ControllerInterface
a method for putting input events like e.g. mouse or keyboard events and queries. this has been taken out of the draw method for better overwriting capability.

Specified by:
updateInternalEvents in interface ControllerInterface
Overrides:
updateInternalEvents in class Controller
See Also:
ControllerInterface.updateInternalEvents


processing library controlP5 by Andreas Schlegel. (c) 2012