[piccolo2d-dev] Issue 99 in piccolo2d: PNode.toString refactoring
Comment #5 on issue 99 by mr0...@mro.name: PNode.toString refactoring http://code.google.com/p/piccolo2d/issues/detail?id=99 I agree to Michael and suggest, as a quick solution, do as the documentation explicitly allows: return ""; -- 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 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 + + 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 @@ -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] r535 commited - Typo fixed. Edited wiki page through web user interface.
Revision: 535 Author: mr0...@mro.name Date: Tue Jul 21 04:55:11 2009 Log: Typo fixed. Edited wiki page through web user interface. http://code.google.com/p/piccolo2d/source/detail?r=535 Modified: /wiki/SvgSupport.wiki === --- /wiki/SvgSupport.wiki Tue Jul 21 04:46:59 2009 +++ /wiki/SvgSupport.wiki Tue Jul 21 04:55:11 2009 @@ -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 finer-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] Issue 42 in piccolo2d: Transfer the documentation from http://www.cs.umd.edu/hcil/jazz/ here.
Comment #31 on issue 42 by mr0...@mro.name: Transfer the documentation from http://www.cs.umd.edu/hcil/jazz/ here. http://code.google.com/p/piccolo2d/issues/detail?id=42 r536 rewrote the http://piccolo2d.googlecode.com/svn/site/README.txt - please tell me if this enables to maintain the website. -- 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] 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
[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] r538 commited - Marked the static instances as final
Revision: 538 Author: allain.lalonde Date: Tue Jul 21 06:40:16 2009 Log: Marked the static instances as final http://code.google.com/p/piccolo2d/source/detail?r=538 Modified: /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/util/PUtil.java === --- /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/util/PUtil.java Sun Jul 19 16:56:41 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/util/PUtil.java Tue Jul 21 06:40:16 2009 @@ -54,8 +54,12 @@ */ public class PUtil { -public static Iterator NULL_ITERATOR = Collections.EMPTY_LIST.iterator(); -public static Enumeration NULL_ENUMERATION = new Enumeration() { +public static long DEFAULT_ACTIVITY_STEP_RATE = 20; +public static int ACTIVITY_SCHEDULER_FRAME_DELAY = 10; +private static final int PATH_IS_DONE = -1; + +public static final Iterator NULL_ITERATOR = Collections.EMPTY_LIST.iterator(); +public static final Enumeration NULL_ENUMERATION = new Enumeration() { public boolean hasMoreElements() { return false; } @@ -64,10 +68,8 @@ return null; } }; -public static long DEFAULT_ACTIVITY_STEP_RATE = 20; -public static int ACTIVITY_SCHEDULER_FRAME_DELAY = 10; - -public static OutputStream NULL_OUTPUT_STREAM = new OutputStream() { + +public static final OutputStream NULL_OUTPUT_STREAM = new OutputStream() { public void close() { } @@ -137,13 +139,13 @@ if (!wroteStroke) { return null; } - + boolean serializedStroke = in.readBoolean(); if (serializedStroke) { return (Stroke) in.readObject(); } - -return readBasicStroke(in); + +return readBasicStroke(in); } private static Stroke readBasicStroke(ObjectInputStream in) throws IOException { @@ -165,8 +167,6 @@ return new BasicStroke(lineWidth, endCap, lineJoin, miterLimit, dash, dashPhase); } - -private static final int PATH_IS_DONE = -1; public static GeneralPath readPath(ObjectInputStream in) throws IOException, ClassNotFoundException { GeneralPath path = new GeneralPath(); --~--~-~--~~~---~--~~ 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))) +retur
[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] [piccolo2d] r544 commited - Accidentally introduced a 1.5 feature dependency in r539 (Arrays.toStr...
Revision: 544 Author: allain.lalonde Date: Tue Jul 21 11:06:16 2009 Log: Accidentally introduced a 1.5 feature dependency in r539 (Arrays.toString(double[] ...)) http://code.google.com/p/piccolo2d/source/detail?r=544 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 Tue Jul 21 06:44:08 2009 +++ /piccolo2d.java/trunk/core/src/main/java/edu/umd/cs/piccolo/activities/PTransformActivity.java Tue Jul 21 11:06:16 2009 @@ -29,7 +29,6 @@ package edu.umd.cs.piccolo.activities; import java.awt.geom.AffineTransform; -import java.util.Arrays; import edu.umd.cs.piccolo.util.PAffineTransform; @@ -154,11 +153,25 @@ protected String paramString() { StringBuffer result = new StringBuffer(); -result.append("source=" + (source == null ? "null" : Arrays.toString(source))); -result.append(",destination=" + (destination == null ? "null" : Arrays.toString(destination))); +result.append("source=" + (source == null ? "null" : toString(source))); +result.append(",destination=" + (destination == null ? "null" : toString(destination))); result.append(','); result.append(super.paramString()); +return result.toString(); +} + +// here since 1.4 doesn't support Arrays.toString(double[] ...) +// should be removed when we migrate to 1.5 +private String toString(double[] array) { +StringBuffer result = new StringBuffer('['); +for (int i=0; ihttp://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] Issue 104 in piccolo2d: Current maven multi-module build doesn't install the parent pom
Status: New Owner: Labels: Type-Defect Priority-Medium Effort-Medium OpSys-All Toolkit-Piccolo2D.Java Component-Build Milestone-1.3 New issue 104 by heuermh: Current maven multi-module build doesn't install the parent pom http://code.google.com/p/piccolo2d/issues/detail?id=104 If I update a maven dependency on piccolo2d-core from version 1.2.1 to 1.3-SNAPSHOT org.piccolo2d piccolo2d-core 1.3-SNAPSHOT compile the maven build for that project breaks with [ERROR] BUILD ERROR [INFO] [INFO] Error building POM (may not be this project's POM). Project ID: null:piccolo2d-core:jar:null Reason: Cannot find parent: org.piccolo2d:piccolo2d-parent for project: null:piccolo2d-core:jar:null for project null:piccolo2d-core:jar:null It appears that the piccolo2d multi-module build doesn't install the parent pom into the local repository. If I manually install it $ cd parent $ mvn install [INFO] Scanning for projects... [INFO] [INFO] Building Piccolo2D [INFO]task-segment: [install] [INFO] [INFO] [site:attach-descriptor] [INFO] [install:install] [INFO] Installing parent/pom.xml to ~/.m2/repository/org/piccolo2d/piccolo2d-parent/1.3-SNAPSHOT/piccolo2d-parent-1.3-SNAPSHOT.pom [INFO] [INFO] BUILD SUCCESSFUL then the build for that project succeeds. -- 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] r545 commited - updating developer information
Revision: 545 Author: heuermh Date: Tue Jul 21 11:14:57 2009 Log: updating developer information http://code.google.com/p/piccolo2d/source/detail?r=545 Modified: /piccolo2d.java/trunk/parent/pom.xml === --- /piccolo2d.java/trunk/parent/pom.xmlMon Jul 20 12:39:58 2009 +++ /piccolo2d.java/trunk/parent/pom.xmlTue Jul 21 11:14:57 2009 @@ -105,11 +105,11 @@ heuermh - heuermh + Michael L Heuer developer - -8 + -6 jesse --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r546 commited - made XYArray implement Cloneable since it had a clone method
Revision: 546 Author: allain.lalonde Date: Tue Jul 21 11:22:38 2009 Log: made XYArray implement Cloneable since it had a clone method http://code.google.com/p/piccolo2d/source/detail?r=546 Modified: /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/util/XYArray.java === --- /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/util/XYArray.java Fri Jan 23 12:29:37 2009 +++ /piccolo2d.java/trunk/extras/src/main/java/edu/umd/cs/piccolox/util/XYArray.java Tue Jul 21 11:22:38 2009 @@ -32,9 +32,8 @@ import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; -public class XYArray implements MutablePoints { +public class XYArray implements MutablePoints, Cloneable { // the coordinates are stored as alternating x and y pairs - private double[] points = null; // the number of valid x, y pairs, @@ -42,56 +41,59 @@ private int numPoints = 0; +public XYArray(double[] points) { +initPoints(points, points.length / 2); +} + +public XYArray(int n) { +initPoints(null, n); +} + +public XYArray() { +this(0); +} + + public int getPointCount() { return numPoints; } // normalize an index, negative counts from end -private int i(int i) { -if (i < 0) { -i = numPoints + i; -} +private int normalize(int i) { if (i >= numPoints) { throw new IllegalArgumentException("The point index " + i + " is not below " + numPoints); } -return i; -} - -// various get and set methods - -// from Points + +return (i < 0) ? numPoints + i : i; +} public double getX(int i) { -i = i(i); -return points[i * 2]; +return points[normalize(i) * 2]; } public double getY(int i) { -i = i(i); -return points[i * 2 + 1]; +return points[normalize(i) * 2 + 1]; } public Point2D getPoint(int i, Point2D dst) { -i = i(i); -dst.setLocation(points[i * 2], points[i * 2 + 1]); +int pointIndex = normalize(i); +dst.setLocation(points[pointIndex * 2], points[pointIndex * 2 + 1]); return dst; } public void setX(int i, double x) { -i = i(i); -points[i * 2] = x; +points[normalize(i) * 2] = x; } public void setY(int i, double y) { -i = i(i); -points[i * 2 + 1] = y; +points[normalize(i) * 2 + 1] = y; } public void setPoint(int i, double x, double y) { -i = i(i); -points[i * 2] = x; -points[i * 2 + 1] = y; +int pointIndex = normalize(i); +points[pointIndex * 2] = x; +points[pointIndex * 2 + 1] = y; } public void setPoint(int i, Point2D pt) { @@ -114,10 +116,6 @@ } return dst; } - -// - -// initialization of points array public static double[] initPoints(double[] points, int n, double[] old) { if (points == null || n * 2 > points.length) { @@ -133,22 +131,6 @@ this.points = initPoints(points, n, this.points); numPoints = (points != null ? points.length / 2 : 0); } - -// constructors - -public XYArray(double[] points) { -initPoints(points, points.length / 2); -} - -public XYArray(int n) { -initPoints(null, n); -} - -public XYArray() { -this(0); -} - -// adding points to points array public void addPoints(int pos, Points pts, int start, int end) { if (end < 0) { @@ -156,14 +138,17 @@ } int n = numPoints + end - start; points = initPoints(points, n, points); -int pos1 = pos * 2, pos2 = (pos + end - start) * 2, len = (numPoints - pos) * 2; +int pos1 = pos * 2; +int pos2 = (pos + end - start) * 2; +int len = (numPoints - pos) * 2; + System.arraycopy(points, pos1, points, pos2, len); + numPoints = n; -if (pts == null) { -return; -} -for (int count = 0; start < end; count++, start++) { -setPoint(pos + count, pts.getX(start), pts.getY(start)); +if (pts != null) { +for (int count = 0; start < end; count++, start++) { +setPoint(pos + count, pts.getX(start), pts.getY(start)); +} } } @@ -180,9 +165,7 @@ newList.appendPoints(pts); return newList; } - -// from MutablePoints - + public void addPoint(int pos, double x, double y) { addPoints(pos, null, 0, 1); setPoint(pos, x, y); @@ -203,20 +186,18 @@ public void removeAllPoints() { removePoints(0, numPoints); } - -// - + public Object clone() { XYArray ps = null; + try { ps = (XYArray) (super.clone()); -} -
[piccolo2d-dev] Issue 53 in piccolo2d: Headless build failure
Updates: Status: Fixed Comment #1 on issue 53 by allain.lalonde: Headless build failure http://code.google.com/p/piccolo2d/issues/detail?id=53 Done, try it. -- 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 77 in piccolo2d: Piccolo doesn't seem to work with gcj java compiler
Updates: Status: WontFix Comment #2 on issue 77 by allain.lalonde: Piccolo doesn't seem to work with gcj java compiler http://code.google.com/p/piccolo2d/issues/detail?id=77 Let me start by saying that I too think having Piccolo run on gcj would rock. I can't wait for the day when Piccolo runs "out of box" on my Ubuntu system. Unfortunately, after doing some research (see references below), the problem lies in gcj's current state. Only 93.12% of java.awt is implemented and java.awt.font is only at 90.45%. If we were to write Piccolo to account for those deficiencies, we'd end up implementing a good portion of what a complete JDK already does. So, unfortunately, we can't deal with this problem since it is outside the scope of this project. Allain http://gcc.gnu.org/java/status.html re. awt: "A lot of code exists, but not enough for use in real applications." http://www.kaffe.org/~stuart/japi/htmlout/h-jdk14-classpath Claims that java.awt is 93.12% implemented and java.awt.font is only 90.45% implemented. -- 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 99 in piccolo2d: PNode.toString refactoring
Comment #7 on issue 99 by mr0...@mro.name: PNode.toString refactoring http://code.google.com/p/piccolo2d/issues/detail?id=99 Hi Michael, if we want to keep the dubugging output of toString, I'd second Allain in adding a new class to the core. Expanding the interface gives me quite a headache, but for the sake of DRY-ness of the toStrings, I follow Allains argument. An external dependency is a no-go. Maybe a reflected toString is an option? What's your concerns about adding the class (which could be deprecated from the beginning)? P.S.: Ceterum censeo toString esse delendam - see comment 5 #c5. -- 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 30 in piccolo2d: Extra mouse movement events fired on mouse exit
Comment #4 on issue 30 by allain.lalonde: Extra mouse movement events fired on mouse exit http://code.google.com/p/piccolo2d/issues/detail?id=30 Given the following code, the bug doesn't seem to happen: public class Issue30Example extends PFrame { public Issue30Example() { this(null); } public Issue30Example(PCanvas aCanvas) { super("Issue30Example", false, aCanvas); } public void initialize() { PLayer layer = getCanvas().getLayer(); final PNode node = new PNode(); node.setBounds(0, 0, 100, 100); node.setPaint(Color.RED); node.addInputEventListener(new PInputEventListener() { public void processEvent(PInputEvent aEvent, int type) { // So that points directly on the edge don't round to be outside the bounds. PBounds bounds = new PBounds(-0.0001, -0.0001, 100.0002, 100.0002); if (!bounds.contains(aEvent.getPosition())) { switch (type) { case MouseEvent.MOUSE_MOVED: System.out.println("Moved"); break; case MouseEvent.MOUSE_EXITED: System.out.println("Exited"); break; case MouseEvent.MOUSE_ENTERED: System.out.println("Entered"); break; default: System.out.println(type); } System.out.println(type); System.out.println(" " + aEvent); if (aEvent.isMouseEvent()) { System.out.println(" " + aEvent.getPosition()); } } } }); layer.addChild(node); } public static void main(String[] args) { new Issue30Example(); } } Other than some double imprecision, I'm not seeing these "Delegate Events", has this issue been fixed? -- 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 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 -~--~~~~--~~--~--~---
[piccolo2d-dev] Issue 72 in piccolo2d: PSelectionEventHandler grip points do not scale with zoom
Comment #6 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 (an example implementation can well go into the javadocs of PSelectionEventHandler) -- 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 99 in piccolo2d: PNode.toString refactoring
Comment #9 on issue 99 by allain.lalonde: PNode.toString refactoring http://code.google.com/p/piccolo2d/issues/detail?id=99 http://stackoverflow.com/questions/1161228/tostring-in-java 'nuf said, but of course majority rules, just doesn't seem to be the majority of java users. :) Oh well. I'll let one of you two make these changes since I think they're terrible. Anyway, there are bigger fish to fry. Onto bigger and brighter bugs. -- 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] r547 commited - Edited wiki page through web user interface.
Revision: 547 Author: mr0...@mro.name Date: Tue Jul 21 18:48:54 2009 Log: Edited wiki page through web user interface. http://code.google.com/p/piccolo2d/source/detail?r=547 Modified: /wiki/SvgSupport.wiki === --- /wiki/SvgSupport.wiki Tue Jul 21 04:55:11 2009 +++ /wiki/SvgSupport.wiki Tue Jul 21 18:48:54 2009 @@ -1,5 +1,5 @@ #summary Rough Paper: History, Requirements, Concepts, Obstacles -#labels Phase-Requirements,Deprecated +#labels Phase-Requirements --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r549 commited - Edited wiki page through web user interface.
Revision: 549 Author: mr0...@mro.name Date: Tue Jul 21 18:50:58 2009 Log: Edited wiki page through web user interface. http://code.google.com/p/piccolo2d/source/detail?r=549 Modified: /wiki/WebSiteHowTo.wiki === --- /wiki/WebSiteHowTo.wiki Tue Jul 21 18:50:10 2009 +++ /wiki/WebSiteHowTo.wiki Tue Jul 21 18:50:58 2009 @@ -3,7 +3,7 @@ -[http://piccolo2d.googlecode.com/svn/site/README.txt Jumpstart] +For the impatient website editor: [http://piccolo2d.googlecode.com/svn/site/README.txt Jumpstart] = Introduction = --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---
[piccolo2d-dev] [piccolo2d] r548 commited - Edited wiki page through web user interface.
Revision: 548 Author: mr0...@mro.name Date: Tue Jul 21 18:50:10 2009 Log: Edited wiki page through web user interface. http://code.google.com/p/piccolo2d/source/detail?r=548 Modified: /wiki/WebSiteHowTo.wiki === --- /wiki/WebSiteHowTo.wiki Sun Mar 22 08:55:41 2009 +++ /wiki/WebSiteHowTo.wiki Tue Jul 21 18:50:10 2009 @@ -3,6 +3,8 @@ +[http://piccolo2d.googlecode.com/svn/site/README.txt Jumpstart] + = Introduction = The End-User website is available at http://www.piccolo2d.org --~--~-~--~~~---~--~~ Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en -~--~~~~--~~--~--~---