controlp5/src/controlP5/ControlP5Legacy.java

706 lines
36 KiB
Java

package controlP5;
/**
* controlP5 is a processing gui library.
*
* 2006-2015 by Andreas Schlegel
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General
* Public License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA
*
* @author Andreas Schlegel (http://www.sojamo.de)
* @modified ##date##
* @version ##version##
*
*/
import java.util.ArrayList;
import processing.core.PApplet;
import static controlP5.Controller.*;
public class ControlP5Legacy {
private ControlP5Base base;
public static boolean DEBUG = false;
void init( ControlP5Base theControlP5 ) {
base = theControlP5;
}
public Spacer addSpacer( final String theName ) {
return addSpacer( theName , 0 , 0 , 100 , 20 );
}
public Spacer addSpacer( final String theName , final int theX , final int theY , final int theW , final int theH ) {
ControllerGroup tab = ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 );
Spacer myController = new Spacer( base.cp5 , tab , theName , theX , theY , theW , theH );
base.cp5.register( null , "" , myController );
return myController;
}
public Background addBackground( final String theName ) {
return addBackground( null , "" , theName , 0 , 0 , 300 , base.cp5.papplet.height );
}
public Background addBackground( Object theObject , final String theIndex , String theName , int theX , int theY , int theW , int theHeight ) {
Background myController = new Background( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theHeight );
base.cp5.register( theObject , theIndex , myController );
return myController;
}
public Button addButton( final Object theObject , String theIndex , final String theName , final float theValue , final int theX , final int theY , final int theW , final int theH ) {
Button myController = new Button( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theValue , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
myController.getProperty( "value" ).disable( );
return myController;
}
public Icon addIcon( final Object theObject , String theIndex , final String theName , final float theValue , final int theX , final int theY , final int theW , final int theH ) {
Icon myController = new Icon( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theValue , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
myController.getProperty( "value" ).disable( );
return myController;
}
public ButtonBar addButtonBar( final Object theObject , String theIndex , final String theName , final float theValue , final int theX , final int theY , final int theW , final int theH ) {
ButtonBar myController = new ButtonBar( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
myController.getProperty( "value" ).disable( );
return myController;
}
public Bang addBang( final Object theObject , String theIndex , final String theName , final int theX , final int theY , final int theWidth , final int theHeight ) {
Bang myController = new Bang( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theWidth , theHeight );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
myController.getProperty( "value" ).disable( );
return myController;
}
public Toggle addToggle( final Object theObject , String theIndex , final String theName , final boolean theDefaultValue , final float theX , final float theY , final int theWidth , final int theHeight ) {
Toggle myController = new Toggle( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , ( theDefaultValue == true ) ? 1f : 0f , theX , theY , theWidth , theHeight );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
return myController;
}
public Tooltip addTooltip( ) {
println( "Tooltip is not available with this Version (" , ControlP5.VERSION , ") of ControlP5" );
return null;
}
public Matrix addMatrix( final Object theObject , final String theIndex , final String theName , final int theCellX , final int theCellY , final int theX , final int theY , final int theWidth , final int theHeight ) {
Matrix myController = new Matrix( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theCellX , theCellY , theX , theY , theWidth , theHeight );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "cells" ).registerProperty( "interval" );
return myController;
}
public Matrix addMatrix( final String theName , final int theCellX , final int theCellY , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addMatrix( null , "" , theName , theCellX , theCellY , theX , theY , theWidth , theHeight );
}
public Slider2D addSlider2D( Object theObject , final String theIndex , final String theName , float theMinX , float theMaxX , float theMinY , float theMaxY , float theDefaultValueX , float theDefaultValueY , int theX , int theY , int theW , int theH ) {
Slider2D myController = new Slider2D( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.setMinX( theMinX );
myController.setMaxX( theMaxX );
myController.setMinY( theMinY );
myController.setMaxY( theMaxY );
myController.setArrayValue( new float[] { theDefaultValueX , theDefaultValueY } );
myController.updateValue( );
myController.registerProperty( "arrayValue" ).registerProperty( "minX" ).registerProperty( "maxX" ).registerProperty( "minY" ).registerProperty( "maxY" );
return myController;
}
public Slider addSlider( Object theObject , final String theIndex , final String theName , float theMin , float theMax , float theDefaultValue , int theX , int theY , int theW , int theH ) {
Slider myController = new Slider( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theMin , theMax , theDefaultValue , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" ).registerProperty( "min" ).registerProperty( "max" );
return myController;
}
public Slider addSlider( String theName , float theMin , float theMax , float theDefaultValue , int theX , int theY , int theW , int theH ) {
return addSlider( null , "" , theName , theMin , theMax , theDefaultValue , theX , theY , theW , theH );
}
public Slider addSlider( final String theName , final float theMin , final float theMax , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addSlider( null , "" , theName , theMin , theMax , theMin , theX , theY , theWidth , theHeight );
}
public Slider addSlider( Object theObject , final String theIndex , final String theName , float theMin , float theMax , int theX , int theY , int theW , int theH ) {
return addSlider( theObject , theIndex , theName , theMin , theMax , theMin , theX , theY , theW , theH );
}
public Range addRange( Object theObject , final String theIndex , String theName , float theMin , float theMax , float theDefaultMinValue , float theDefaultMaxValue , int theX , int theY , int theW , int theH ) {
Range myController = new Range( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theMin , theMax , theDefaultMinValue , theDefaultMaxValue , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "lowValue" ).registerProperty( "highValue" );
return myController;
}
public Range addRange( String theName , float theMin , float theMax , float theDefaultMinValue , float theDefaultMaxValue , int theX , int theY , int theW , int theH ) {
return addRange( null , "" , theName , theMin , theMax , theDefaultMinValue , theDefaultMaxValue , theX , theY , theW , theH );
}
public Range addRange( final String theName , final float theMin , final float theMax , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addRange( null , "" , theName , theMin , theMax , theMin , theMax , theX , theY , theWidth , theHeight );
}
public Range addRange( final Object theObject , final String theIndex , final String theName , final float theMin , final float theMax , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addRange( theObject , theIndex , theName , theMin , theMax , theMin , theMax , theX , theY , theWidth , theHeight );
}
public Numberbox addNumberbox( final Object theObject , final String theIndex , final String theName , final float theDefaultValue , final int theX , final int theY , final int theWidth , final int theHeight ) {
Numberbox myController = new Numberbox( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theDefaultValue , theX , theY , theWidth , theHeight );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
return myController;
}
public Numberbox addNumberbox( final String theName , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addNumberbox( null , "" , theName , Float.NaN , theX , theY , theWidth , theHeight );
}
public Numberbox addNumberbox( final Object theObject , final String theIndex , final String theName , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addNumberbox( theObject , theIndex , theName , Float.NaN , theX , theY , theWidth , theHeight );
}
public Numberbox addNumberbox( final String theName , final float theDefaultValue , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addNumberbox( null , "" , theName , theDefaultValue , theX , theY , theWidth , theHeight );
}
public Knob addKnob( final Object theObject , final String theIndex , final String theName , final float theMin , final float theMax , final float theDefaultValue , final int theX , final int theY , final int theDiameter ) {
Knob myController = new Knob( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theMin , theMax , theDefaultValue , theX , theY , theDiameter );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
return myController;
}
public Knob addKnob( final String theName , final float theMin , final float theMax , final int theX , final int theY , final int theDiameter ) {
return addKnob( null , "" , theName , theMin , theMax , theMin , theX , theY , theDiameter );
}
public Knob addKnob( final Object theObject , final String theIndex , final String theName , final float theMin , final float theMax , final int theX , final int theY , final int theDiameter ) {
return addKnob( theObject , theIndex , theName , theMin , theMax , theX , theY , theDiameter );
}
public Knob addKnob( final String theName , final float theMin , final float theMax , final float theDefaultValue , final int theX , final int theY , final int theDiameter ) {
return addKnob( null , "" , theName , theMin , theMax , theDefaultValue , theX , theY , theDiameter );
}
public MultiList addMultiList( final Object theObject , final String theIndex , final String theName , final int theX , final int theY , final int theWidth , final int theHeight ) {
MultiList myController = new MultiList( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theWidth , theHeight );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
return myController;
}
public MultiList addMultiList( final String theName , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addMultiList( null , "" , theName , theX , theY , theWidth , theHeight );
}
public Textlabel addLabel( String theIndex ) {
return addTextlabel( theIndex , theIndex , 0 , 0 );
}
public Textlabel addLabel( String theIndex , int theX , int theY ) {
return addTextlabel( theIndex , theIndex , theX , theY );
}
public Textlabel addTextlabel( final Object theObject , final String theIndex , final String theName , final String theText , final int theX , final int theY ) {
Textlabel myController = new Textlabel( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theText , theX , theY );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" ).registerProperty( "stringValue" );
return myController;
}
public Textlabel addTextlabel( final String theName , final String theText , final int theX , final int theY ) {
return addTextlabel( null , "" , theName , theText , theX , theY );
}
public Textlabel addTextlabel( final Object theObject , final String theIndex , final String theName , final String theText ) {
return addTextlabel( theObject , theIndex , theName , theText , 0 , 0 );
}
public Textlabel addTextlabel( final String theName , final String theText ) {
return addTextlabel( null , "" , theName , theText , 0 , 0 );
}
public Textarea addTextarea( final String theName , final String theText , final int theX , final int theY , final int theW , final int theH ) {
Textarea myController = new Textarea( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theText , theX , theY , theW , theH );
base.cp5.register( null , "" , myController );
myController.registerProperty( "text" );
return myController;
}
public Textfield addTextfield( final Object theObject , final String theIndex , final String theName , final int theX , final int theY , final int theW , final int theH ) {
Textfield myController = new Textfield( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , "" , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "text" );
return myController;
}
public Textfield addTextfield( final String theName , final int theX , final int theY , final int theW , final int theH ) {
return addTextfield( null , "" , theName , theX , theY , theW , theH );
}
public Textfield addTextfield( final Object theObject , final String theIndex , final String theName ) {
return addTextfield( theObject , theIndex , theName , 0 , 0 , 99 , 19 );
}
public Accordion addAccordion( String theName , int theX , int theY , int theWidth ) {
Accordion myController = new Accordion( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theWidth );
base.cp5.register( null , "" , myController );
return myController;
}
public Accordion addAccordion( final Object theObject , final String theIndex , final String theName ) {
Accordion myController = new Accordion( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , 0 , 0 , 200 );
base.cp5.register( theObject , theIndex , myController );
return myController;
}
public RadioButton addRadioButton( final Object theObject , String theIndex , final String theName , final int theX , final int theY ) {
RadioButton myController = new RadioButton( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "arrayValue" );
return myController;
}
public RadioButton addRadioButton( final String theName , final int theX , final int theY ) {
return addRadioButton( null , "" , theName , theX , theY );
}
/**
* Use radio buttons for multiple choice options.
*/
public RadioButton addRadio( final String theName ) {
return addRadioButton( theName , 0 , 0 );
}
public RadioButton addRadio( final String theName , final int theX , final int theY ) {
RadioButton myController = new RadioButton( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY );
base.cp5.register( null , "" , myController );
myController.registerProperty( "arrayValue" );
return myController;
}
public CheckBox addCheckBox( final Object theObject , final String theIndex , final String theName , final int theX , final int theY ) {
CheckBox myController = new CheckBox( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "arrayValue" );
return myController;
}
public CheckBox addCheckBox( final String theName , final int theX , final int theY ) {
return addCheckBox( null , "" , theName , theX , theY );
}
public ScrollableList addScrollableList( final Object theObject , String theIndex , final String theName ) {
return addScrollableList( theObject , theIndex , theName , 0 , 0 , 100 , 100 );
}
public ScrollableList addScrollableList( final Object theObject , String theIndex , final String theName , final int theX , final int theY , final int theW , final int theH ) {
ScrollableList myController = new ScrollableList( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "value" );
return myController;
}
public ScrollableList addScrollableList( final String theName , final int theX , final int theY , final int theW , final int theH ) {
return addScrollableList( null , "" , theName , theX , theY , theW , theH );
}
/**
* A list box is a list of items a user can choose from.
* When items exceed the dedicated area of a list box, a
* scrollbar is added to the right of the box. the Box
* can be navigated using mouse click, drag and the
* mouse-wheel.
*/
public ListBox addListBox( final String theName ) {
return addListBox( theName , 0 , 0 , 99 , 199 );
}
public ListBox addListBox( final Object theObject , String theIndex , final String theName , final int theX , final int theY , final int theW , final int theH ) {
ListBox myController = new ListBox( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "listBoxItems" ).registerProperty( "value" );
return myController;
}
public ListBox addListBox( final String theName , final int theX , final int theY , final int theW , final int theH ) {
return addListBox( null , "" , theName , theX , theY , theW , theH );
}
public DropdownList addDropdownList( final String theName ) {
return addDropdownList( theName , 0 , 0 , 99 , 99 );
}
public DropdownList addDropdownList( final Object theObject , final String theIndex , final String theName , final int theX , final int theY , final int theW , final int theH ) {
DropdownList myController = new DropdownList( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "listBoxItems" ).registerProperty( "value" );
return myController;
}
public DropdownList addDropdownList( final String theName , final int theX , final int theY , final int theW , final int theH ) {
return addDropdownList( null , "" , theName , theX , theY , theW , theH );
}
public ColorWheel addColorWheel( final Object theObject , final String theIndex , final String theName , final int theX , final int theY , final int theW ) {
ColorWheel myController = new ColorWheel( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theW );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "arrayValue" );
return myController;
}
public ColorWheel addColorWheel( final String theName , final int theX , final int theY , final int theW ) {
return addColorWheel( null , "" , theName , theX , theY , theW );
}
public ColorPicker addColorPicker( final String theName , final int theX , final int theY , final int theW , final int theH ) {
return addColorPicker( null , "" , theName , theX , theY , theW , theH );
}
public ColorPicker addColorPicker( final Object theObject , final String theIndex , final String theName , final int theX , final int theY , final int theW , final int theH ) {
ColorPicker myController = new ColorPicker( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( theObject , theIndex , myController );
myController.registerProperty( "arrayValue" );
return myController;
}
public Chart addChart( String theName , int theX , int theY , int theW , int theH ) {
Chart myController = new Chart( base.cp5 , ( Tab ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , theH );
base.cp5.register( null , "" , myController );
return myController;
}
public Group addGroup( Object theObject , final String theIndex , String theName , int theX , int theY , int theW ) {
Group myController = new Group( base.cp5 , ( ControllerGroup< ? > ) base.cp5.controlWindow.getTabs( ).get( 1 ) , theName , theX , theY , theW , 9 );
base.cp5.register( theObject , theIndex , myController );
return myController;
}
public Group addGroup( Object theObject , String theIndex , String theName , int theX , int theY ) {
return addGroup( theObject , theIndex , theName , theX , theY , 99 );
}
public Group addGroup( String theName , int theX , int theY , int theW ) {
return addGroup( null , "" , theName , theX , theY , theW );
}
public Group addGroup( Object theObject , String theIndex , String theName ) {
return addGroup( theObject , theIndex , theName , 0 , 0 );
}
public Group addGroup( String theName , int theX , int theY ) {
return addGroup( null , "" , theName , theX , theY , 99 );
}
public Textlabel getTextlabel( String theText , int theX , int theY ) {
return new Textlabel( base.cp5 , theText , theX , theY );
}
public Textlabel getTextlabel( ) {
return getTextlabel( "" , 0 , 0 );
}
public Slider addSlider( Object theObject , final String theIndex , String theName ) {
return addSlider( theObject , theIndex , theName , 0 , 100 );
}
public Slider addSlider( String theName , float theMin , float theMax ) {
return addSlider( null , "" , theName , theMin , theMax );
}
public Slider addSlider( Object theObject , final String theIndex , String theName , float theMin , float theMax ) {
int x = ( int ) x( base.currentGroupPointer.autoPosition );
int y = ( int ) y( base.currentGroupPointer.autoPosition );
Slider s = addSlider( theObject , theIndex , theName , theMin , theMax , theMin , x , y , Slider.autoWidth , Slider.autoHeight );
base.linebreak( s , false , Slider.autoWidth , Slider.autoHeight , Slider.autoSpacing );
s.moveTo( base.currentGroupPointer );
if ( base.autoDirection == ControlP5Constants.VERTICAL ) {
s.linebreak( );
}
return s;
}
public Button addButton( Object theObject , final String theIndex , String theName ) {
return addButton( theObject , theIndex , theName , 1 );
}
public Button addButton( String theName , float theValue ) {
return addButton( null , "" , theName , theValue );
}
public Button addButton( Object theObject , final String theIndex , String theName , float theValue ) {
int x = ( int ) x( base.currentGroupPointer.autoPosition );
int y = ( int ) y( base.currentGroupPointer.autoPosition );
Button b = addButton( theObject , theIndex , theName , theValue , x , y , Button.autoWidth , Button.autoHeight );
base.linebreak( b , false , Button.autoWidth , Button.autoHeight , Button.autoSpacing );
b.moveTo( base.currentGroupPointer );
return b;
}
public ButtonBar addButtonBar( Object theObject , final String theIndex , String theName , float theValue ) {
int x = ( int ) x( base.currentGroupPointer.autoPosition );
int y = ( int ) y( base.currentGroupPointer.autoPosition );
ButtonBar b = addButtonBar( theObject , theIndex , theName , theValue , x , y , Button.autoWidth , Button.autoHeight );
base.linebreak( b , false , Button.autoWidth , Button.autoHeight , Button.autoSpacing );
b.moveTo( base.currentGroupPointer );
return b;
}
public Icon addIcon( Object theObject , final String theIndex , String theName ) {
return addIcon( theObject , theIndex , theName , 1 );
}
public Icon addIcon( String theName , float theValue ) {
return addIcon( null , "" , theName , theValue );
}
public Icon addIcon( Object theObject , final String theIndex , String theName , float theValue ) {
int x = ( int ) x( base.currentGroupPointer.autoPosition );
int y = ( int ) y( base.currentGroupPointer.autoPosition );
Icon icon = addIcon( theObject , theIndex , theName , theValue , x , y , Icon.autoWidth , Icon.autoHeight );
base.linebreak( icon , false , Icon.autoWidth , Icon.autoHeight , Icon.autoSpacing );
icon.moveTo( base.currentGroupPointer );
return icon;
}
public Bang addBang( Object theObject , final String theIndex , String theName ) {
int x = ( int ) x( base.currentGroupPointer.autoPosition );
int y = ( int ) y( base.currentGroupPointer.autoPosition );
Bang b = addBang( theObject , theIndex , theName , x , y , Bang.autoWidth , Bang.autoHeight );
base.linebreak( b , false , Bang.autoWidth , Bang.autoHeight , Bang.autoSpacing );
b.moveTo( base.currentGroupPointer );
return b;
}
public Toggle addToggle( Object theObject , final String theIndex , String theName ) {
return addToggle( theObject , theIndex , theName , false );
}
public Toggle addToggle( Object theObject , final String theIndex , String theName , boolean theValue ) {
Toggle t = addToggle( theObject , theIndex , theName , theValue , x( base.currentGroupPointer.autoPosition ) , y( base.currentGroupPointer.autoPosition ) , Toggle.autoWidth , Toggle.autoHeight );
base.linebreak( t , false , Toggle.autoWidth , Toggle.autoHeight , t.autoSpacing );
t.moveTo( base.currentGroupPointer );
return t;
}
public Numberbox addNumberbox( Object theObject , final String theIndex , String theName ) {
int x = ( int ) x( base.currentGroupPointer.autoPosition );
int y = ( int ) y( base.currentGroupPointer.autoPosition );
Numberbox n = addNumberbox( theObject , theIndex , theName , x , y , Numberbox.autoWidth , Numberbox.autoHeight );
base.linebreak( n , false , Numberbox.autoWidth , Numberbox.autoHeight , n.autoSpacing );
n.moveTo( base.currentGroupPointer );
return n;
}
public Toggle addToggle( String theName , boolean theValue ) {
return addToggle( null , "" , theName , theValue );
}
public Knob addKnob( Object theObject , final String theIndex , String theName , int theMin , int theMax ) {
Knob n = addKnob( theObject , theIndex , theName , theMin , theMax , theMin , ( int ) x( base.currentGroupPointer.autoPosition ) , ( int ) y( base.currentGroupPointer.autoPosition ) , Knob.autoWidth );
base.linebreak( n , false , Knob.autoWidth , Knob.autoHeight , n.autoSpacing );
n.moveTo( base.currentGroupPointer );
return n;
}
public Knob addKnob( Object theObject , final String theIndex , String theName ) {
return addKnob( theObject , theIndex , theName , 0 , 100 );
}
public Knob addKnob( String theName , int theMin , int theMax ) {
return addKnob( null , "" , theName , theMin , theMax );
}
public ControlWindow addControlWindow( String theName ) {
ControlP5.logger( ).warning( "ControlWindow has been disabled currently, please have a look at the changlog.txt file inside the src folder." );
return null;
}
/**
* Adds Controllers by Object reference, currently
* supports Slider, Bang, Button, Knob, Numberbox,
* Toggle, Textlabel, Textfield, Range, Slider2D. For
* internal use rather than on application level.
*/
public < C > C addController( final Object theObject , final String theIndex , final String theName , final Class< C > theClass , int theX , int theY ) {
Controller< ? > c = null;
if ( theClass.equals( Slider.class ) ) {
c = addSlider( theObject , theIndex , theName , 0 , 100 , 0 , 0 , 0 , 99 , 9 );
} else if ( theClass.equals( Bang.class ) ) {
c = addBang( theObject , theIndex , theName , 0 , 0 , 19 , 19 );
} else if ( theClass.equals( Button.class ) ) {
c = addButton( theObject , theIndex , theName , 0 , 0 , 0 , 49 , 19 );
} else if ( theClass.equals( Knob.class ) ) {
c = addKnob( theObject , theIndex , theName , 0 , 100 , 0 , 0 , 0 , 49 );
} else if ( theClass.equals( Numberbox.class ) ) {
c = addNumberbox( theObject , theIndex , theName , 0 , 0 , 0 , 99 , 19 );
} else if ( theClass.equals( Toggle.class ) ) {
c = addToggle( theObject , theIndex , theName , false , 0 , 0 , 49 , 19 );
} else if ( theClass.equals( Textfield.class ) ) {
c = addTextfield( theObject , theIndex , theName , 0 , 0 , 99 , 19 );
} else if ( theClass.equals( Range.class ) ) {
c = addRange( theObject , theIndex , theName , 0 , 100 , 0 , 100 , 0 , 0 , 99 , 9 );
} else if ( theClass.equals( Slider2D.class ) ) {
c = addSlider2D( theObject , theIndex , theName , 0 , 100 , 0 , 100 , 0 , 0 , 0 , 0 , 99 , 99 );
} else if ( theClass.equals( DropdownList.class ) ) {
c = addDropdownList( theObject , theIndex , theName , theX , theY , 199 , 99 );
} else if ( theClass.equals( ListBox.class ) ) {
c = addListBox( theObject , theIndex , theName , theX , theY , 199 , 99 );
} else if ( theClass.equals( ScrollableList.class ) ) {
c = addScrollableList( theObject , theIndex , theName , theX , theY , 199 , 99 );
} else if ( theClass.equals( Textlabel.class ) ) {
c = addTextlabel( theName , "<empty>" );
}
// TODO MultiList, Matrix
c.setPosition( theX , theY );
return ( C ) c;
}
/**
* Use with caution, only for internal use.
*
* @exclude
*/
@ControlP5.Invisible public < C > C addGroup( final Object theObject , final String theIndex , final String theName , final Class< C > theClass , int theX , int theY , int theW , int theH ) {
ControlGroup< ? > c = null;
if ( theClass.equals( RadioButton.class ) ) {
c = addRadioButton( theObject , theIndex , theName , theX , theY );
} else if ( theClass.equals( CheckBox.class ) ) {
c = addCheckBox( theObject , theIndex , theName , theX , theY );
} else if ( theClass.equals( ControlGroup.class ) ) {
c = addGroup( theObject , theIndex , theName , theX , theY );
} else if ( theClass.equals( Group.class ) ) {
c = addGroup( theObject , theIndex , theName , theX , theY );
}
c.setPosition( theX , theY );
c.setWidth( theW );
c.setHeight( theH );
return ( C ) c;
}
public < C > C addController( String theName , Class< C > theClass , int theX , int theY ) {
return addController( null , "" , theName , theClass , theX , theY );
}
static public void println( final Object ... strs ) {
for ( Object str : strs ) {
System.out.print( str + " " );
}
System.out.println( );
}
static public void debug( final Object ... strs ) {
if ( DEBUG ) {
println( strs );
}
}
static public void printerr( final Object ... strs ) {
for ( Object str : strs ) {
System.err.print( str + " " );
}
System.err.println( );
}
@Deprecated public Controller< ? > getController( String theName , Object theObject ) {
if ( base._myObjectToControllerMap.containsKey( theObject ) ) {
ArrayList< ControllerInterface< ? >> cs = base._myObjectToControllerMap.get( theObject );
for ( ControllerInterface< ? > c : cs ) {
if ( c.getName( ).equals( theName ) ) {
return ( Controller< ? > ) c;
}
}
}
return null;
}
@Deprecated public Tab addTab( PApplet theWindow , String theName ) {
return addTab( base.cp5.controlWindow , theName );
}
@Deprecated public Tab addTab( ControlWindow theWindow , String theName ) {
for ( int i = 0 ; i < theWindow.getTabs( ).size( ) ; i++ ) {
if ( theWindow.getTabs( ).get( i ).getName( ).equals( theName ) ) {
return ( Tab ) theWindow.getTabs( ).get( i );
}
}
Tab myTab = new Tab( base.cp5 , theWindow , theName );
theWindow.getTabs( ).add( myTab );
return myTab;
}
@Deprecated public ControlWindow addControlWindow( final String theName , final int theX , final int theY , final int theWidth , final int theHeight , String theRenderer , int theFrameRate ) {
return addControlWindow( theName );
}
@Deprecated public ControlWindow addControlWindow( final String theWindowName , final int theWidth , final int theHeight ) {
return addControlWindow( theWindowName , 100 , 100 , theWidth , theHeight , "" , 30 );
}
@Deprecated public ControlWindow addControlWindow( final String theWindowName , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addControlWindow( theWindowName , theX , theY , theWidth , theHeight , "" , 30 );
}
@Deprecated public ControlWindow addControlWindow( final String theWindowName , final int theX , final int theY , final int theWidth , final int theHeight , final int theFrameRate ) {
return addControlWindow( theWindowName , theX , theY , theWidth , theHeight , "" , theFrameRate );
}
@Deprecated public Slider2D addSlider2D( String theName , int theX , int theY , int theW , int theH ) {
return addSlider2D( null , "" , theName , 0 , theW , 0 , theH , 0 , 0 , theX , theY , theW , theH );
}
@Deprecated public Slider2D addSlider2D( Object theObject , final String theIndex , final String theName , int theX , int theY , int theW , int theH ) {
return addSlider2D( theObject , theIndex , theName , 0 , theW , 0 , theH , 0 , 0 , theX , theY , theW , theH );
}
@Deprecated public Slider2D addSlider2D( String theName , float theMinX , float theMaxX , float theMinY , float theMaxY , float theDefaultValueX , float theDefaultValueY , int theX , int theY , int theW , int theH ) {
return addSlider2D( null , "" , theName , theMinX , theMaxX , theMinY , theMaxY , theDefaultValueX , theDefaultValueY , theX , theY , theW , theH );
}
@Deprecated public Button addButton( final String theName , final float theValue , final int theX , final int theY , final int theW , final int theH ) {
return addButton( null , "" , theName , theValue , theX , theY , theW , theH );
}
@Deprecated public Bang addBang( final String theName , final int theX , final int theY ) {
return addBang( null , "" , theName , theX , theY , 20 , 20 );
}
@Deprecated public Bang addBang( final String theName , final int theX , final int theY , final int theWidth , final int theHeight ) {
return addBang( null , "" , theName , theX , theY , theWidth , theHeight );
}
@Deprecated public Toggle addToggle( final String theName , final boolean theDefaultValue , final float theX , final float theY , final int theWidth , final int theHeight ) {
return addToggle( null , "" , theName , theDefaultValue , theX , theY , theWidth , theHeight );
}
@Deprecated public Toggle addToggle( final String theName , final float theX , final float theY , final int theWidth , final int theHeight ) {
return addToggle( null , "" , theName , false , theX , theY , theWidth , theHeight );
}
@Deprecated public Toggle addToggle( final Object theObject , final String theIndex , final String theName , final float theX , final float theY , final int theWidth , final int theHeight ) {
return addToggle( theObject , theIndex , theName , false , theX , theY , theWidth , theHeight );
}
}