2.2.3 release

This commit is contained in:
sojamo 2015-03-24 12:27:05 +08:00
parent e2b6800bd3
commit 388b13569b
48 changed files with 125 additions and 88 deletions

1
.gitignore vendored
View File

@ -9,4 +9,3 @@
.buildpath .buildpath
.classpath .classpath
.project .project

View File

@ -366,4 +366,4 @@ If you want to help improve ControlP5, the first place for me to do so would be
If you have used ControlP5 in any of your projects, let me know, send me details, send me links, send me screeshots. If you have used ControlP5 in any of your projects, let me know, send me details, send me links, send me screeshots.
Copyright 2006-2014 Andreas Schlegel Copyright 2006-2015 Andreas Schlegel

View File

@ -200,7 +200,7 @@ controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:39 created: 2015/03/24 12:20:51
*/ */

View File

@ -196,7 +196,7 @@ controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:40 created: 2015/03/24 12:21:00
*/ */

View File

@ -279,7 +279,7 @@ controlP5.ControllerGroup : void remove()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:42 created: 2015/03/24 12:25:32
*/ */

View File

@ -181,7 +181,7 @@ controlP5.ControllerGroup : void remove()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:44 created: 2015/03/24 12:25:35
*/ */

View File

@ -224,7 +224,7 @@ controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:45 created: 2015/03/24 12:25:36
*/ */

View File

@ -260,7 +260,7 @@ controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:47 created: 2015/03/24 12:20:49
*/ */

View File

@ -82,7 +82,7 @@ controlP5.Canvas : void update(PApplet)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:48 created: 2015/03/24 12:20:53
*/ */

View File

@ -236,7 +236,7 @@ controlP5.Controller : void setView(ControllerView, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:50 created: 2015/03/24 12:20:54
*/ */

View File

@ -235,7 +235,7 @@ controlP5.ControllerGroup : void remove()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:51 created: 2015/03/24 12:20:56
*/ */

View File

@ -181,7 +181,7 @@ controlP5.ControllerGroup : void remove()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:53 created: 2015/03/24 12:20:58
*/ */

View File

@ -56,7 +56,7 @@ controlP5.ControlTimer : void update()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:55 created: 2015/03/24 12:21:02
*/ */

View File

@ -158,7 +158,7 @@ controlP5.ControllerProperties : void setFormat(String)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:56 created: 2015/03/24 12:21:03
*/ */

View File

@ -304,7 +304,7 @@ controlP5.DropdownList : void updateItemIndexOffset()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:18:58 created: 2015/03/24 12:21:05
*/ */

View File

@ -228,7 +228,7 @@ controlP5.ControllerGroup : void remove()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:00 created: 2015/03/24 12:21:07
*/ */

View File

@ -211,7 +211,7 @@ controlP5.Icon : int getFontIcon(int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:01 created: 2015/03/24 12:21:09
*/ */

View File

@ -253,7 +253,7 @@ controlP5.Knob : int getViewStyle()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:02 created: 2015/03/24 12:21:10
*/ */

View File

@ -312,7 +312,7 @@ controlP5.ListBox : void updateItemIndexOffset()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:04 created: 2015/03/24 12:21:12
*/ */

View File

@ -289,7 +289,7 @@ controlP5.Matrix : void remove()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:06 created: 2015/03/24 12:21:14
*/ */

View File

@ -207,7 +207,7 @@ controlP5.Numberbox : float getMultiplier()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:09 created: 2015/03/24 12:25:44
*/ */

View File

@ -231,7 +231,7 @@ controlP5.RadioButton : void updateLayout()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:11 created: 2015/03/24 12:21:19
*/ */

View File

@ -237,7 +237,7 @@ controlP5.Range : float[] getArrayValue()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:12 created: 2015/03/24 12:21:20
*/ */

View File

@ -254,7 +254,7 @@ controlP5.ScrollableList : void updateItemIndexOffset()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:14 created: 2015/03/24 12:21:22
*/ */

View File

@ -290,7 +290,7 @@ controlP5.Slider : int getTriggerEvent()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:16 created: 2015/03/24 12:25:46
*/ */

View File

@ -231,7 +231,7 @@ controlP5.Slider2D : void setValueLabelSeparator(String)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:18 created: 2015/03/24 12:25:47
*/ */

View File

@ -229,7 +229,7 @@ controlP5.Tab : float getValue()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:19 created: 2015/03/24 12:25:49
*/ */

View File

@ -222,7 +222,7 @@ controlP5.Textarea : void controlEvent(ControlEvent)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:21 created: 2015/03/24 12:21:29
*/ */

View File

@ -250,7 +250,7 @@ controlP5.Textfield : void keyEvent(KeyEvent)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:23 created: 2015/03/24 12:21:31
*/ */

View File

@ -204,7 +204,7 @@ controlP5.Textlabel : void draw(int, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:24 created: 2015/03/24 12:21:33
*/ */

View File

@ -228,10 +228,11 @@ controlP5.Toggle : Toggle toggle()
controlP5.Toggle : Toggle update() controlP5.Toggle : Toggle update()
controlP5.Toggle : boolean getBooleanValue() controlP5.Toggle : boolean getBooleanValue()
controlP5.Toggle : boolean getState() controlP5.Toggle : boolean getState()
controlP5.Toggle : int getMode()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:26 created: 2015/03/24 12:21:35
*/ */

View File

@ -109,7 +109,7 @@ controlP5.Tooltip : int getWidth()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:27 created: 2015/03/24 12:21:36
*/ */

View File

@ -192,7 +192,7 @@ controlP5.Textlabel : void draw(int, int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:19:51 created: 2015/03/24 12:22:02
*/ */

View File

@ -68,7 +68,7 @@ ClassName : returnType methodName(parameter type)
created: 2014/09/08 01:20:02 created: 2015/03/24 12:22:14
*/ */

View File

@ -112,7 +112,7 @@ controlP5.ControlEvent : int getType()
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:20:21 created: 2015/03/24 12:22:35
*/ */

View File

@ -127,7 +127,7 @@ controlP5.ControlFont : void setSize(int)
java.lang.Object : String toString() java.lang.Object : String toString()
java.lang.Object : boolean equals(Object) java.lang.Object : boolean equals(Object)
created: 2014/09/08 01:20:23 created: 2015/03/24 12:22:36
*/ */

View File

@ -13,13 +13,13 @@
</path> </path>
<property name="javaVersion" value="1.6"/> <property name="javaVersion" value="1.6"/>
<property name="author" value="Andreas Schlegel"/> <property name="author" value="Andreas Schlegel"/>
<property name="copyright" value="(c) 2006-2014"/> <property name="copyright" value="(c) 2006-2015"/>
<property name="libraryName" value="controlP5"/> <property name="libraryName" value="controlP5"/>
<property name="versionNumber" value="2.2.2"/> <property name="versionNumber" value="2.2.3"/>
<property name="yourLink" value="http://www.sojamo.de" /> <property name="yourLink" value="http://www.sojamo.de" />
<property name="keywords" value="gui, ui, controller, interface, user interface" /> <property name="keywords" value="gui, ui, controller, interface, user interface" />
<property name="tested:platform" value="osx, windows, linux" /> <property name="tested:platform" value="osx, windows, linux" />
<property name="tested:processingVersion" value="2.2.1" /> <property name="tested:processingVersion" value="2.2.3" />
<property name="tested:dependencies" value="none" /> <property name="tested:dependencies" value="none" />
<property name="source:host" value="github" /> <property name="source:host" value="github" />
<property name="source:url" value="https://github.com/sojamo/controlp5" /> <property name="source:url" value="https://github.com/sojamo/controlp5" />

View File

@ -22,7 +22,7 @@ category = GUI
# shown from inside the PDE when the library is being installed. Avoid repeating # shown from inside the PDE when the library is being installed. Avoid repeating
# the name of your library here. Also, avoid saying anything redundant like # the name of your library here. Also, avoid saying anything redundant like
# mentioning that its a library. # mentioning that its a library.
sentence = A GUI library with a range of controllers to build custom user interfaces for desktop and android mode. sentence = A GUI library to build custom user interfaces for desktop and android mode.
# Additional information suitable for the Processing website. The value of # Additional information suitable for the Processing website. The value of
# 'sentence' always will be prepended, so you should start by writing the # 'sentence' always will be prepended, so you should start by writing the
@ -38,7 +38,7 @@ paragraph = Includes interface elements such as slider, button, knob, toggle, te
# is used to compare different versions of the same library, and # is used to compare different versions of the same library, and
# check if an update is available. You should think of it as a # check if an update is available. You should think of it as a
# counter, counting the total number of releases you've had. # counter, counting the total number of releases you've had.
version = 81 # This must be parsable as an int version = 82 # This must be parsable as an int
# The version as the user will see it. If blank, the version attribute will be used here # The version as the user will see it. If blank, the version attribute will be used here
prettyVersion = 2.2.2 # This is treated as a String prettyVersion = 2.2.3 # This is treated as a String

View File

@ -34,33 +34,20 @@ import java.io.Serializable;
public class CColor implements Serializable { public class CColor implements Serializable {
private int colorBackground = 0xff003652; private int colorBackground = 0xff003652;
private int colorForeground = 0xff00698c; private int colorForeground = 0xff00698c;
private int colorActive = 0xff08a2cf; // 0699C4; private int colorActive = 0xff08a2cf; // 0699C4;
private int colorCaptionLabel = 0xffffffff; private int colorCaptionLabel = 0xffffffff;
private int colorValueLabel = 0xffffffff; private int colorValueLabel = 0xffffffff;
private int colorBackgroundAlpha = 0xff; private int colorBackgroundAlpha = 0xff;
private int colorForegroundAlpha = 0xff; private int colorForegroundAlpha = 0xff;
private int colorActiveAlpha = 0xff; // 0699C4; private int colorActiveAlpha = 0xff; // 0699C4;
private int colorCaptionLabelAlpha = 0xff; private int colorCaptionLabelAlpha = 0xff;
private int colorValueLabelAlpha = 0xff; private int colorValueLabelAlpha = 0xff;
private int alpha = 0xff; private int alpha = 0xff;
private int maskA = 0x00ffffff; private int maskA = 0x00ffffff;
int maskR = 0xff00ffff; int maskR = 0xff00ffff;
int maskG = 0xffff00ff; int maskG = 0xffff00ff;
int maskB = 0xffffff00; int maskB = 0xffffff00;
protected CColor set( CColor theColor ) { protected CColor set( CColor theColor ) {

View File

@ -47,29 +47,17 @@ import java.util.Set;
public class ControlBroadcaster { public class ControlBroadcaster {
private int _myControlEventType = ControlP5Constants.INVALID; private int _myControlEventType = ControlP5Constants.INVALID;
private ControllerPlug _myControlEventPlug = null; private ControllerPlug _myControlEventPlug = null;
private ControllerPlug _myControllerCallbackEventPlug = null; private ControllerPlug _myControllerCallbackEventPlug = null;
private ControlP5 cp5; private ControlP5 cp5;
private String _myEventMethod = "controlEvent"; private String _myEventMethod = "controlEvent";
private String _myControllerCallbackEventMethod = "controlEvent"; private String _myControllerCallbackEventMethod = "controlEvent";
private ArrayList< ControlListener > _myControlListeners; private ArrayList< ControlListener > _myControlListeners;
private Set< Entry< CallbackListener , Controller< ? >>> _myControllerCallbackListeners; private Set< Entry< CallbackListener , Controller< ? >>> _myControllerCallbackListeners;
private static boolean setPrintStackTrace = true; private static boolean setPrintStackTrace = true;
private static boolean ignoreErrorMessage = false; private static boolean ignoreErrorMessage = false;
private static Map< Class< ? > , Field[] > fieldcache = new HashMap< Class< ? > , Field[] >( ); private static Map< Class< ? > , Field[] > fieldcache = new HashMap< Class< ? > , Field[] >( );
private static Map< Class< ? > , Method[] > methodcache = new HashMap< Class< ? > , Method[] >( ); private static Map< Class< ? > , Method[] > methodcache = new HashMap< Class< ? > , Method[] >( );
boolean broadcast = true; boolean broadcast = true;
protected ControlBroadcaster( ControlP5 theControlP5 ) { protected ControlBroadcaster( ControlP5 theControlP5 ) {

View File

@ -33,11 +33,14 @@ import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -87,12 +90,15 @@ public class ControlP5 extends ControlP5Base {
*/ */
@ControlP5.Invisible PGraphics pg; @ControlP5.Invisible PGraphics pg;
int pgx = 0 , pgy = 0 , pgw = 0 , pgh = 0; int pgx = 0 , pgy = 0 , pgw = 0 , pgh = 0;
int ox = 0;
int oy = 0;
boolean isGraphics = false; boolean isGraphics = false;
/** /**
* @exclude * @exclude
*/ */
@ControlP5.Invisible public static final String VERSION = "2.2.2";// "##version##"; @ControlP5.Invisible public static final String VERSION = "2.2.3";// "##version##";
/** /**
* @exclude * @exclude
@ -256,6 +262,12 @@ public class ControlP5 extends ControlP5Base {
return this; return this;
} }
public ControlP5 setPosition( int theX , int theY ) {
ox = theX;
oy = theY;
return this;
}
/** /**
* By default event originating from tabs are disabled, * By default event originating from tabs are disabled,
* use setTabEventsActive(true) to receive controlEvents * use setTabEventsActive(true) to receive controlEvents
@ -1359,14 +1371,44 @@ public class ControlP5 extends ControlP5Base {
return str.matches( "(-|\\+)?\\d+(\\.\\d+)?" ); return str.matches( "(-|\\+)?\\d+(\\.\\d+)?" );
} }
static public List toList( final Object ... args ) {
List l = new ArrayList( );
Collections.addAll( l , args );
return l;
}
static public List toList( Object o ) { static public List toList( Object o ) {
return o != null ? ( o instanceof List ) ? ( List ) o : ( o instanceof String ) ? toList( o.toString( ) ) : Collections.EMPTY_LIST : Collections.EMPTY_LIST; return o != null ? ( o instanceof List ) ? ( List ) o : ( o instanceof String ) ? toList( o.toString( ) ) : Collections.EMPTY_LIST : Collections.EMPTY_LIST;
} }
static public Map toMap( final String s ) {
/* similar to mapFrom(Object ... args) but with type
* (Number,String) sensitivity */
String[] arr = s.trim( ).split( delimiter );
Map m = new LinkedHashMap( );
if ( arr.length % 2 == 0 ) {
for ( int i = 0 ; i < arr.length ; i += 2 ) {
String s1 = arr[ i + 1 ];
m.put( arr[ i ] , isNumeric( s1 ) ? s1.indexOf( "." ) == -1 ? i( s1 ) : f( s1 ) : s1 );
}
}
return m;
}
static public Map toMap( Object o ) { static public Map toMap( Object o ) {
return o != null ? ( o instanceof Map ) ? ( Map ) o : Collections.EMPTY_MAP : Collections.EMPTY_MAP; return o != null ? ( o instanceof Map ) ? ( Map ) o : Collections.EMPTY_MAP : Collections.EMPTY_MAP;
} }
static public Map toMap( final Object ... args ) {
Map m = new LinkedHashMap( );
if ( args.length % 2 == 0 ) {
for ( int i = 0 ; i < args.length ; i += 2 ) {
m.put( args[ i ] , args[ i + 1 ] );
}
}
return m;
}
static public String s( String o ) { static public String s( String o ) {
return ( o != null ) ? o : ""; return ( o != null ) ? o : "";
} }
@ -1382,6 +1424,18 @@ public class ControlP5 extends ControlP5Base {
} }
}; };
static public void sleep( long theMillis ) {
try {
Thread.sleep( theMillis );
} catch ( Exception e ) {
}
}
static public String timestamp( ) {
return new SimpleDateFormat( "yyyyMMdd-HHmmss" ).format( new Date( ) );
}
/* add Objects with Annotation */ /* add Objects with Annotation */
public static Logger logger( ) { public static Logger logger( ) {

View File

@ -169,6 +169,8 @@ public interface ControlP5Constants {
public final static CColor THEME_GREY = new CColor( 0xffeeeeee, 0xffbbbbbb , 0xffffffff , 0xff555555 , 0xff555555 ); public final static CColor THEME_GREY = new CColor( 0xffeeeeee, 0xffbbbbbb , 0xffffffff , 0xff555555 , 0xff555555 );
public final static CColor THEME_A = new CColor( 0xff00FFC8 , 0xff00D7FF , 0xffffff00 , 0xff00B0FF , 0xff00B0FF ); public final static CColor THEME_A = new CColor( 0xff00FFC8 , 0xff00D7FF , 0xffffff00 , 0xff00B0FF , 0xff00B0FF );
// other colors: #ff3838 red-salmon; #08ffb4 turquoise; #40afff light-blue; #f3eddb beige;
public static final int standard58 = 0; public static final int standard58 = 0;
public static final int standard56 = 1; public static final int standard56 = 1;
public static final int synt24 = 2; public static final int synt24 = 2;
@ -180,4 +182,7 @@ public interface ControlP5Constants {
public final static String JSON = "JSON"; public final static String JSON = "JSON";
public final static String SERIALIZED = "SERIALIZED"; public final static String SERIALIZED = "SERIALIZED";
static public final String delimiter = " ";
static public final String pathdelimiter = "/";
} }

View File

@ -195,7 +195,7 @@ public final class ControlWindow {
/** /**
* Sets the position of the tab bar which is set to 0,0 * Sets the position of the tab bar which is set to 0,0
* by default. to move the tabs to y-position 100, use * by default. to move the tabs to y-position 100, use
* cp5.window().setPositionOfTabs(new PVector(0,100,0)); * cp5.getWindow().setPositionOfTabs(new PVector(0,100,0));
* *
* @param thePVector * @param thePVector
*/ */
@ -413,8 +413,8 @@ public final class ControlWindow {
*/ */
public void mouseEvent( int theX , int theY , boolean pressed ) { public void mouseEvent( int theX , int theY , boolean pressed ) {
mouseX = theX - cp5.pgx; mouseX = theX - cp5.pgx - cp5.ox;
mouseY = theY - cp5.pgy; mouseY = theY - cp5.pgy - cp5.oy;
if ( pressed && !pmousePressed ) { if ( pressed && !pmousePressed ) {
updateEvents( ); updateEvents( );
@ -451,8 +451,8 @@ public final class ControlWindow {
*/ */
public void mouseEvent( MouseEvent theMouseEvent ) { public void mouseEvent( MouseEvent theMouseEvent ) {
if ( isMouse ) { if ( isMouse ) {
mouseX = theMouseEvent.getX( ) - cp5.pgx; mouseX = theMouseEvent.getX( ) - cp5.pgx - cp5.ox;
mouseY = theMouseEvent.getY( ) - cp5.pgy; mouseY = theMouseEvent.getY( ) - cp5.pgy - cp5.oy;
if ( theMouseEvent.getAction( ) == MouseEvent.PRESS ) { if ( theMouseEvent.getAction( ) == MouseEvent.PRESS ) {
mousePressedEvent( ); mousePressedEvent( );
} }
@ -526,7 +526,8 @@ public final class ControlWindow {
} }
public void draw( PGraphics pg ) { public void draw( PGraphics pg ) {
pg.pushMatrix( );
pg.translate( cp5.ox , cp5.oy );
if ( cp5.blockDraw == false ) { if ( cp5.blockDraw == false ) {
if ( cp5.isAndroid ) { if ( cp5.isAndroid ) {
mouseEvent( cp5.papplet.mouseX , cp5.papplet.mouseY , cp5.papplet.mousePressed ); mouseEvent( cp5.papplet.mouseX , cp5.papplet.mouseY , cp5.papplet.mousePressed );
@ -625,7 +626,7 @@ public final class ControlWindow {
} }
} }
} }
pg.popMatrix( );
} }
/** /**

View File

@ -38,23 +38,14 @@ import java.security.AccessControlException;
public class ControllerPlug { public class ControllerPlug {
private Object _myObject; private Object _myObject;
private String _myName; private String _myName;
private Method _myMethod; private Method _myMethod;
private Field _myField; private Field _myField;
private int _myType = ControlP5Constants.INVALID; private int _myType = ControlP5Constants.INVALID;
private Class< ? > _myParameterClass; private Class< ? > _myParameterClass;
private int _myParameterType = -1; private int _myParameterType = -1;
private Object _myValue = null; private Object _myValue = null;
private Class< ? >[] _myAcceptClassList; private Class< ? >[] _myAcceptClassList;
private Class< ? > _myEventMethodParameter = ControlEvent.class; private Class< ? > _myEventMethodParameter = ControlEvent.class;
public ControllerPlug( final Object theObject , final String theName , final int theType , final int theParameterType , Class< ? >[] theAcceptClassList ) { public ControllerPlug( final Object theObject , final String theName , final int theType , final int theParameterType , Class< ? >[] theAcceptClassList ) {

View File

@ -67,6 +67,7 @@ public class DropdownList extends Controller< DropdownList > implements ControlL
super( theControlP5 , theGroup , theName , theX , theY , theW , theH ); super( theControlP5 , theGroup , theName , theX , theY , theW , theH );
items = new ArrayList< Map< String , Object > >( ); items = new ArrayList< Map< String , Object > >( );
updateHeight( ); updateHeight( );
getValueLabel( ).align( PApplet.LEFT , PApplet.CENTER );
} }
public boolean isOpen( ) { public boolean isOpen( ) {
@ -389,7 +390,7 @@ public class DropdownList extends Controller< DropdownList > implements ControlL
} }
g.popMatrix( ); g.popMatrix( );
c.getCaptionLabel( ).align( PApplet.LEFT , PApplet.CENTER ).draw( g , 4 , c.barHeight / 2 ); c.getCaptionLabel( ).draw( g , 4 , c.barHeight / 2 );
} }
if ( c.isOpen( ) ) { if ( c.isOpen( ) ) {
@ -411,7 +412,7 @@ public class DropdownList extends Controller< DropdownList > implements ControlL
CColor color = ( CColor ) item.get( "color" ); CColor color = ( CColor ) item.get( "color" );
g.fill( ( b( item.get( "state" ) ) ) ? color.getActive( ) : ( i == c.itemHover ) ? ( c.isMousePressed ? color.getActive( ) : color.getForeground( ) ) : color.getBackground( ) ); g.fill( ( b( item.get( "state" ) ) ) ? color.getActive( ) : ( i == c.itemHover ) ? ( c.isMousePressed ? color.getActive( ) : color.getForeground( ) ) : color.getBackground( ) );
g.rect( 0 , 0 , c.getWidth( ) , c.itemHeight - 1 ); g.rect( 0 , 0 , c.getWidth( ) , c.itemHeight - 1 );
c.getValueLabel( ).align( PApplet.LEFT , PApplet.CENTER ).set( item.get( "text" ).toString( ) ).draw( g , 4 , c.itemHeight / 2 ); c.getValueLabel( ).set( item.get( "text" ).toString( ) ).draw( g , 4 , c.itemHeight / 2 );
g.translate( 0 , c.itemHeight ); g.translate( 0 , c.itemHeight );
} }
g.popMatrix( ); g.popMatrix( );

View File

@ -75,6 +75,7 @@ public class ScrollableList extends Controller< ScrollableList > implements Cont
super( theControlP5 , theGroup , theName , theX , theY , theW , theH ); super( theControlP5 , theGroup , theName , theX , theY , theW , theH );
items = new ArrayList< Map< String , Object > >( ); items = new ArrayList< Map< String , Object > >( );
updateHeight( ); updateHeight( );
getValueLabel( ).align( PApplet.LEFT , PApplet.CENTER );
} }
public boolean isOpen( ) { public boolean isOpen( ) {
@ -397,7 +398,8 @@ public class ScrollableList extends Controller< ScrollableList > implements Cont
} }
g.popMatrix( ); g.popMatrix( );
c.getCaptionLabel( ).align( PApplet.LEFT , PApplet.CENTER ).draw( g , 4 , c.barHeight / 2 ); c.getCaptionLabel( ).draw( g , 4 , c.barHeight / 2 );
} }
if ( c.isOpen( ) ) { if ( c.isOpen( ) ) {
@ -419,7 +421,7 @@ public class ScrollableList extends Controller< ScrollableList > implements Cont
CColor color = ( CColor ) item.get( "color" ); CColor color = ( CColor ) item.get( "color" );
g.fill( ( b( item.get( "state" ) ) ) ? color.getActive( ) : ( i == c.itemHover ) ? ( c.isMousePressed ? color.getActive( ) : color.getForeground( ) ) : color.getBackground( ) ); g.fill( ( b( item.get( "state" ) ) ) ? color.getActive( ) : ( i == c.itemHover ) ? ( c.isMousePressed ? color.getActive( ) : color.getForeground( ) ) : color.getBackground( ) );
g.rect( 0 , 0 , c.getWidth( ) , c.itemHeight - 1 ); g.rect( 0 , 0 , c.getWidth( ) , c.itemHeight - 1 );
c.getValueLabel( ).align( PApplet.LEFT , PApplet.CENTER ).set( item.get( "text" ).toString( ) ).draw( g , 4 , c.itemHeight / 2 ); c.getValueLabel( ).set( item.get( "text" ).toString( ) ).draw( g , 4 , c.itemHeight / 2 );
g.translate( 0 , c.itemHeight ); g.translate( 0 , c.itemHeight );
} }
g.popMatrix( ); g.popMatrix( );

View File

@ -1,3 +1,7 @@
2014-09-08 Andreas Schlegel
* add glyphicons reference to controlp5.Icon.java http://glyphicons.com
* add useiconic to controlp5.Icon.java https://useiconic.com/open
2014-05-29 Andreas Schlegel 2014-05-29 Andreas Schlegel
* distinguish between left,center, right mouse click events http://forum.processing.org/two/discussion/5422/controlp5-mousepressed-only-if-mousebutton-left- * distinguish between left,center, right mouse click events http://forum.processing.org/two/discussion/5422/controlp5-mousepressed-only-if-mousebutton-left-

View File

@ -167,6 +167,10 @@ public class Toggle extends Controller< Toggle > {
return this; return this;
} }
public int getMode( ) {
return _myDisplayMode;
}
/** /**
* by default a toggle returns 0 (for off) and 1 (for on). the internal value variable can be * by default a toggle returns 0 (for off) and 1 (for on). the internal value variable can be
* used to store an additional value for a toggle event. * used to store an additional value for a toggle event.