|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectcontrolP5.ControllerGroup
controlP5.ControlGroup
controlP5.RadioButton
public class RadioButton
A radioButton is a list of toggles that can be turned on or off. radioButton is of type ControllerGroup, therefore a controllerPlug can't be set. this means that an event from a radioButton can't be forwarded to a method other than controlEvent in a sketch. a radioButton has 2 sets of values. radioButton.getValue() returns the value of the active radioButton item. radioButton.getArrayValue() returns a float array that represents the active (1) and inactive (0) items of a radioButton. ControlP5 CheckBox Toggle
/**
* ControlP5 RadioButton
*
*
* find a list of public methods available for the RadioButton 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);
RadioButton r;
void setup() {
size(700,400);
cp5 = new ControlP5(this);
r = cp5.addRadioButton("radioButton")
.setPosition(20,160)
.setSize(40,20)
.setColorForeground(color(120))
.setColorActive(color(255))
.setColorLabel(color(255))
.setItemsPerRow(5)
.setSpacingColumn(50)
.addItem("50",1)
.addItem("100",2)
.addItem("150",3)
.addItem("200",4)
.addItem("250",5)
;
for(Toggle t:r.getItems()) {
t.captionLabel().setColorBackground(color(255,80));
t.captionLabel().style().moveMargin(-7,0,0,-3);
t.captionLabel().style().movePadding(7,0,0,3);
t.captionLabel().style().backgroundWidth = 45;
t.captionLabel().style().backgroundHeight = 13;
}
}
void draw() {
background(myColorBackground);
}
void keyPressed() {
switch(key) {
case('0'): r.deactivateAll(); break;
case('1'): r.activate(0); break;
case('2'): r.activate(1); break;
case('3'): r.activate(2); break;
case('4'): r.activate(3); break;
case('5'): r.activate(4); break;
}
}
void controlEvent(ControlEvent theEvent) {
if(theEvent.isFrom(r)) {
print("got an event from "+theEvent.getName()+"\t");
for(int i=0;i
Field Summary |
---|
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 | |
---|---|
RadioButton(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend RadioButton. |
Method Summary | |
---|---|
RadioButton |
activate(int theIndex)
Deactivates all active RadioButton items and only activates the item corresponding to theIndex. |
RadioButton |
activate(java.lang.String theName)
Actives an item of the Radio button by name. |
RadioButton |
addItem(java.lang.String theName,
float theValue)
|
RadioButton |
addItem(Toggle theToggle,
float theValue)
|
RadioButton |
align(int[] a)
|
RadioButton |
align(int theX,
int theY)
|
RadioButton |
alignX(int theX)
|
RadioButton |
alignY(int theY)
|
RadioButton |
deactivate(int theIndex)
|
RadioButton |
deactivate(java.lang.String theName)
Deactivates a RadioButton by name and sets the value of the RadioButton to the default value -1. |
RadioButton |
deactivateAll()
|
int[] |
getAlign()
|
Toggle |
getItem(int theIndex)
Gets a radio button item by index. |
Toggle |
getItem(java.lang.String theName)
|
java.util.List |
getItems()
|
boolean |
getState(int theIndex)
Gets the state of an item - this can be true (for on) or false (for off) - by index. |
boolean |
getState(java.lang.String theName)
Gets the state of an item - this can be true (for on) or false (for off) - by name. |
RadioButton |
hideLabels()
|
RadioButton |
plugTo(java.lang.Object theObject)
|
RadioButton |
plugTo(java.lang.Object theObject,
java.lang.String thePlugName)
|
RadioButton |
removeItem(java.lang.String theName)
|
RadioButton |
setArrayValue(float[] theArray)
Sets the value for all RadioButton items according to the values of the array passed on. |
RadioButton |
setColorLabels(int theColor)
|
RadioButton |
setImage(processing.core.PImage theImage)
|
RadioButton |
setImage(processing.core.PImage theImage,
int theState)
|
RadioButton |
setImages(processing.core.PImage theDefaultImage,
processing.core.PImage theOverImage,
processing.core.PImage theActiveImage)
|
RadioButton |
setItemHeight(int theItemHeight)
set the height of a radioButton/checkBox item. |
RadioButton |
setItemsPerRow(int theValue)
Items of a radioButton or a checkBox are organized in columns and rows. |
RadioButton |
setItemWidth(int theItemWidth)
set the width of a radioButton/checkBox item. |
RadioButton |
setLabelPadding(int thePaddingX,
int thePaddingY)
|
RadioButton |
setNoneSelectedAllowed(boolean theValue)
In order to always have 1 item selected, use setNoneSelectedAllowed(false), by default this is true. |
RadioButton |
setSize(int theWidth,
int theHeight)
|
RadioButton |
setSize(processing.core.PImage theImage)
|
RadioButton |
setSpacingColumn(int theSpacing)
Sets the spacing in pixels between columns. |
RadioButton |
setSpacingRow(int theSpacing)
Sets the spacing in pixels between rows. |
RadioButton |
showLabels()
|
RadioButton |
toUpperCase(boolean theValue)
|
Methods inherited from class controlP5.ControlGroup |
---|
activateEvent, addListener, controlEvent, getBackgroundHeight, getBarHeight, getInfo, listenerSize, mousePressed, removeListener, setBackgroundColor, setBackgroundHeight, setBarHeight, stringValue, toString, updateInternalEvents |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface controlP5.ControllerInterface |
---|
continuousUpdateEvents, draw, getParent, getPickingColor, init, keyEvent, parent, setAbsolutePosition, setMousePressed, update, updateEvents |
Constructor Detail |
---|
public RadioButton(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 RadioButton activate(int theIndex)
theIndex
- public RadioButton activate(java.lang.String theName)
theName
- public RadioButton addItem(java.lang.String theName, float theValue)
theName
- theValue
-
public RadioButton addItem(Toggle theToggle, float theValue)
theToggle
- theValue
-
public RadioButton align(int[] a)
public RadioButton align(int theX, int theY)
public RadioButton alignX(int theX)
public RadioButton alignY(int theY)
public RadioButton deactivate(int theIndex)
theIndex
- public RadioButton deactivate(java.lang.String theName)
theName
- public RadioButton deactivateAll()
public int[] getAlign()
public Toggle getItem(int theIndex)
theIndex
-
public Toggle getItem(java.lang.String theName)
public java.util.List getItems()
public boolean getState(int theIndex)
theIndex
-
public boolean getState(java.lang.String theName)
theName
-
public RadioButton hideLabels()
public RadioButton plugTo(java.lang.Object theObject)
public RadioButton plugTo(java.lang.Object theObject, java.lang.String thePlugName)
public RadioButton removeItem(java.lang.String theName)
theName
- public RadioButton setArrayValue(float[] theArray)
setArrayValue
in interface ControllerInterface
setArrayValue
in class ControllerGroup
public RadioButton setColorLabels(int theColor)
public RadioButton setImage(processing.core.PImage theImage)
theImage
- public RadioButton setImage(processing.core.PImage theImage, int theState)
theImage
- theState
- use Controller.DEFAULT (background), or Controller.OVER (foreground), or
Controller.ACTIVE (active)
public RadioButton setImages(processing.core.PImage theDefaultImage, processing.core.PImage theOverImage, processing.core.PImage theActiveImage)
theDefaultImage
- theOverImage
- theActiveImage
-
public RadioButton setItemHeight(int theItemHeight)
theItemHeight
- public RadioButton setItemsPerRow(int theValue)
theValue
- public RadioButton setItemWidth(int theItemWidth)
theItemWidth
- public RadioButton setLabelPadding(int thePaddingX, int thePaddingY)
public RadioButton setNoneSelectedAllowed(boolean theValue)
theValue
- public RadioButton setSize(int theWidth, int theHeight)
setSize
in class ControlGroup
public RadioButton setSize(processing.core.PImage theImage)
public RadioButton setSpacingColumn(int theSpacing)
theSpacing
- public RadioButton setSpacingRow(int theSpacing)
theSpacing
- public RadioButton showLabels()
public RadioButton toUpperCase(boolean theValue)
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |