|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||
java.lang.ObjectcontrolP5.ControllerGroup
public abstract class ControllerGroup
ControllerGroup is an abstract class and is extended by class ControlGroup, Tab, or the ListBox.
| 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 | |
|---|---|
ControllerGroup(ControlP5 theControlP5,
java.lang.String theName)
Convenience constructor to extend ControllerGroup. |
|
| Method Summary | |
|---|---|
java.lang.Object |
add(ControllerInterface theElement)
Adds a controller to the group, but use Controller.setGroup() instead. |
Canvas |
addCanvas(Canvas theCanvas)
Adds a canvas to a controllerGroup such as a tab or group. |
java.lang.Object |
addCloseButton()
TODO redesign or deprecate add a close button to the controlbar of this controlGroup. |
java.lang.Object |
addDrawable(CDrawable theElement)
|
java.lang.Object |
addListener(ControlListener theListener)
|
java.lang.Object |
bringToFront()
|
java.lang.Object |
bringToFront(ControllerInterface theController)
|
java.lang.Object |
close()
|
void |
controlEvent(ControlEvent theEvent)
controlEvent is called by controlP5's ControlBroadcaster to inform available listeners about value changes. |
java.lang.Object |
disableCollapse()
|
java.lang.Object |
enableCollapse()
|
processing.core.PVector |
getAbsolutePosition()
|
java.lang.String |
getAddress()
|
float[] |
getArrayValue()
|
float |
getArrayValue(int theIndex)
|
Label |
getCaptionLabel()
|
CColor |
getColor()
|
Controller |
getController(java.lang.String theController)
|
int |
getHeight()
|
int |
getId()
|
java.lang.String |
getInfo()
|
java.lang.String |
getName()
|
processing.core.PVector |
getPosition()
|
ControllerProperty |
getProperty(java.lang.String thePropertyName)
|
ControllerProperty |
getProperty(java.lang.String theSetter,
java.lang.String theGetter)
|
java.lang.String |
getStringValue()
|
Tab |
getTab()
|
float |
getValue()
|
Label |
getValueLabel()
|
int |
getWidth()
|
ControlWindow |
getWindow()
|
java.lang.Object |
hide()
|
java.lang.Object |
hideArrow()
|
java.lang.Object |
hideBar()
|
boolean |
isBarVisible()
|
boolean |
isCollapse()
|
boolean |
isMouseOver()
|
boolean |
isMoveable()
|
boolean |
isOpen()
|
boolean |
isUpdate()
checks the update status of a controller. |
boolean |
isVisible()
|
int |
listenerSize()
|
java.lang.Object |
moveTo(ControllerGroup theGroup)
|
java.lang.Object |
moveTo(ControllerGroup theGroup,
Tab theTab,
ControlWindow theControlWindow)
|
java.lang.Object |
moveTo(ControlWindow theControlWindow)
|
java.lang.Object |
moveTo(ControlWindow theControlWindow,
java.lang.String theTabName)
|
java.lang.Object |
moveTo(processing.core.PApplet thePApplet)
|
java.lang.Object |
moveTo(java.lang.String theTabName)
|
java.lang.Object |
moveTo(java.lang.String theTabName,
ControlWindow theControlWindow)
|
java.lang.Object |
moveTo(Tab theTab)
|
java.lang.Object |
moveTo(Tab theTab,
ControlWindow theControlWindow)
|
java.lang.Object |
open()
|
java.lang.Object |
registerProperty(java.lang.String thePropertyName)
|
java.lang.Object |
registerProperty(java.lang.String theSetter,
java.lang.String theGetter)
|
void |
remove()
removes the group from controlP5. |
java.lang.Object |
remove(CDrawable theElement)
|
java.lang.Object |
remove(ControllerInterface theElement)
Removes a controller from the group, but use Controller.setGroup() instead. |
java.lang.Object |
removeCanvas(Canvas theCanvas)
Removes a canvas from a controller group. |
java.lang.Object |
removeCloseButton()
TODO redesign or deprecate remove the close button. |
java.lang.Object |
removeListener(ControlListener theListener)
|
java.lang.Object |
removeProperty(java.lang.String thePropertyName)
|
java.lang.Object |
removeProperty(java.lang.String theSetter,
java.lang.String theGetter)
|
java.lang.Object |
setAddress(java.lang.String theAddress)
|
java.lang.Object |
setArrayValue(float[] theArray)
|
java.lang.Object |
setArrayValue(int theIndex,
float theValue)
|
java.lang.Object |
setCaptionLabel(java.lang.String theValue)
|
java.lang.Object |
setColor(CColor theColor)
|
java.lang.Object |
setColorActive(int theColor)
|
java.lang.Object |
setColorBackground(int theColor)
|
java.lang.Object |
setColorForeground(int theColor)
|
java.lang.Object |
setColorLabel(int theColor)
|
java.lang.Object |
setColorValue(int theColor)
|
java.lang.Object |
setGroup(ControllerGroup theGroup)
|
java.lang.Object |
setGroup(java.lang.String theName)
|
java.lang.Object |
setHeight(int theHeight)
|
java.lang.Object |
setId(int theId)
|
java.lang.Object |
setLabel(java.lang.String theLabel)
|
java.lang.Object |
setMouseOver(boolean theFlag)
|
java.lang.Object |
setMoveable(boolean theFlag)
set the moveable status of the group, when false, the group can't be moved. |
java.lang.Object |
setOpen(boolean theFlag)
|
java.lang.Object |
setPosition(float theX,
float theY)
set the position of this controller. |
java.lang.Object |
setPosition(processing.core.PVector thePVector)
|
java.lang.Object |
setSize(int theWidth,
int theHeight)
|
java.lang.Object |
setStringValue(java.lang.String theValue)
|
java.lang.Object |
setTab(ControlWindow theWindow,
java.lang.String theName)
|
java.lang.Object |
setTab(java.lang.String theName)
|
java.lang.Object |
setTab(Tab theTab)
|
java.lang.Object |
setTitle(java.lang.String theTitle)
|
java.lang.Object |
setUpdate(boolean theFlag)
enables or disables the update function of a controller. |
java.lang.Object |
setValue(float theValue)
|
java.lang.Object |
setVisible(boolean theFlag)
|
java.lang.Object |
setWidth(int theWidth)
|
java.lang.Object |
show()
|
java.lang.Object |
showArrow()
|
java.lang.Object |
showBar()
|
java.lang.String |
toString()
|
java.lang.Object |
updateAbsolutePosition()
|
| 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, updateInternalEvents |
| Constructor Detail |
|---|
public ControllerGroup(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 java.lang.Object add(ControllerInterface theElement)
add in interface ControllerInterfacetheElement - ControllerInterface
public Canvas addCanvas(Canvas theCanvas)
theCanvas -
public java.lang.Object addCloseButton()
public java.lang.Object addDrawable(CDrawable theElement)
theElement - CDrawable
public java.lang.Object addListener(ControlListener theListener)
addListener in interface ControllerInterfacetheListener - ControlListener
ControlListenerpublic java.lang.Object bringToFront()
bringToFront in interface ControllerInterfacepublic java.lang.Object bringToFront(ControllerInterface theController)
bringToFront in interface ControllerInterfacepublic java.lang.Object close()
public void controlEvent(ControlEvent theEvent)
ControlListener
controlEvent in interface ControlListenertheEvent - ControlEventCallbackListener,
CallbackEventpublic java.lang.Object disableCollapse()
public java.lang.Object enableCollapse()
public processing.core.PVector getAbsolutePosition()
getAbsolutePosition in interface ControllerInterfacepublic java.lang.String getAddress()
getAddress in interface ControllerInterfacepublic float[] getArrayValue()
getArrayValue in interface ControllerInterfacepublic float getArrayValue(int theIndex)
getArrayValue in interface ControllerInterfacetheIndex -
public Label getCaptionLabel()
public CColor getColor()
getColor in interface ControllerInterfacepublic Controller getController(java.lang.String theController)
public int getHeight()
getHeight in interface ControllerInterfacepublic int getId()
getId in interface ControllerInterfacepublic java.lang.String getInfo()
public java.lang.String getName()
getName in interface ControllerInterfacepublic processing.core.PVector getPosition()
getPosition in interface ControllerInterfacepublic ControllerProperty getProperty(java.lang.String thePropertyName)
getProperty in interface ControllerInterface
public ControllerProperty getProperty(java.lang.String theSetter,
java.lang.String theGetter)
getProperty in interface ControllerInterfacepublic java.lang.String getStringValue()
getStringValue in interface ControllerInterfacepublic Tab getTab()
getTab in interface ControllerInterfacepublic float getValue()
getValue in interface ControllerInterfacepublic Label getValueLabel()
public int getWidth()
getWidth in interface ControllerInterfacepublic ControlWindow getWindow()
getWindow in interface ControllerInterfacepublic java.lang.Object hide()
hide in interface ControllerInterfacepublic java.lang.Object hideArrow()
public java.lang.Object hideBar()
public boolean isBarVisible()
public boolean isCollapse()
public boolean isMouseOver()
isMouseOver in interface ControllerInterfacepublic boolean isMoveable()
public boolean isOpen()
public boolean isUpdate()
isUpdate in interface ControllerInterfacepublic boolean isVisible()
isVisible in interface ControllerInterfacepublic int listenerSize()
public final java.lang.Object moveTo(ControllerGroup theGroup)
moveTo in interface ControllerInterface
public final java.lang.Object moveTo(ControllerGroup theGroup,
Tab theTab,
ControlWindow theControlWindow)
moveTo in interface ControllerInterfacetheGroup - ControlGrouptheTab - TabtheControlWindow - ControlWindow
public java.lang.Object moveTo(ControlWindow theControlWindow)
public final java.lang.Object moveTo(ControlWindow theControlWindow,
java.lang.String theTabName)
public java.lang.Object moveTo(processing.core.PApplet thePApplet)
public final java.lang.Object moveTo(java.lang.String theTabName)
public final java.lang.Object moveTo(java.lang.String theTabName,
ControlWindow theControlWindow)
public final java.lang.Object moveTo(Tab theTab)
public final java.lang.Object moveTo(Tab theTab,
ControlWindow theControlWindow)
public java.lang.Object open()
public java.lang.Object registerProperty(java.lang.String thePropertyName)
registerProperty in interface ControllerInterface
public java.lang.Object registerProperty(java.lang.String theSetter,
java.lang.String theGetter)
registerProperty in interface ControllerInterfacepublic void remove()
remove in interface ControllerInterfacepublic java.lang.Object remove(CDrawable theElement)
theElement - CDrawable
public java.lang.Object remove(ControllerInterface theElement)
remove in interface ControllerInterfacetheElement - ControllerInterface
public java.lang.Object removeCanvas(Canvas theCanvas)
theCanvas -
public java.lang.Object removeCloseButton()
public java.lang.Object removeListener(ControlListener theListener)
theListener - ControlListener
ControlListenerpublic java.lang.Object removeProperty(java.lang.String thePropertyName)
removeProperty in interface ControllerInterface
public java.lang.Object removeProperty(java.lang.String theSetter,
java.lang.String theGetter)
removeProperty in interface ControllerInterfacepublic java.lang.Object setAddress(java.lang.String theAddress)
setAddress in interface ControllerInterfacepublic java.lang.Object setArrayValue(float[] theArray)
setArrayValue in interface ControllerInterfacetheArray -
public java.lang.Object setArrayValue(int theIndex,
float theValue)
setArrayValue in interface ControllerInterfacetheIndex - theValue -
public java.lang.Object setCaptionLabel(java.lang.String theValue)
setCaptionLabel in interface ControllerInterfacepublic java.lang.Object setColor(CColor theColor)
setColor in interface ControllerInterfacepublic java.lang.Object setColorActive(int theColor)
setColorActive in interface ControllerInterfacepublic java.lang.Object setColorBackground(int theColor)
setColorBackground in interface ControllerInterfacepublic java.lang.Object setColorForeground(int theColor)
setColorForeground in interface ControllerInterfacepublic java.lang.Object setColorLabel(int theColor)
setColorLabel in interface ControllerInterfacepublic java.lang.Object setColorValue(int theColor)
setColorValue in interface ControllerInterfacepublic final java.lang.Object setGroup(ControllerGroup theGroup)
theGroup - ControllerGroup
public final java.lang.Object setGroup(java.lang.String theName)
theName - String
public java.lang.Object setHeight(int theHeight)
theHeight -
public java.lang.Object setId(int theId)
setId in interface ControllerInterfacepublic java.lang.Object setLabel(java.lang.String theLabel)
setLabel in interface ControllerInterfacetheLabel - String
public java.lang.Object setMouseOver(boolean theFlag)
setMouseOver in interface ControllerInterfacepublic java.lang.Object setMoveable(boolean theFlag)
theFlag - boolean
public java.lang.Object setOpen(boolean theFlag)
public java.lang.Object setPosition(float theX,
float theY)
setPosition in interface ControllerInterfacetheX - floattheY - floatpublic java.lang.Object setPosition(processing.core.PVector thePVector)
setPosition in interface ControllerInterface
public java.lang.Object setSize(int theWidth,
int theHeight)
public java.lang.Object setStringValue(java.lang.String theValue)
setStringValue in interface ControllerInterface
public final java.lang.Object setTab(ControlWindow theWindow,
java.lang.String theName)
public final java.lang.Object setTab(java.lang.String theName)
theName - String
public final java.lang.Object setTab(Tab theTab)
theTab - Tab
public java.lang.Object setTitle(java.lang.String theTitle)
public java.lang.Object setUpdate(boolean theFlag)
setUpdate in interface ControllerInterfacetheFlag - boolean
public java.lang.Object setValue(float theValue)
setValue in interface ControllerInterfacepublic java.lang.Object setVisible(boolean theFlag)
theFlag - boolean
public java.lang.Object setWidth(int theWidth)
theWidth -
public java.lang.Object show()
show in interface ControllerInterfacepublic java.lang.Object showArrow()
public java.lang.Object showBar()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.Object updateAbsolutePosition()
updateAbsolutePosition in interface ControllerInterface
|
|||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||