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.