This commit is contained in:
GoToLoop 2016-07-12 09:55:19 +00:00 committed by GitHub
commit 6edcc75724
1 changed files with 58 additions and 36 deletions

View File

@ -1,5 +1,3 @@
package controlP5;
/**
* controlP5 is a processing gui library.
*
@ -22,55 +20,72 @@ package controlP5;
* @author Andreas Schlegel (http://www.sojamo.de)
* @modified ##date##
* @version ##version##
*
*/
package controlP5;
import java.util.List;
import java.util.Vector;
import java.util.ArrayList;
import java.util.RandomAccess;
/**
* Stores objects of type ControllerInterface and CDrawable, mainly for internal use.
*/
public class ControllerList {
public class ControllerList implements RandomAccess {
protected final List< ControllerInterface< ? > > controllers = new ArrayList< >( );
protected final List< CDrawable > drawables = new ArrayList< >( );
protected List< ControllerInterface< ? >> controllers;
protected List< CDrawable > drawables;
public ControllerList( ) {
controllers = new Vector< ControllerInterface< ? >>( );
drawables = new Vector< CDrawable >( );
}
public void add( ControllerInterface< ? > theController ) {
if ( controllers.indexOf( theController ) < 0 ) {
public ControllerList add( final ControllerInterface< ? extends ControllerInterface< ? > > theController ) {
if ( !contains( theController ) ) synchronized ( controllers ) {
controllers.add( theController );
}
return this;
}
protected void remove( ControllerInterface< ? > theController ) {
controllers.remove( theController );
}
protected void addDrawable( CDrawable theController ) {
if ( drawables.indexOf( theController ) < 0 ) {
public ControllerList addDrawable( final CDrawable theController ) {
if ( !containsDrawable( theController ) ) synchronized ( drawables ) {
drawables.add( theController );
}
return this;
}
protected void removeDrawable( CDrawable theController ) {
drawables.remove( theController );
public ControllerList remove( final ControllerInterface< ? extends ControllerInterface< ? > > theController ) {
if ( !isEmpty( ) ) synchronized ( controllers ) {
controllers.remove( theController );
}
return this;
}
public ControllerInterface< ? > get( int theIndex ) {
public ControllerList removeDrawable( final CDrawable theController ) {
if ( !isEmptyDrawable( ) ) synchronized ( drawables ) {
drawables.remove( theController );
}
return this;
}
public ControllerList clear( ) {
if ( !isEmpty( ) ) synchronized ( controllers ) {
controllers.clear( );
}
return this;
}
public ControllerList clearDrawable( ) {
if ( !isEmptyDrawable( ) ) synchronized ( drawables ) {
drawables.clear( );
}
return this;
}
public ControllerInterface< ? extends ControllerInterface< ? > > get( final int theIndex ) {
return controllers.get( theIndex );
}
public List< ControllerInterface< ? >> get( ) {
public List< ControllerInterface< ? > > get( ) {
return controllers;
}
public CDrawable getDrawable( int theIndex ) {
public CDrawable getDrawable( final int theIndex ) {
return drawables.get( theIndex );
}
@ -78,20 +93,27 @@ public class ControllerList {
return drawables;
}
public int sizeDrawable( ) {
return drawables.size( );
public boolean contains( final ControllerInterface< ? extends ControllerInterface< ? > > theController ) {
return controllers.contains( theController );
}
public boolean containsDrawable( final CDrawable theController ) {
return drawables.contains( theController );
}
public boolean isEmpty( ) {
return controllers.isEmpty( );
}
public boolean isEmptyDrawable( ) {
return drawables.isEmpty( );
}
public int size( ) {
return controllers.size( );
}
protected void clear( ) {
controllers.clear( );
public int sizeDrawable( ) {
return drawables.size( );
}
protected void clearDrawable( ) {
drawables.clear( );
}
}