|
|||||||
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. |
ControlWindowCanvas |
addCanvas(ControlWindowCanvas 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(ControlWindowCanvas 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 ControllerInterface
theElement
- ControllerInterface
public ControlWindowCanvas addCanvas(ControlWindowCanvas 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 ControllerInterface
theListener
- ControlListener
ControlListener
public java.lang.Object bringToFront()
bringToFront
in interface ControllerInterface
public java.lang.Object bringToFront(ControllerInterface theController)
bringToFront
in interface ControllerInterface
public java.lang.Object close()
public void controlEvent(ControlEvent theEvent)
ControlListener
controlEvent
in interface ControlListener
theEvent
- ControlEventCallbackListener
,
CallbackEvent
public java.lang.Object disableCollapse()
public java.lang.Object enableCollapse()
public processing.core.PVector getAbsolutePosition()
getAbsolutePosition
in interface ControllerInterface
public java.lang.String getAddress()
getAddress
in interface ControllerInterface
public float[] getArrayValue()
getArrayValue
in interface ControllerInterface
public float getArrayValue(int theIndex)
getArrayValue
in interface ControllerInterface
theIndex
-
public Label getCaptionLabel()
public CColor getColor()
getColor
in interface ControllerInterface
public Controller getController(java.lang.String theController)
public int getHeight()
getHeight
in interface ControllerInterface
public int getId()
getId
in interface ControllerInterface
public java.lang.String getInfo()
public java.lang.String getName()
getName
in interface ControllerInterface
public processing.core.PVector getPosition()
getPosition
in interface ControllerInterface
public ControllerProperty getProperty(java.lang.String thePropertyName)
getProperty
in interface ControllerInterface
public ControllerProperty getProperty(java.lang.String theSetter, java.lang.String theGetter)
getProperty
in interface ControllerInterface
public java.lang.String getStringValue()
getStringValue
in interface ControllerInterface
public Tab getTab()
getTab
in interface ControllerInterface
public float getValue()
getValue
in interface ControllerInterface
public Label getValueLabel()
public int getWidth()
getWidth
in interface ControllerInterface
public ControlWindow getWindow()
getWindow
in interface ControllerInterface
public java.lang.Object hide()
hide
in interface ControllerInterface
public java.lang.Object hideArrow()
public java.lang.Object hideBar()
public boolean isBarVisible()
public boolean isCollapse()
public boolean isMouseOver()
isMouseOver
in interface ControllerInterface
public boolean isMoveable()
public boolean isOpen()
public boolean isUpdate()
isUpdate
in interface ControllerInterface
public boolean isVisible()
isVisible
in interface ControllerInterface
public 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 ControllerInterface
theGroup
- 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 ControllerInterface
public void remove()
remove
in interface ControllerInterface
public java.lang.Object remove(CDrawable theElement)
theElement
- CDrawable
public java.lang.Object remove(ControllerInterface theElement)
remove
in interface ControllerInterface
theElement
- ControllerInterface
public java.lang.Object removeCanvas(ControlWindowCanvas theCanvas)
theCanvas
-
public java.lang.Object removeCloseButton()
public java.lang.Object removeListener(ControlListener theListener)
theListener
- ControlListener
ControlListener
public 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 ControllerInterface
public java.lang.Object setAddress(java.lang.String theAddress)
setAddress
in interface ControllerInterface
public java.lang.Object setArrayValue(float[] theArray)
setArrayValue
in interface ControllerInterface
theArray
-
public java.lang.Object setArrayValue(int theIndex, float theValue)
setArrayValue
in interface ControllerInterface
theIndex
- theValue
-
public java.lang.Object setCaptionLabel(java.lang.String theValue)
setCaptionLabel
in interface ControllerInterface
public java.lang.Object setColor(CColor theColor)
setColor
in interface ControllerInterface
public java.lang.Object setColorActive(int theColor)
setColorActive
in interface ControllerInterface
public java.lang.Object setColorBackground(int theColor)
setColorBackground
in interface ControllerInterface
public java.lang.Object setColorForeground(int theColor)
setColorForeground
in interface ControllerInterface
public java.lang.Object setColorLabel(int theColor)
setColorLabel
in interface ControllerInterface
public java.lang.Object setColorValue(int theColor)
setColorValue
in interface ControllerInterface
public 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 ControllerInterface
public java.lang.Object setLabel(java.lang.String theLabel)
setLabel
in interface ControllerInterface
theLabel
- String
public java.lang.Object setMouseOver(boolean theFlag)
setMouseOver
in interface ControllerInterface
public 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 ControllerInterface
theX
- 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 ControllerInterface
theFlag
- boolean
public java.lang.Object setValue(float theValue)
setValue
in interface ControllerInterface
public java.lang.Object setVisible(boolean theFlag)
theFlag
- boolean
public java.lang.Object setWidth(int theWidth)
theWidth
-
public java.lang.Object show()
show
in interface ControllerInterface
public java.lang.Object showArrow()
public java.lang.Object showBar()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.Object updateAbsolutePosition()
updateAbsolutePosition
in interface ControllerInterface
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |