Author: kono
Date: 2012-01-31 19:21:38 -0800 (Tue, 31 Jan 2012)
New Revision: 28173

Modified:
   
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/NodeShapeVisualProperty.java
   
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/RichVisualLexicon.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ArrowIcon.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/NodeIcon.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ObjectPositionIcon.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/TextIcon.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditorPanel.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
Log:
Lots of icon rendering problems had been fixed.

Modified: 
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/NodeShapeVisualProperty.java
===================================================================
--- 
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/NodeShapeVisualProperty.java
        2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/NodeShapeVisualProperty.java
        2012-02-01 03:21:38 UTC (rev 28173)
@@ -54,10 +54,8 @@
                NODE_SHAPE_RANGE = new 
DiscreteRange<NodeShape>(NodeShape.class, new 
HashSet<NodeShape>(DEFAULT_SHAPES.values()));
        }
 
-       public NodeShapeVisualProperty(NodeShape defaultValue, String id,
-                       String displayName, Class<?> targetObjectDataType) {
-               super(defaultValue, NODE_SHAPE_RANGE, id, displayName,
-                               targetObjectDataType);
+       public NodeShapeVisualProperty(NodeShape defaultValue, String id, 
String displayName, Class<?> targetObjectDataType) {
+               super(defaultValue, NODE_SHAPE_RANGE, id, displayName, 
targetObjectDataType);
        }
 
        @Override
@@ -88,8 +86,7 @@
                }
 
                @Override
-               public VisualPropertyValue parseSerializableString(
-                               String serializableString) {
+               public VisualPropertyValue parseSerializableString(final String 
serializableString) {
                        // TODO Auto-generated method stub
                        return null;
                }

Modified: 
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/RichVisualLexicon.java
===================================================================
--- 
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/RichVisualLexicon.java
      2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/api/trunk/presentation-api/src/main/java/org/cytoscape/view/presentation/property/RichVisualLexicon.java
      2012-02-01 03:21:38 UTC (rev 28173)
@@ -39,7 +39,7 @@
                        NONE_ZERO_POSITIVE_DOUBLE_RANGE, "NETWORK_DEPTH", 
"Network Depth", CyNetwork.class);
 
        public static final VisualProperty<NodeShape> NODE_SHAPE = new 
NodeShapeVisualProperty(
-                       NodeShapeVisualProperty.RECTANGLE, "NODE_SHAPE", "Node 
Shape", CyNode.class);
+                       NodeShapeVisualProperty.ELLIPSE, "NODE_SHAPE", "Node 
Shape", CyNode.class);
 
        // Line Types
        public static final VisualProperty<LineType> NODE_BORDER_LINE_TYPE = 
new LineTypeVisualProperty(

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ArrowIcon.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ArrowIcon.java
      2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ArrowIcon.java
      2012-02-01 03:21:38 UTC (rev 28173)
@@ -77,21 +77,20 @@
                 */
                if (value == null) {
                        if ((width < 20) || (height < 20)) {
-                               g2d.translate(-leftPad, -bottomPad);
+                               
                                g2d.setStroke(EDGE_STROKE_SMALL);
                                g2d.drawLine(3, c.getHeight() / 2, width / 2 + 
10, c.getHeight() / 2);
-                               return;
+                               
                        } else {
-//                             g2d.setStroke(EDGE_STROKE);
-//                             g2d.drawLine(DEF_L_PAD, (height + 20) / 2,
-//                                  (int) (c.getWidth()*0.3), (height + 20) / 
2);
+                               g2d.setStroke(EDGE_STROKE);
+                               g2d.drawLine(DEF_L_PAD, (height + 20) / 2,
+                                    (int) (c.getWidth()*0.3), (height + 20) / 
2);
                        }
                        g2d.translate(-leftPad, -bottomPad);
                        return;
                }
 
                final AffineTransform af = new AffineTransform();
-
                g2d.setStroke(new BasicStroke(2.0f));
 
                final Rectangle2D bound = value.getBounds2D();
@@ -128,29 +127,9 @@
                newShape = af.createTransformedShape(newShape);
 
                g2d.fill(newShape);
-
-               /*
-                * Finally, draw an edge (line) to the arrow head.
-                */
-               if ((width < 20) || (height < 20)) {
-//                     g2d.setStroke(EDGE_STROKE_SMALL);
-//                     
-//                     
-//                     
-//                     g2d.drawLine(3, c.getHeight()/2,
-//                          width/2, c.getHeight()/2);
-               } else {
-                       g2d.setStroke(EDGE_STROKE);
-                       g2d.drawLine(DEF_L_PAD, (height + 20) / 2,
-                            (int) (newShape.getBounds2D().getCenterX()) - 2, 
(height + 20) / 2);
-               }
-               
+               g2d.setStroke(EDGE_STROKE);
+               g2d.drawLine(DEF_L_PAD, (height + 20) / 2, (int) 
(newShape.getBounds2D().getCenterX()) - 2, (height + 20) / 2);
                g2d.translate(-leftPad, -bottomPad);
-               
-               if ((width < 20) || (height < 20)) {
-                       g2d.setStroke(EDGE_STROKE_SMALL);
-                       g2d.drawLine(3, c.getHeight()/2,
-                            width/2 +10, c.getHeight()/2);
-               }
+
        }
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/NodeIcon.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/NodeIcon.java
       2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/NodeIcon.java
       2012-02-01 03:21:38 UTC (rev 28173)
@@ -40,6 +40,7 @@
 import java.awt.Graphics2D;
 import java.awt.RenderingHints;
 import java.awt.Shape;
+import java.awt.Stroke;
 import java.awt.geom.AffineTransform;
 
 
@@ -50,15 +51,15 @@
 public class NodeIcon extends VisualPropertyIcon<Shape> {
        
        private final static long serialVersionUID = 1202339876280466L;
+       
+       private static final Stroke BASIC_STROKE = new BasicStroke(2.0f);
 
        private Shape newShape;
        private Graphics2D g2d;
 
-
        
        public NodeIcon(Shape shape, int width, int height, String name) {
                super(shape, width, height, name);
-
                adjustShape();
        }
 
@@ -71,41 +72,28 @@
                final double yRatio = height / shapeHeight;
 
                final AffineTransform af = new AffineTransform();
-
                af.setToScale(xRatio, yRatio);
                newShape = af.createTransformedShape(value);
        }
 
-       /**
-        * Draw icon using Java2D.
-        *
-        * @param c DOCUMENT ME!
-        * @param g DOCUMENT ME!
-        * @param x DOCUMENT ME!
-        * @param y DOCUMENT ME!
-        */
-       @Override public void paintIcon(Component c, Graphics g, int x, int y) 
{                
+
+       @Override
+       public void paintIcon(Component c, Graphics g, int x, int y) {          
                g2d = (Graphics2D) g;
 
                // AA on
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
RenderingHints.VALUE_ANTIALIAS_ON);
 
-               g2d.translate(leftPad, (c.getHeight() - 
newShape.getBounds2D().getHeight()) / 2);
+               g2d.translate(leftPad, 0);
                g2d.setColor(color);
-               g2d.setStroke(new BasicStroke(2.0f));
+               g2d.setStroke(BASIC_STROKE);
                g2d.draw(newShape);
-               g2d.translate(-leftPad, -((c.getHeight() - 
newShape.getBounds2D().getHeight()) / 2));
-
+               g2d.translate(-leftPad, 0);
        }
 
-       /**
-        * DOCUMENT ME!
-        *
-        * @return DOCUMENT ME!
-        */
+       @Override
        public NodeIcon clone() {
                final NodeIcon cloned = new NodeIcon(value, width, height, 
name);
-
                return cloned;
        }
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ObjectPositionIcon.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ObjectPositionIcon.java
     2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/ObjectPositionIcon.java
     2012-02-01 03:21:38 UTC (rev 28173)
@@ -30,7 +30,7 @@
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
RenderingHints.VALUE_ANTIALIAS_ON);
                
                // Transform to fit to the component
-               g2d.translate((x+leftPad), y);
+               g2d.translate((leftPad), 0);
                Float arc = width * ARC_RATIO;
                g2d.setColor(BACK);
                g2d.fillRoundRect(0, 0, width, height, arc.intValue(), 
arc.intValue());
@@ -40,6 +40,6 @@
                lp.paint(g2d);
                
                // Transform to fit to the component
-               g2d.translate(-(x+leftPad), -y);
+               g2d.translate(-leftPad, 0);
        }
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/TextIcon.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/TextIcon.java
       2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/icon/TextIcon.java
       2012-02-01 03:21:38 UTC (rev 28173)
@@ -6,17 +6,15 @@
 import java.awt.Graphics2D;
 import java.awt.RenderingHints;
 
-import javax.swing.JComponent;
-
 public class TextIcon extends VisualPropertyIcon<Object> {
 
        private static final long serialVersionUID = -4217147694751380332L;
 
        private static final int FONT_SIZE_DEFAULT = 20;
        private static final int FONT_SIZE_SMALL = 16;
-       
+
        private static final int MAX_TEXT_LEN = 5;
-       
+
        private static final Font FONT = new Font("SansSerif", Font.BOLD, 
FONT_SIZE_DEFAULT);
        private static final Font FONT_SMALL = new Font("SansSerif", Font.BOLD, 
FONT_SIZE_SMALL);
 
@@ -32,25 +30,25 @@
                g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 
RenderingHints.VALUE_ANTIALIAS_ON);
 
                final Font original = g2d.getFont();
-               
+
                if (value != null) {
                        String text = value.toString();
                        final int textLen = text.length();
+
+                       g2d.translate(leftPad, (c.getHeight()) / 2);
                        
                        g2d.setColor(color);
-                       if(textLen>MAX_TEXT_LEN) {
+                       if (textLen > MAX_TEXT_LEN) {
                                text = text.substring(0, 5) + "...";
                                g2d.setFont(FONT_SMALL);
                        } else
                                g2d.setFont(FONT);
-                       
-                       final int cHeight = c.getHeight();
-                       
-                       g2d.drawString(text, x+leftPad+5, y + (cHeight/2) - 5);
+
+                       g2d.drawString(text, 0, 0);
+                       g2d.translate(-leftPad, -((c.getHeight()) / 2));
                }
 
                g2d.setFont(original);
-
        }
 
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
      2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
      2012-02-01 03:21:38 UTC (rev 28173)
@@ -1198,7 +1198,7 @@
                        DLineType dLineType = DLineType.getDLineType((LineType) 
value);
                        setBorder(dLineType.getStroke(this.getBorderWidth()));
                } else if (vp == DVisualLexicon.NODE_TRANSPARENCY) {
-                       setTransparency(((Integer) value));
+                       setTransparency(((Number) value).intValue());
                } else if (vp == MinimalVisualLexicon.NODE_WIDTH) {
                        setWidth(((Number) value).doubleValue());
                } else if (vp == MinimalVisualLexicon.NODE_HEIGHT) {

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
    2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
    2012-02-01 03:21:38 UTC (rev 28173)
@@ -611,6 +611,7 @@
                                if (presentation != null) {
                                        final Object defValue = 
selectedStyle.getDefaultValue(vp);
                                        icon = presentation.createIcon(vp, 
selectedStyle.getDefaultValue(vp), ICON_WIDTH, ICON_HEIGHT);
+                                       
                                        if(defValue != null)
                                                
setToolTipText(defValue.toString());
                                }
@@ -638,8 +639,6 @@
 
                        return this;
                }
-               
-               
        }
 
        

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditorPanel.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditorPanel.java
       2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/C2DMappingEditorPanel.java
       2012-02-01 03:21:38 UTC (rev 28173)
@@ -45,7 +45,7 @@
 
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.model.CyTable;
-import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.vizmap.VisualMappingManager;
 import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.gui.editor.EditorManager;
@@ -62,6 +62,7 @@
  * 
  */
 public class C2DMappingEditorPanel<V> extends 
ContinuousMappingEditorPanel<Number, V> {
+       
        private final static long serialVersionUID = 1213748837197780L;
 
        private static final Logger logger = 
LoggerFactory.getLogger(C2DMappingEditorPanel.class);
@@ -72,107 +73,79 @@
                        final CyApplicationManager appManager, final 
VisualMappingManager vmm, final EditorManager editorManager) {
                super(style, mapping, attr, appManager, vmm);
 
-
                this.editorManager = editorManager;
 
                this.iconPanel.setVisible(false);
                this.belowPanel.setVisible(false);
                this.abovePanel.setVisible(false);
-
-               setSlider();
+               
+               initSlider();
        }
 
        
-//     public ImageIcon getIcon(final int iconWidth, final int iconHeight, 
VisualProperty<V> type) {
-//
-//             if (slider.getTrackRenderer() instanceof DiscreteTrackRenderer 
== false) {
-//                     return null;
-//             }
-//
-//             DiscreteTrackRenderer<Number, V> rend = 
(DiscreteTrackRenderer<Number, V>) slider.getTrackRenderer();
-//             rend.getRendererComponent(slider);
-//
-//             return new ImageIcon();
-//             // FIXME
-//             // return rend.getTrackGraphicIcon(iconWidth, iconHeight);
-//     }
-
-       /**
-        * 
-        * @param width
-        * @param height
-        * @param type
-        * @return
-        */
-       public ImageIcon getLegend(final int width, final int height) {
-
-               if (slider.getTrackRenderer() instanceof DiscreteTrackRenderer 
== false) {
-                       return null;
-               }
-
-               DiscreteTrackRenderer<Number, V> rend = 
(DiscreteTrackRenderer<Number, V>) slider.getTrackRenderer();
-               rend.getRendererComponent(slider);
-
-               return rend.getLegend(width, height);
+       private void updateView() {
+               final CyNetworkView curView = 
appManager.getCurrentNetworkView();
+               style.apply(curView);
+               curView.updateView();
        }
 
+
        @Override
        protected void addButtonActionPerformed(ActionEvent evt) {
                BoundaryRangeValues<V> newRange;
-               V defValue = type.getDefault();
+               
+               final V defValue = type.getDefault();
+               final Double maxValue = tracer.getMax(type);
+               final Float ratio;
 
-               Double maxValue = tracer.getMax(type);
-
                if (mapping.getPointCount() == 0) {
-                       slider.getModel().addThumb(50f, defValue);
-
+                       ratio = 50f;
+                       // Add new slider at center
+                       slider.getModel().addThumb(ratio, defValue);
                        newRange = new BoundaryRangeValues<V>(below, defValue, 
above);
-                       mapping.addPoint(maxValue / 2, newRange);
-                       slider.repaint();
-                       repaint();
+                       
+               } else {
+                       ratio = 70f;
+                       // Add a new thumb with default value
+                       slider.getModel().addThumb(ratio, defValue);
 
-                       return;
-               }
+                       // Pick Up first point.
+                       final ContinuousMappingPoint<Number, V> previousPoint = 
mapping.getPoint(mapping.getPointCount() - 1);
+                       final BoundaryRangeValues<V> previousRange = 
previousPoint.getRange();
 
-               // Add a new thumb with default value
-               slider.getModel().addThumb(100f, defValue);
+                       V lesserVal = 
slider.getModel().getSortedThumbs().get(slider.getModel().getThumbCount() - 
1).getObject();
+                       V equalVal = defValue;
+                       V greaterVal = previousRange.greaterValue;
 
-               // Pick Up first point.
-               final ContinuousMappingPoint<Number, V> previousPoint = 
mapping.getPoint(mapping.getPointCount() - 1);
+                       newRange = new BoundaryRangeValues<V>(lesserVal, 
equalVal, greaterVal);
+               }
 
-               final BoundaryRangeValues<V> previousRange = 
previousPoint.getRange();
-
-               V lesserVal = 
slider.getModel().getSortedThumbs().get(slider.getModel().getThumbCount() - 
1).getObject();
-               V equalVal = defValue;
-               V greaterVal = previousRange.greaterValue;
-
-               newRange = new BoundaryRangeValues<V>(lesserVal, equalVal, 
greaterVal);
-
-               mapping.addPoint(maxValue, newRange);
-
+               mapping.addPoint(maxValue*(ratio/100), newRange);
                updateMap();
 
                slider.repaint();
                repaint();
+               
+               updateView();
        }
 
+       
+       @Override
        protected void updateMap() {
                // FIXME
-               List<Thumb<V>> thumbs = slider.getModel().getSortedThumbs();
+               final List<Thumb<V>> thumbs = 
slider.getModel().getSortedThumbs();
 
                final double minValue = tracer.getMin(type);
                final double valRange = tracer.getRange(type);
 
-               // List<ContinuousMappingPoint> points = mapping.getAllPoints();
                Thumb<V> t;
-               Double newVal;
+               Double newPosition;
 
                if (thumbs.size() == 1) {
                        // Special case: only one handle.
                        mapping.getPoint(0).setRange(new 
BoundaryRangeValues<V>(below, below, above));
-                       newVal = ((thumbs.get(0).getPosition() / 100) * 
valRange) + minValue;
-                       mapping.getPoint(0).setValue(newVal);
-
+                       newPosition = ((thumbs.get(0).getPosition() / 100) * 
valRange) + minValue;
+                       mapping.getPoint(0).setValue(newPosition);
                        return;
                }
 
@@ -201,8 +174,8 @@
                        }
                        mapping.getPoint(i).setRange(new 
BoundaryRangeValues<V>(lesserVal, equalVal, greaterVal));
 
-                       newVal = ((t.getPosition() / 100) * valRange) + 
minValue;
-                       mapping.getPoint(i).setValue(newVal);
+                       newPosition = ((t.getPosition() / 100) * valRange) + 
minValue;
+                       mapping.getPoint(i).setValue(newPosition);
                }
        }
 
@@ -214,14 +187,13 @@
                        slider.getModel().removeThumb(selectedIndex);
                        mapping.removePoint(selectedIndex);
                        updateMap();
-                       // mapping.fireStateChanged();
-
-                       // Cytoscape.redrawGraph(vmm.getNetworkView());
                        repaint();
+                       
+                       updateView();
                }
        }
 
-       private void setSlider() {
+       private void initSlider() {
                Dimension dim = new Dimension(600, 100);
                setPreferredSize(dim);
                setSize(dim);
@@ -316,11 +288,8 @@
        }
 
        @Override
-       public void propertyChange(PropertyChangeEvent arg0) {
-               // TODO Auto-generated method stub
+       public void propertyChange(PropertyChangeEvent pce) {}
 
-       }
-
        @Override
        public ImageIcon drawIcon(int iconWidth, int iconHeight, boolean 
detail) {
                DiscreteTrackRenderer<Number, V> rend = 
(DiscreteTrackRenderer<Number, V>) slider.getTrackRenderer();
@@ -328,4 +297,15 @@
 
                return rend.getTrackGraphicIcon(iconWidth, iconHeight);
        }
+       
+       public ImageIcon getLegend(final int width, final int height) {
+
+               if (slider.getTrackRenderer() instanceof DiscreteTrackRenderer 
== false)
+                       return null;
+
+               DiscreteTrackRenderer<Number, V> rend = 
(DiscreteTrackRenderer<Number, V>) slider.getTrackRenderer();
+               rend.getRendererComponent(slider);
+
+               return rend.getLegend(width, height);
+       }
 }

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
       2012-02-01 00:28:50 UTC (rev 28172)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/mappingeditor/DiscreteTrackRenderer.java
       2012-02-01 03:21:38 UTC (rev 28173)
@@ -61,7 +61,6 @@
 import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.presentation.RenderingEngine;
 import org.cytoscape.view.vizmap.mappings.ContinuousMapping;
-import org.cytoscape.view.vizmap.mappings.ContinuousMappingPoint;
 import org.jdesktop.swingx.JXMultiThumbSlider;
 import org.jdesktop.swingx.multislider.Thumb;
 
@@ -73,14 +72,14 @@
 
        private static final Font TITLE_FONT = new Font("SansSerif", Font.BOLD, 
12);
        private static final Font TRACK_FONT = new Font("SansSerif", 
Font.PLAIN, 10);
-       private static final Color BACKGROUND_COLOR = new Color(0x00, 0x68, 
0x8B, 70);
+       private static final Color BACKGROUND_COLOR = Color.WHITE;
        
        private static final Dimension MIN_SIZE = new Dimension(200, 100);
        private static final int ICON_SIZE = 32;
        private static final int THUMB_WIDTH = 12;
        private static final int V_PADDING = 20;
 
-       private int smallIconSize = 20;
+       //private int smallIconSize = 20;
        private int trackHeight = 70;
        private int arrowBarYPosition = trackHeight + 50;
        
@@ -89,9 +88,7 @@
        private V below;
        private V above;
        private VisualProperty<V> vp;
-       //private final Set<V> values;
 
-       private List<String> rangeTooltips;
        private JXMultiThumbSlider<V> slider;
 
        private final EditorValueRangeTracer tracer;
@@ -125,8 +122,6 @@
 
                this.vp = mapping.getVisualProperty();
                final Range<V> rangeObject = vp.getRange();
-//             if (!rangeObject.isDiscrete())
-//                     throw new IllegalArgumentException("Range type should 
be discrete.");
 
                this.iconMap = new HashMap<V, Icon>();
                if (rangeObject.isDiscrete()) {
@@ -316,14 +311,7 @@
                g.translate(-THUMB_WIDTH / 2, -12);
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param slider
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       
        @SuppressWarnings("unchecked")
        public JComponent getRendererComponent(JXMultiThumbSlider slider) {
                this.slider = slider;
@@ -335,16 +323,7 @@
                return range;
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param x
-        *            DOCUMENT ME!
-        * @param y
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+
        public String getToolTipForCurrentLocation(int x, int y) {
                int oldX = 0;
                int newX;
@@ -406,122 +385,7 @@
                return -1;
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param iconWidth
-        *            DOCUMENT ME!
-        * @param iconHeight
-        *            DOCUMENT ME!
-        * @param mapping
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
-       public ImageIcon getTrackGraphicIcon(int iconWidth, int iconHeight,
-                       ContinuousMapping<K, V> mapping) {
-               final BufferedImage bi = new BufferedImage(iconWidth, 
iconHeight,
-                               BufferedImage.TYPE_INT_RGB);
-               final Graphics2D g2 = bi.createGraphics();
 
-               // Turn Anti-alias on
-               g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
-                               RenderingHints.VALUE_ANTIALIAS_ON);
-
-               final int leftSpace = 2;
-               int trackHeight = iconHeight - 15;
-               int trackWidth = iconWidth - leftSpace - 5;
-
-               g2.setBackground(Color.white);
-               g2.setColor(Color.white);
-               g2.fillRect(0, 0, iconWidth, iconHeight);
-               g2.setStroke(new BasicStroke(1.0f));
-               g2.setColor(Color.black);
-
-               /*
-                * Compute fractions from mapping
-                */
-               List<ContinuousMappingPoint<K, V>> points = 
mapping.getAllPoints();
-               final int pointCount = points.size();
-
-               /*
-                * If no points, just return empty rectangle.
-                */
-               if (pointCount == 0) {
-                       g2.drawRect(leftSpace, 0, trackWidth, trackHeight);
-
-                       return new ImageIcon(bi);
-               }
-
-               float[] fractions = new float[pointCount + 2];
-               double[] values = new double[pointCount];
-
-               Object[] objValues = new Object[pointCount + 2];
-
-               objValues[0] = points.get(0).getRange().lesserValue;
-
-               if (pointCount == 1) {
-                       objValues[1] = points.get(0).getRange().equalValue;
-                       objValues[2] = points.get(0).getRange().greaterValue;
-               } else {
-                       // "Above" value
-                       objValues[objValues.length - 1] = 
points.get(points.size() - 1)
-                                       .getRange().greaterValue;
-
-                       for (int i = 0; i < pointCount; i++)
-                               objValues[i + 1] = 
points.get(i).getRange().equalValue;
-               }
-
-               // List<ImageIcon> iconList = buildIconArray(objValues);
-               final Point2D start = new Point2D.Float(10, 0);
-               final Point2D end = new Point2D.Float(trackWidth, trackHeight);
-
-               // int i=1;
-               //
-               // g2.setFont(new Font("SansSerif", Font.BOLD, 9));
-               // int strWidth;
-               // for(ContinuousMappingPoint point: points) {
-               // String p = Double.toString(point.getValue());
-               // g2.setColor(Color.black);
-               // strWidth = 
SwingUtilities.computeStringWidth(g2.getFontMetrics(), p);
-               // g2.drawString(p, fractions[i]*iconWidth - strWidth/2, 
iconHeight -7);
-               // i++;
-               // }
-               return new ImageIcon(bi);
-       }
-
-//     private List<Icon> buildIconArray(final int size) {
-//             final List<Icon> icons = new ArrayList<Icon>();
-//             final Map<V, Icon> iconMap = new HashMap<V, Icon>();
-//
-//             for (V value : values)
-//                     iconMap.put(value, engine.createIcon(vp, value, size, 
size));
-//
-//             final Object[] keys = iconMap.keySet().toArray();
-//
-//             for (int i = 0; i < size; i++)
-//                     icons.add((ImageIcon) iconMap.get(keys[i]));
-//
-//             return icons;
-//     }
-
-       // private Shape getIcon(Object key) {
-       // final BufferedImage image = new BufferedImage(40, 40,
-       // BufferedImage.TYPE_INT_RGB);
-       //
-       // final Graphics2D gfx = image.createGraphics();
-       // Map icons = type.getVisualProperty().getIconSet();
-       // JLabel label = new JLabel();
-       // label.setIcon((Icon) icons.get(key));
-       // label.setText("test1");
-       // gfx.setBackground(Color.white);
-       // gfx.setColor(Color.red);
-       // gfx.drawString("Test1", 0, 0);
-       //
-       // // label.paint(gfx);
-       // return ((VisualPropertyIcon) icons.get(key)).getShape();
-       // }
-
        /*
         * Draw icon object based on the given data type.
         */
@@ -529,108 +393,18 @@
                if(key == null)
                        return;
                
-               g.translate(x, y);
+               final int xDisp = x-20;
+               g.translate(xDisp, y);
                
                Icon icon = iconMap.get(key);
-               if(icon == null) {
-                       // Need to render icon dynamically.
+               if(icon == null)
                        icon = engine.createIcon(vp, key, ICON_SIZE, ICON_SIZE);
-               }
                
-               icon.paintIcon(this, g, x, y);
-               
-               g.translate(-x, -y);
-               
-               // // TODO: Move this to somewhere more appropreate!
-               // if(type.equals(NODE_SHAPE)) {
-               //
-               //
-//              final VisualPropertyIcon icon = (VisualPropertyIcon)
-//              type.getIconSet().get(key);
-//              icon.setIconHeight(size);
-//              icon.setIconWidth(size);
-//              g.fill(icon.getShape());
-               //
-               // } else if(type.equals(EDGE_SRCARROW_SHAPE) ||
-               // type.equals(EDGE_TGTARROW_SHAPE)) {
-               //
-               // final VisualPropertyIcon arrowIcon = ((VisualPropertyIcon)
-               // type.getIconSet().get(key));
-               // if(arrowIcon == null) {
-               // return;
-               // }
-               // final int newSize = size;
-               // arrowIcon.setIconHeight(newSize);
-               // arrowIcon.setIconWidth(((Number)(newSize*2.5)).intValue());
-               //
-               // g.translate(-newSize, 0);
-               // arrowIcon.paintIcon(this, g, x, y);
-               // g.translate(newSize, 0);
-               //
-               // } else if(type.equals(NODE_FONT_FACE) || 
type.equals(EDGE_FONT_FACE))
-               // {
-               //
-               // final Font font = (Font) key;
-               // final String fontName = font.getFontName();
-               // g.setFont(new Font(fontName, font.getStyle(), size));
-               // g.drawString("A", 0, size);
-               //
-               // final int smallFontSize = ((Number) (size * 
0.25)).intValue();
-               // g.setFont(new Font(fontName, font.getStyle(), 
smallFontSize));
-               //
-               // int stringWidth =
-               // SwingUtilities.computeStringWidth(g.getFontMetrics(),
-               // fontName);
-               // g.drawString(fontName, (size / 2) - (stringWidth / 2), size +
-               // smallFontSize + 2);
-               //
-               // } else if(type.equals(NODE_LINE_STYLE) ||
-               // type.equals(EDGE_LINE_STYLE)) {
-               //
-               // final Stroke stroke = ((LineStyle) key).getStroke(2.0f);
-               // final int newSize2 = (int) (size * 1.5);
-               // g.translate(0, -size * 0.25);
-               // g.setColor(Color.DARK_GRAY);
-               // g.drawRect(0, 0, size, newSize2);
-               // g.setStroke(stroke);
-               // g.setColor(ICON_COLOR);
-               // g.drawLine(size - 1, 1, 1, newSize2 - 1);
-               // g.translate(0, size * 0.25);
-               //
-               //
-               //
-               // // TODO
-               // // case NODE_LABEL_POSITION:
-               // //
-               // // final LabelPlacerGraphic lp = new
-               // LabelPlacerGraphic((LabelPosition)
-               // key,
-               // // (int) (size * 1.5), false);
-               // // lp.paint(g);
-               // //
-               // // break;
-               // } else if ( type.equals(NODE_LABEL) ||
-               // type.equals(NODE_TOOLTIP) ||
-               // type.equals(EDGE_LABEL) ||
-               // type.equals(EDGE_TOOLTIP) ) {
-               // if(key != null) {
-               // g.drawString(key.toString(), 0, g.getFont().getSize()*2);
-               // }
-               // }
-
-               
+               icon.paintIcon(this, g, x, y);  
+               g.translate(-xDisp, -y);
        }
 
-       /**
-        * DOCUMENT ME!
-        * 
-        * @param iconWidth
-        *            DOCUMENT ME!
-        * @param iconHeight
-        *            DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+
        public ImageIcon getTrackGraphicIcon(int iconWidth, int iconHeight) {
                return createIcon(iconWidth, iconHeight, false);
        }
@@ -664,7 +438,7 @@
                int trackHeight = iconHeight - 8;
                if (detail) {
                        trackHeight = iconHeight - 30;
-                       smallIconSize = (int) (trackHeight * 0.5);
+                       //smallIconSize = (int) (trackHeight * 0.5);
                } else {
                        trackHeight = iconHeight - 8;
                }
@@ -700,8 +474,6 @@
                        return new ImageIcon(bi);
                }
 
-//             rangeObjects = buildIconArray(stops.size() + 1);
-
                int newX = 0;
 
                Point2D p1 = new Point2D.Float(0, 5);
@@ -718,9 +490,10 @@
 
                        p2.setLocation(newX, 0);
                        iconLocX = newX
-                                       - (((newX - (int) p1.getX()) / 2) + 
(smallIconSize / 2));
-                       iconLocY = ((trackHeight) / 2) - (smallIconSize / 2);
+                                       - (((newX - (int) p1.getX()) / 2) + 
(ICON_SIZE / 2));
+                       iconLocY = ((trackHeight) / 2) - (ICON_SIZE / 2);
 
+                       
                        if (i == 0) {
                                drawIcon(below, g, iconLocX, iconLocY);
                        } else {
@@ -740,8 +513,8 @@
                p2.setLocation(track_width, 0);
 
                iconLocX = track_width
-                               - (((track_width - (int) p1.getX()) / 2) + 
(smallIconSize / 2));
-               iconLocY = ((trackHeight) / 2) - (smallIconSize / 2);
+                               - (((track_width - (int) p1.getX()) / 2) + 
(ICON_SIZE / 2));
+               iconLocY = ((trackHeight) / 2) - (ICON_SIZE / 2);
                drawIcon(above, g, iconLocX, iconLocY);
 
                /*

-- 
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