Revision: 605
Author: [email protected]
Date: Tue Jul 28 14:32:21 2009
Log: a rude review: the example looks nice, the matching needs some tests.
http://code.google.com/p/piccolo2d/source/detail?r=605
Modified:
/piccolo2d.java/branches/phtml/core/src/main/java/edu/umd/cs/piccolo/nodes/PHtml.java
=======================================
---
/piccolo2d.java/branches/phtml/core/src/main/java/edu/umd/cs/piccolo/nodes/PHtml.java
Tue Jul 28 14:14:32 2009
+++
/piccolo2d.java/branches/phtml/core/src/main/java/edu/umd/cs/piccolo/nodes/PHtml.java
Tue Jul 28 14:32:21 2009
@@ -56,13 +56,12 @@
*/
public class PHtml extends PNode {
- /**
- * Allows for future serialization code to understand versioned binary
- * formats.
- */
private static final long serialVersionUID = 1L;
+ // FIXME: imagine <img alt="2>1" src="here comes the meat" />
private static final Pattern tagPattern = Pattern.compile("</?[^>]+>");
+ // FIXME: imagine <a href="where to go"
+ // title="this is not the href='gotcha!' " />
private static final Pattern linkPattern =
Pattern.compile("<a .*href=(\\\"([^\\\"]*)\\\"|\\\'([^\\\"]*)\\\')");
private static final Font DEFAULT_FONT = new JTextField().getFont();
@@ -72,24 +71,29 @@
* The property name that identifies a change of this node's font (see
* {...@link #getFont getFont}). Both old and new value will be set in any
* property change event.
+ *
+ * FIXME what's that?
*/
public static final String PROPERTY_FONT = "font";
+ // FIXME what's that?
public static final int PROPERTY_CODE_FONT = 1 << 20;
/**
* The property name that identifies a change of this node's html (see
* {...@link #getHTML getHTML}). Both old and new value will be set in any
- * property change event.
+ * property change event. FIXME what's that?
*/
public static final String PROPERTY_HTML = "html";
+ // FIXME what's that?
public static final int PROPERTY_CODE_HTML = 1 << 21;
/**
* The property name that identifies a change of this node's html
color (see
* {...@link #getHtml getHTMLColor}). Both old and new value will be set
in any
- * property change event.
+ * property change event. FIXME what's that?
*/
public static final String PROPERTY_HTML_COLOR = "html color";
+ // FIXME what's that?
public static final int PROPERTY_CODE_HTML_COLOR = 1 << 22;
private final JLabel htmlLabel;
@@ -117,6 +121,8 @@
}
/**
+ * FIXME better name innerHtml as w3c does?
+ *
* @return HTML being rendered by this node
*/
public String getHTML() {
@@ -126,6 +132,8 @@
/**
* Changes the HTML being rendered by this node
*
+ * FIXME better name innerHtml as w3c does?
+ *
* @param newHtml
*/
public void setHTML(final String newHtml) {
@@ -138,6 +146,7 @@
}
private boolean isNewHtml(final String html) {
+ // FIXME NPE if both are null - can this happen?
return htmlLabel.getText() != null && html == null ||
htmlLabel.getText() == null && html != null
|| !htmlLabel.getText().equals(html);
}
@@ -166,6 +175,8 @@
* Gets the color used to render the HTML. If you want to get the
paint used
* for the node, use getPaint.
*
+ * FIXME be more consistent - either always HTML or Html but don't mix.
+ *
* @return the color used to render the HTML.
*/
public Color getHTMLColor() {
@@ -210,7 +221,7 @@
return boundsChanged;
}
- /*
+ /**
* Paints the node. The HTML string is painted last, so it appears on
top of
* any child nodes.
*
@@ -229,6 +240,9 @@
/**
* Returns the address specified in the link under the given point.
*
+ * FIXME this method looks shaky - can you refactor to get it into a
test
+ * harness?
+ *
* @param clickedPoint
* @return String containing value of href for clicked link, or null
if no
* link clicked
--~--~---------~--~----~------------~-------~--~----~
Piccolo2D Developers Group: http://groups.google.com/group/piccolo2d-dev?hl=en
-~----------~----~----~----~------~----~------~--~---