mirror of
https://github.com/sojamo/controlp5
synced 2024-11-16 11:17:56 +01:00
340 lines
6.6 KiB
Java
340 lines
6.6 KiB
Java
|
package main.java.src2.main.java.controlP5.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##
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* A controlEvent is sent to a PApplet or a ControlListener whenever a controller value has changed.
|
||
|
* Events can also be sent when a tab is activated, but by default tab events are disabled and have
|
||
|
* to be enabled with {@link Tab} Tab.activateEvent(). for detailed information see the tab
|
||
|
* documentation.
|
||
|
*
|
||
|
* @example use/ControlP5controlEvent
|
||
|
*/
|
||
|
public class ControlEvent {
|
||
|
|
||
|
public static int UNDEFINDED = -1;
|
||
|
|
||
|
public static int CONTROLLER = 0;
|
||
|
|
||
|
public static int TAB = 1;
|
||
|
|
||
|
public static int GROUP = 2;
|
||
|
|
||
|
protected final ControllerInterface< ? > _myController;
|
||
|
|
||
|
protected boolean isTab;
|
||
|
|
||
|
protected boolean isController;
|
||
|
|
||
|
protected boolean isGroup;
|
||
|
|
||
|
protected int myAction;
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* @param theController
|
||
|
* Controller
|
||
|
*/
|
||
|
protected ControlEvent( Controller< ? > theController ) {
|
||
|
_myController = theController;
|
||
|
isTab = false;
|
||
|
isController = true;
|
||
|
isGroup = false;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @param theController
|
||
|
* Controller
|
||
|
*/
|
||
|
public ControlEvent( Tab theController ) {
|
||
|
_myController = theController;
|
||
|
isTab = true;
|
||
|
isGroup = false;
|
||
|
isController = false;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @param theController
|
||
|
* Controller
|
||
|
*/
|
||
|
public ControlEvent( ControllerGroup< ? > theController ) {
|
||
|
_myController = theController;
|
||
|
isTab = false;
|
||
|
isGroup = true;
|
||
|
isController = false;
|
||
|
}
|
||
|
|
||
|
public float getValue( ) {
|
||
|
return _myController.getValue( );
|
||
|
}
|
||
|
|
||
|
public String getStringValue( ) {
|
||
|
return _myController.getStringValue( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns a float array, applies to e.g. Range.
|
||
|
*
|
||
|
* @return float[]
|
||
|
*/
|
||
|
public float[] getArrayValue( ) {
|
||
|
return _myController.getArrayValue( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns a float value at a particular index from a controller's array value. No error
|
||
|
* checking available here, will throw ArrayIndexOutOfBOundsException in case of unavailable
|
||
|
* index.
|
||
|
*
|
||
|
* @param theIndex
|
||
|
* @return
|
||
|
*/
|
||
|
public float getArrayValue( int theIndex ) {
|
||
|
return _myController.getArrayValue( )[ theIndex ];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the instance of the controller sending the ControlEvent.
|
||
|
*
|
||
|
* @return Controller
|
||
|
*/
|
||
|
public Controller< ? > getController( ) {
|
||
|
return ( ( Controller< ? > ) _myController );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the tab that triggered the ControlEvent
|
||
|
*
|
||
|
* @return Tab Tab
|
||
|
*/
|
||
|
public Tab getTab( ) {
|
||
|
return ( Tab ) _myController;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the group that evoked the ControlEvent
|
||
|
*
|
||
|
* @return ControlGroup
|
||
|
*/
|
||
|
public ControlGroup< ? > getGroup( ) {
|
||
|
return ( ControlGroup< ? > ) _myController;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gets the text of the controller's label that has evoked the event.
|
||
|
*
|
||
|
* @return String
|
||
|
*/
|
||
|
public String getLabel( ) {
|
||
|
return ( ( Controller< ? > ) _myController ).getLabel( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Checks if the ControlEvent was triggered by a tab
|
||
|
*
|
||
|
* @see Tab
|
||
|
* @return boolean
|
||
|
*/
|
||
|
public boolean isTab( ) {
|
||
|
return isTab;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Checks if the ControlEvent was triggered by a controller
|
||
|
*
|
||
|
* @see Controller
|
||
|
* @return boolean
|
||
|
*/
|
||
|
public boolean isController( ) {
|
||
|
return isController;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Checks if the ControlEvent was triggered by a ControlGroup
|
||
|
*
|
||
|
* @see ControllerGroup
|
||
|
* @return boolean
|
||
|
*/
|
||
|
public boolean isGroup( ) {
|
||
|
return isGroup;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* returns the controller's name
|
||
|
*
|
||
|
* @return String
|
||
|
*/
|
||
|
public String getName( ) {
|
||
|
return _myController.getName( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns the controller's id, if an id has not been set before the default value -1 will be
|
||
|
* returned.
|
||
|
*
|
||
|
* @return
|
||
|
*/
|
||
|
public int getId( ) {
|
||
|
return _myController.getId( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return int returned is ControlP5.CONTROLLER, or ControlP5.TAB, or ControlP5.GROUP
|
||
|
*/
|
||
|
public int getType( ) {
|
||
|
if ( isController ) {
|
||
|
return CONTROLLER;
|
||
|
} else if ( isTab ) {
|
||
|
return TAB;
|
||
|
} else if ( isGroup ) {
|
||
|
return GROUP;
|
||
|
}
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Checks if the ControlEvent originates from a specific Controller or ControllerGroup.
|
||
|
*
|
||
|
* @param theController
|
||
|
* @return boolean
|
||
|
*/
|
||
|
public boolean isFrom( ControllerInterface< ? > theController ) {
|
||
|
return _myController.equals( theController );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* checks if the ControlEvent originates from a specific Controller or ControllerGroup
|
||
|
* identifiable by name.
|
||
|
*
|
||
|
* @param theController
|
||
|
* @return boolean
|
||
|
*/
|
||
|
|
||
|
public boolean isFrom( String theControllerName ) {
|
||
|
return _myController.getName( ).equals( theControllerName );
|
||
|
}
|
||
|
|
||
|
public boolean isAssignableFrom( Class< ? > c ) {
|
||
|
return _myController.getClass( ).isAssignableFrom( c );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public int type( ) {
|
||
|
return getType( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public int id( ) {
|
||
|
return getId( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public String name( ) {
|
||
|
return getName( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public String label( ) {
|
||
|
return getLabel( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public float value( ) {
|
||
|
return getValue( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public String stringValue( ) {
|
||
|
return getStringValue( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public float[] arrayValue( ) {
|
||
|
return getArrayValue( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public Controller< ? > controller( ) {
|
||
|
return getController( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public ControlGroup< ? > group( ) {
|
||
|
return getGroup( );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @exclude
|
||
|
* @deprecated
|
||
|
*/
|
||
|
@Deprecated
|
||
|
public Tab tab( ) {
|
||
|
return getTab( );
|
||
|
}
|
||
|
|
||
|
public String toString( ) {
|
||
|
return "[ ControlEvent from:" + _myController.getClass( ).getSimpleName( ) + " value:" + getValue( ) + " name:" + getName( ) + " ]";
|
||
|
}
|
||
|
}
|