Author: scooter
Date: 2011-09-15 22:03:14 -0700 (Thu, 15 Sep 2011)
New Revision: 26839

Modified:
   
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/ContinuousTrackRenderer.java
   
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/CyGradientTrackRenderer.java
Log:
Defend against NPE when the controlling attribute of an editor isn't defined.


Modified: 
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/ContinuousTrackRenderer.java
===================================================================
--- 
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/ContinuousTrackRenderer.java
       2011-09-16 04:47:55 UTC (rev 26838)
+++ 
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/ContinuousTrackRenderer.java
       2011-09-16 05:03:14 UTC (rev 26839)
@@ -253,8 +253,10 @@
 
                g.setFont(new Font("SansSerif", Font.BOLD, 10));
                g.setColor(Color.black);
-               int strWidth = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), title);
-               g.drawString(title, (track_width / 2) - (strWidth / 2), 
arrowBarPosition - 25);
+               String label = title;
+               if (label == null) label = "(none)";
+               int strWidth = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), label);
+               g.drawString(label, (track_width / 2) - (strWidth / 2), 
arrowBarPosition - 25);
 
                g.drawLine(track_width, arrowBarPosition, track_width - 15, 
arrowBarPosition + 30);
                g.drawLine(track_width - 15, arrowBarPosition + 30, track_width 
- 25, arrowBarPosition + 30);
@@ -977,9 +979,12 @@
 
                        g.setFont(TITLE_FONT);
 
-                       final int titleWidth = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), title);
+                       String label = title;
+                       if (label == null)
+                               label = "(none)";
+                       final int titleWidth = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), label);
                        g.setColor(Color.black);
-                       g.drawString(title, (iconWidth / 2) - (titleWidth / 2), 
iconHeight - 5);
+                       g.drawString(label, (iconWidth / 2) - (titleWidth / 2), 
iconHeight - 5);
 
                        Polygon p = new Polygon();
                        p.addPoint(iconWidth, iconHeight - 9);
@@ -1012,7 +1017,7 @@
                        g.setColor(Color.DARK_GRAY);
                        g.setFont(new Font("SansSerif", Font.BOLD, 10));
 
-                       final String label = type.getName();
+                       label = type.getName();
                        final int width = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), label);
                        AffineTransform af = new AffineTransform();
                        af.rotate(Math.PI + (Math.PI / 2));

Modified: 
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/CyGradientTrackRenderer.java
===================================================================
--- 
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/CyGradientTrackRenderer.java
       2011-09-16 04:47:55 UTC (rev 26838)
+++ 
cytoscape/trunk/application/src/main/java/cytoscape/visual/ui/editors/continuous/CyGradientTrackRenderer.java
       2011-09-16 05:03:14 UTC (rev 26839)
@@ -222,9 +222,12 @@
 
                g.setFont(TITLE_FONT);
 
-               final int titleWidth = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), attrName);
+               String legendName = attrName;
+               if (legendName == null)
+                       legendName = "(none)";
+               final int titleWidth = 
SwingUtilities.computeStringWidth(g.getFontMetrics(), legendName);
                g.setColor(Color.black);
-               g.drawString(attrName, ((int) rect.getBounds2D().getWidth() / 
2) - (titleWidth / 2),
+               g.drawString(legendName, ((int) rect.getBounds2D().getWidth() / 
2) - (titleWidth / 2),
                             (int) rect.getBounds2D().getMaxY() + 33);
 
                // draw a border

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to