[piccolo2d-dev] Issue 99 in piccolo2d: PNode.toString refactoring
Comment #6 on issue 99 by allain.lalonde: PNode.toString refactoring http://code.google.com/p/piccolo2d/issues/detail?id=99 Very strange, majority rules I guess. PParamStringBuilder is basically the same thing as the ToStringBuilder class, and the change is binary compatible to the current code. Oh, well. Should this be marked as Will Not Fix then? -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r533 commited - Edited wiki page through web user interface.
Revision: 533 Author: mr0...@mro.name Date: Tue Jul 21 04:42:23 2009 Log: Edited wiki page through web user interface. http://code.google.com/p/piccolo2d/source/detail?r=533 Modified: /wiki/SvgSupport.wiki === --- /wiki/SvgSupport.wiki Tue Apr 14 01:48:05 2009 +++ /wiki/SvgSupport.wiki Tue Jul 21 04:42:23 2009 @@ -1,6 +1,8 @@ #summary Rough Paper: History, Requirements, Concepts, Obstacles #labels Phase-Requirements +wiki:toc / + This idea came up on the [http://groups.google.com/group/piccolo2d-dev/browse_thread/thread/df17f5cb0edfefe8 piccolo2d-dev maillist]. TODO: insert the [http://groups.google.com/group/piccolo2d-dev/browse_thread/thread/eab6481afdb09d3b options Michael mentioned] and the example from the comment below. @@ -37,7 +39,7 @@ = Steps = Aim for for [http://www.w3.org/TR/SVGMobile/#sec-overview SVG 1.1 Tiny] and use the examples from the specification as test input. Development happens in the [http://piccolo2d.googlecode.com/svn/piccolo2d.java/branches/svg svg branch]. -As I develop this in a local git repo and merge to svn, a fineer-grained commit history can be obtained from the [http://www.mro.name/piccolo2d.java.git git repository]. +As I develop this in a local git repo and merge to svn, a fineer-grained commit history can be obtained from the [http://github.com/mro/piccolo2d.java/ git://github.com/mro/piccolo2d.java.git repository]. # Proof a concept # Sax Parser to read the svg xml --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r534 commited - Edited wiki page through web user interface.
Revision: 534 Author: mr0...@mro.name Date: Tue Jul 21 04:46:59 2009 Log: Edited wiki page through web user interface. http://code.google.com/p/piccolo2d/source/detail?r=534 Modified: /wiki/SvgSupport.wiki === --- /wiki/SvgSupport.wiki Tue Jul 21 04:42:23 2009 +++ /wiki/SvgSupport.wiki Tue Jul 21 04:46:59 2009 @@ -1,5 +1,5 @@ #summary Rough Paper: History, Requirements, Concepts, Obstacles -#labels Phase-Requirements +#labels Phase-Requirements,Deprecated wiki:toc / @@ -18,7 +18,7 @@ = History = -There was some idea to build svg support into [http://www.cs.umd.edu/hcil/jazz/download/index.shtml jazz]. The [http://www.piccolo2d.org/doc/jazz/release-1.1/apidocs/index.html v1.1 API] has some svg classes. +There was some idea to build svg support into [http://www.piccolo2d.org/download.html jazz]. The [http://www.piccolo2d.org/doc/jazz/release-1.1/apidocs/index.html v1.1 API] has some svg classes. = Requirements = @@ -39,7 +39,7 @@ = Steps = Aim for for [http://www.w3.org/TR/SVGMobile/#sec-overview SVG 1.1 Tiny] and use the examples from the specification as test input. Development happens in the [http://piccolo2d.googlecode.com/svn/piccolo2d.java/branches/svg svg branch]. -As I develop this in a local git repo and merge to svn, a fineer-grained commit history can be obtained from the [http://github.com/mro/piccolo2d.java/ git://github.com/mro/piccolo2d.java.git repository]. +As I develop this in a local git repo and merge to svn, a fineer-grained commit history can be obtained from the [http://github.com/mro/piccolo2d.java/ git://github.com/mro/piccolo2d.java.git] repository. # Proof a concept # Sax Parser to read the svg xml --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r536 commited - issue 42 - clarified README and --help.
Revision: 536 Author: mr0...@mro.name Date: Tue Jul 21 05:13:23 2009 Log: issue 42 - clarified README and --help. http://code.google.com/p/piccolo2d/source/detail?r=536 Modified: /site/README.txt /site/tools/inject_navigation.rb === --- /site/README.txtWed Aug 6 20:03:04 2008 +++ /site/README.txtTue Jul 21 05:13:23 2009 @@ -1,14 +1,27 @@ -See http://code.google.com/p/piccolo2d/issues/detail?id=42 - -The steps migrating the content from UMD here are - -1) cleanup markup (xhtml, css, code snippets) and navigation -2) replace piccolo - piccolo2d, check links -3) rephrase/rewrite where outdated -4) move .../site/user/* to .../site/ -5) get tons of +1 votes on the issue -6) mirror to www.piccolo2d.org -7) feature on the project homepage - -P.S.: As the .../svn/site/ has no trunk/branches/tags I version - the changes with git and push them to .../svn/site.stage/ + +Jumpstart how to edit the website: + +1) checkout the site stage from https://piccolo2d.googlecode.com/svn/site + (beware, lots of stuff!) + +2) edit whatever you want to fix, + +3) re-inject the navigation html code into the static html pages: + $ ruby tools/inject_navigation.rb index.html ... + +4) tidy the html as the above script asks you to, + +5) ensure proper mime-type settings (svn): + $ sh tools/svn-mime-types.sh + +6) verify - test your changes locally + +7) commit to svn and verify your changes at http://piccolo2d.googlecode.com/svn/site/ + +8) wait until your changes are published from svn to http://piccolo2d.org + automatically every 4 hours at 3,7,etc UTC. + + +For more background visit: +- http://code.google.com/p/piccolo2d/wiki/WebSiteHowTo +- http://code.google.com/p/piccolo2d/issues/detail?id=42 === --- /site/tools/inject_navigation.rbThu Aug 28 08:30:10 2008 +++ /site/tools/inject_navigation.rbTue Jul 21 05:13:23 2009 @@ -124,7 +124,7 @@ if ARGV.length 1 || ARGV[0] == '--help' || ARGV[0] == '-help' || ARGV[0] == '-?' puts END_OF_HELP -Inject navigation into html pages. +Inject navigation from tools/navigation.txt into html pages. Usage: 1) cd to the root of the website --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r537 commited - Marked ALL_MODIFIERS_MASK as final
Revision: 537 Author: allain.lalonde Date: Tue Jul 21 06:30:07 2009 Log: Marked ALL_MODIFIERS_MASK as final http://code.google.com/p/piccolo2d/source/detail?r=537 Modified: /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/event/PInputEventFilter.java === --- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/event/PInputEventFilter.java Mon Jul 20 14:32:09 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/event/PInputEventFilter.java Tue Jul 21 06:30:07 2009 @@ -53,7 +53,7 @@ */ public class PInputEventFilter { -public static int ALL_MODIFIERS_MASK = InputEvent.BUTTON1_MASK | InputEvent.BUTTON2_MASK | InputEvent.BUTTON3_MASK +public static final int ALL_MODIFIERS_MASK = InputEvent.BUTTON1_MASK | InputEvent.BUTTON2_MASK | InputEvent.BUTTON3_MASK | InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK | InputEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK | InputEvent.META_MASK; --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r539 commited - fixed possible bug with double[].toString() preferred way of doing thi...
Revision: 539 Author: allain.lalonde Date: Tue Jul 21 06:44:08 2009 Log: fixed possible bug with double[].toString() preferred way of doing this is to use the Arrays.toString() method http://code.google.com/p/piccolo2d/source/detail?r=539 Modified: /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/activities/PTransformActivity.java === --- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/activities/PTransformActivity.java Fri Jan 23 12:25:52 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/activities/PTransformActivity.java Tue Jul 21 06:44:08 2009 @@ -29,6 +29,7 @@ package edu.umd.cs.piccolo.activities; import java.awt.geom.AffineTransform; +import java.util.Arrays; import edu.umd.cs.piccolo.util.PAffineTransform; @@ -153,8 +154,8 @@ protected String paramString() { StringBuffer result = new StringBuffer(); -result.append(source= + (source == null ? null : source.toString())); -result.append(,destination= + (destination == null ? null : destination.toString())); +result.append(source= + (source == null ? null : Arrays.toString(source))); +result.append(,destination= + (destination == null ? null : Arrays.toString(destination))); result.append(','); result.append(super.paramString()); --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r540 commited - Fixing NotificationTarget and NotificationKey equals methods so that t...
Revision: 540 Author: allain.lalonde Date: Tue Jul 21 07:24:46 2009 Log: Fixing NotificationTarget and NotificationKey equals methods so that they conform to the equals contract. http://code.google.com/p/piccolo2d/source/detail?r=540 Modified: /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java === --- /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java Sat Jul 18 17:44:30 2009 +++ /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java Tue Jul 21 07:24:46 2009 @@ -106,22 +106,22 @@ Method method = null; try { -method = listener.getClass().getMethod(callbackMethodName, new Class[] { PNotification.class }); +method = listener.getClass().getMethod(callbackMethodName, new Class[] { PNotification.class }); } catch (NoSuchMethodException e) { return false; } - + int modifiers = method.getModifiers(); - + if (!Modifier.isPublic(modifiers)) { return false; -} +} if (name == null) { name = NULL_MARKER; } - + if (object == null) { object = NULL_MARKER; } @@ -138,7 +138,7 @@ if (!list.contains(notificationTarget)) { list.add(notificationTarget); } - + return true; } @@ -211,7 +211,12 @@ Object object = aNotification.getObject(); if (name != null) { -if (object != null) { // both are specified +if (object == null) {// object is null +listenersList = (List) listenersMap.get(new NotificationKey(name, NULL_MARKER)); +if (listenersList != null) { +mergedListeners.addAll(listenersList); +} +} else { // both are specified listenersList = (List) listenersMap.get(new NotificationKey(name, object)); if (listenersList != null) { mergedListeners.addAll(listenersList); @@ -223,13 +228,7 @@ listenersList = (List) listenersMap.get(new NotificationKey(NULL_MARKER, object)); if (listenersList != null) { mergedListeners.addAll(listenersList); -} -} -else { // object is null -listenersList = (List) listenersMap.get(new NotificationKey(name, NULL_MARKER)); -if (listenersList != null) { -mergedListeners.addAll(listenersList); -} +} } } else if (object != null) { // name is null @@ -244,7 +243,7 @@ if (listenersList != null) { mergedListeners.addAll(listenersList); } - + dispatchNotifications(aNotification, mergedListeners); } @@ -261,12 +260,12 @@ try { listener.getMethod().invoke(listener.get(), new Object[] { aNotification }); } -catch (IllegalAccessException e) { +catch (IllegalAccessException e) { // it's impossible add listeners that are not public } catch (InvocationTargetException e) { -// Since this is how Swing handles Exceptions that get thrown on listeners, -// it's probably ok to do it here. +// Since this is how Swing handles Exceptions that get +// thrown on listeners, it's probably ok to do it here. e.printStackTrace(); } } @@ -283,7 +282,7 @@ Iterator it = listenersMap.keySet().iterator(); while (it.hasNext()) { NotificationKey key = (NotificationKey) it.next(); -if ((name == null) || (name == key.name())) { +if (name == null || name.equals(key.name())) { if ((object == null) || (object == key.get())) { result.add(key); } @@ -351,16 +350,18 @@ public boolean equals(Object anObject) { if (this == anObject) return true; + +if (!(anObject instanceof NotificationKey)) +return false; + NotificationKey key = (NotificationKey) anObject; -if (name == key.name || (name != null name.equals(key.name))) { -Object object = get(); -if (object != null) { -if (object == (key.get())) { -return true; -} -} -} -return false; + +if (name != key.name (name == null | | !name.equals(key.name))) +return
[piccolo2d-dev] [piccolo2d] r541 commited - Made PNotificationCenter matchingKeys use NotificationKey.equals as op...
Revision: 541 Author: allain.lalonde Date: Tue Jul 21 07:33:17 2009 Log: Made PNotificationCenter matchingKeys use NotificationKey.equals as opposed to reproducing the logic. http://code.google.com/p/piccolo2d/source/detail?r=541 Modified: /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java === --- /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java Tue Jul 21 07:24:46 2009 +++ /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNotificationCenter.java Tue Jul 21 07:33:17 2009 @@ -216,7 +216,8 @@ if (listenersList != null) { mergedListeners.addAll(listenersList); } -} else { // both are specified +} +else { // both are specified listenersList = (List) listenersMap.get(new NotificationKey(name, object)); if (listenersList != null) { mergedListeners.addAll(listenersList); @@ -228,7 +229,7 @@ listenersList = (List) listenersMap.get(new NotificationKey(NULL_MARKER, object)); if (listenersList != null) { mergedListeners.addAll(listenersList); -} +} } } else if (object != null) { // name is null @@ -279,13 +280,12 @@ protected List matchingKeys(String name, Object object) { List result = new LinkedList(); +NotificationKey searchKey = new NotificationKey(name, object); Iterator it = listenersMap.keySet().iterator(); while (it.hasNext()) { NotificationKey key = (NotificationKey) it.next(); -if (name == null || name.equals(key.name())) { -if ((object == null) || (object == key.get())) { -result.add(key); -} +if (searchKey.equals(key)) { +result.add(key); } } @@ -400,7 +400,7 @@ return false; Object o = get(); - + return (o != null) (o == target.get()); } --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r542 commited - Removing unused imports
Revision: 542 Author: allain.lalonde Date: Tue Jul 21 07:46:08 2009 Log: Removing unused imports http://code.google.com/p/piccolo2d/source/detail?r=542 Modified: /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCamera.java /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/util/PPickPath.java /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCameraTest.java /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PLayerTest.java /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/event/PInputEventFilterTest.java /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/event/PInputEventTest.java /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/event/PNavigationEventHandler.java /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/pswing/PSwingRepaintManager.java === --- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCamera.java Fri Jul 17 09:08:52 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/PCamera.java Tue Jul 21 07:46:08 2009 @@ -33,7 +33,6 @@ import java.awt.Graphics2D; import java.awt.geom.AffineTransform; import java.awt.geom.Dimension2D; -import java.awt.geom.NoninvertibleTransformException; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.io.IOException; @@ -45,7 +44,6 @@ import edu.umd.cs.piccolo.activities.PTransformActivity; import edu.umd.cs.piccolo.util.PAffineTransform; -import edu.umd.cs.piccolo.util.PAffineTransformException; import edu.umd.cs.piccolo.util.PBounds; import edu.umd.cs.piccolo.util.PDebug; import edu.umd.cs.piccolo.util.PDimension; === --- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java Sat Jul 18 05:36:33 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/nodes/PImage.java Tue Jul 21 07:46:08 2009 @@ -34,7 +34,6 @@ import java.awt.Image; import java.awt.MediaTracker; import java.awt.Toolkit; -import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.ObjectInputStream; === --- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/util/PPickPath.java Fri Jul 17 08:58:34 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/util/PPickPath.java Tue Jul 21 07:46:08 2009 @@ -29,7 +29,6 @@ package edu.umd.cs.piccolo.util; import java.awt.geom.Dimension2D; -import java.awt.geom.NoninvertibleTransformException; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.util.HashMap; === --- /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCameraTest.java Fri Jul 17 08:58:34 2009 +++ /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PCameraTest.java Tue Jul 21 07:46:08 2009 @@ -32,7 +32,6 @@ import java.awt.Cursor; import java.awt.Graphics2D; import java.awt.GraphicsEnvironment; -import java.awt.geom.Point2D; import java.awt.image.BufferedImage; import java.io.IOException; @@ -40,10 +39,8 @@ import edu.umd.cs.piccolo.activities.PActivity; import edu.umd.cs.piccolo.activities.PTransformActivity; import edu.umd.cs.piccolo.util.PAffineTransform; -import edu.umd.cs.piccolo.util.PAffineTransformException; import edu.umd.cs.piccolo.util.PBounds; import edu.umd.cs.piccolo.util.PDebug; -import edu.umd.cs.piccolo.util.PDimension; import edu.umd.cs.piccolo.util.PPaintContext; import edu.umd.cs.piccolo.util.PPickPath; === --- /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PLayerTest.java Fri Jul 17 09:08:52 2009 +++ /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/PLayerTest.java Tue Jul 21 07:46:08 2009 @@ -1,17 +1,11 @@ package edu.umd.cs.piccolo; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; import java.util.ArrayList; import java.util.Collection; import java.util.List; import junit.framework.TestCase; import edu.umd.cs.piccolo.util.PBounds; -import edu.umd.cs.piccolo.util.PObjectOutputStream; public class PLayerTest extends TestCase { private PLayer layer; === --- /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/event/PInputEventFilterTest.java Mon Jul 20 14:32:09 2009 +++ /piccolo2d.java/trunk/core/src/test/java/edu/umd/cs/piccolo/event/PInputEventFilterTest.java Tue Jul 21 07:46:08 2009 @@ -1,6 +1,5 @@ package edu.umd.cs.piccolo.event; -import java.awt.Component; import java.awt.event.InputEvent; import java.awt.event.MouseEvent;
[piccolo2d-dev] [piccolo2d] r543 commited - removed static from before what amounted to instance variables.
Revision: 543 Author: allain.lalonde Date: Tue Jul 21 07:59:29 2009 Log: removed static from before what amounted to instance variables. http://code.google.com/p/piccolo2d/source/detail?r=543 Modified: /piccolo2d.java/trunk/examples/src/main/java/edu/umd/cs/piccolo/examples/GridExample.java === --- /piccolo2d.java/trunk/examples/src/main/java/edu/umd/cs/piccolo/examples/GridExample.java Fri Jan 23 12:27:47 2009 +++ /piccolo2d.java/trunk/examples/src/main/java/edu/umd/cs/piccolo/examples/GridExample.java Tue Jul 21 07:59:29 2009 @@ -53,10 +53,10 @@ */ public class GridExample extends PFrame { -static protected Line2D gridLine = new Line2D.Double(); -static protected Stroke gridStroke = new BasicStroke(1); -static protected Color gridPaint = Color.BLACK; -static protected double gridSpacing = 20; +protected Line2D gridLine = new Line2D.Double(); +protected Stroke gridStroke = new BasicStroke(1); +protected Color gridPaint = Color.BLACK; +protected double gridSpacing = 20; public GridExample() { this(null); --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] Issue 99 in piccolo2d: PNode.toString refactoring
Comment #8 on issue 99 by heuermh: PNode.toString refactoring http://code.google.com/p/piccolo2d/issues/detail?id=99 I agree with Allain in that paramString methods smell bad. I also see them of little-to-no utility. If someone wants to debug, use a debugger. My full suggestion is to 1. Remove any implementation of toString(), defaulting to Object.toString() 2. Mark all paramString() methods as @deprecated 3. Refactor all paramString() methods to call toString() 4. Release version 1.3 with them @deprecated and delegating to toString() 5. Remove all paramString() methods for the next release PParamStringBuilder can be added to extras now or later independently. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] Issue 72 in piccolo2d: PSelectionEventHandler grip points do not scale with zoom
Comment #5 on issue 72 by mr0...@mro.name: PSelectionEventHandler grip points do not scale with zoom http://code.google.com/p/piccolo2d/issues/detail?id=72 Can this effect bei achieved with a custom PSelectionEventHandler? If this is the case, the current semantics should remain unchanged. -- You received this message because you are listed in the owner or CC fields of this issue, or because you starred this issue. You may adjust your issue notification preferences at: http://code.google.com/hosting/settings --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---