Author: kono
Date: 2011-09-30 16:52:14 -0700 (Fri, 30 Sep 2011)
New Revision: 27034
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
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/EdgeViewDefaultSupport.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
Log:
Node selected color problem had been fixed. Selected color is now part of node
details.
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
2011-09-30 18:02:59 UTC (rev 27033)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeDetails.java
2011-09-30 23:52:14 UTC (rev 27034)
@@ -57,6 +57,10 @@
final Map<Long, Font> m_labelFonts = new HashMap<Long, Font>();
final Map<Long, Paint> m_labelPaints = new HashMap<Long, Paint>();
final Map<Integer, Double> m_labelWidths = new HashMap<Integer,
Double>();
+
+ // For selected paint default
+ final Map<Integer, Paint> m_selectedPaints = new HashMap<Integer,
Paint>();
+
private final MinIntHeap m_heap = new MinIntHeap();
private final float[] m_extentsBuff = new float[4];
@@ -74,6 +78,8 @@
private Font m_labelFontDefault ;
private Paint m_labelPaintDefault ;
private Double m_labelWidthDefault ;
+
+ private Paint m_selectedPaintDefault;
DEdgeDetails(final DGraphView view) {
@@ -97,6 +103,8 @@
m_labelFonts.remove(edgeIdx);
m_labelPaints.remove(edgeIdx);
m_labelWidths.remove(edgeIdx);
+
+ m_selectedPaints.remove(edgeIdx);
}
@@ -144,6 +152,7 @@
void setSourceArrowDefault(byte arrow) {
m_sourceArrowDefault = Byte.valueOf(arrow);
}
+
/*
* A non-negative arrowType has the special meaning to remove overridden
@@ -199,8 +208,8 @@
return arrow;
}
- void setTargetArrowDefault(byte arrow) {
- m_targetArrowDefault = Byte.valueOf(arrow);
+ void setTargetArrowDefault(final byte arrow) {
+ m_targetArrowDefault = arrow;
}
/*
@@ -254,13 +263,13 @@
if ( m_segmentThicknessDefault == null )
return super.segmentThickness(edge);
else
- return m_segmentThicknessDefault.floatValue();
+ return m_segmentThicknessDefault;
return thickness;
}
void setSegmentThicknessDefault(float thick) {
- m_segmentThicknessDefault = Float.valueOf(thick);
+ m_segmentThicknessDefault = thick;
}
/*
@@ -323,7 +332,23 @@
void setSegmentPaintDefault(Paint p) {
m_segmentPaintDefault = p;
}
+
+ public Paint selectedPaint(final int edge) {
+ final Paint paint = m_selectedPaints.get(edge);
+ if (paint == null)
+ if ( m_selectedPaintDefault == null )
+ return super.segmentPaint(edge);
+ else
+ return m_selectedPaintDefault;
+ return paint;
+ }
+
+ void setSelectedPaintDefault(final Paint p) {
+ m_selectedPaintDefault = p;
+ }
+
+
/*
* A negative length value has the special meaning to remove overridden
* length.
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
2011-09-30 18:02:59 UTC (rev 27033)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DEdgeView.java
2011-09-30 23:52:14 UTC (rev 27034)
@@ -68,8 +68,9 @@
DGraphView m_view;
final int m_inx; // Positive.
boolean m_selected;
+
Paint m_unselectedPaint;
- Paint m_selectedPaint;
+
Paint m_sourceUnselectedPaint;
Paint m_sourceSelectedPaint;
Paint m_targetUnselectedPaint;
@@ -97,7 +98,6 @@
m_inx = inx;
m_selected = false;
m_unselectedPaint = m_view.m_edgeDetails.segmentPaint(m_inx);
- m_selectedPaint = Color.red;
m_sourceUnselectedPaint =
m_view.m_edgeDetails.sourceArrowPaint(m_inx);
m_sourceSelectedPaint = Color.red;
m_targetUnselectedPaint =
m_view.m_edgeDetails.targetArrowPaint(m_inx);
@@ -130,16 +130,18 @@
}
/**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
+ * {@inheritDoc}
*/
+ @Override
public GraphView getGraphView() {
return m_view;
}
+ /**
+ * {@inheritDoc}
+ */
@Override
- public void setStrokeWidth(float width) {
+ public void setStrokeWidth(final float width) {
synchronized (m_view.m_lock) {
m_view.m_edgeDetails.overrideSegmentThickness(m_inx,
width);
m_view.m_contentChanged = true;
@@ -147,10 +149,9 @@
}
/**
- * DOCUMENT ME!
- *
- * @return DOCUMENT ME!
+ * {@inheritDoc}
*/
+ @Override
public float getStrokeWidth() {
synchronized (m_view.m_lock) {
return m_view.m_edgeDetails.segmentThickness(m_inx);
@@ -255,15 +256,12 @@
if (paint == null)
throw new NullPointerException("paint is null");
- m_selectedPaint = paint;
if (isSelected()) {
m_view.m_edgeDetails.overrideSegmentPaint(m_inx,
- m_selectedPaint);
+
m_view.m_edgeDetails.selectedPaint(m_inx));
- if (m_selectedPaint instanceof Color)
-
m_view.m_edgeDetails.overrideColorLowDetail(m_inx,
- (Color)
m_selectedPaint);
+
m_view.m_edgeDetails.overrideColorLowDetail(m_inx, (Color)
m_view.m_edgeDetails.selectedPaint(m_inx));
m_view.m_contentChanged = true;
}
@@ -276,7 +274,7 @@
* @return DOCUMENT ME!
*/
public Paint getSelectedPaint() {
- return m_selectedPaint;
+ return m_view.m_edgeDetails.selectedPaint(m_inx);
}
/**
@@ -437,15 +435,13 @@
return false;
m_selected = true;
- m_view.m_edgeDetails.overrideSegmentPaint(m_inx,
m_selectedPaint);
+ m_view.m_edgeDetails.overrideSegmentPaint(m_inx,
m_view.m_edgeDetails.selectedPaint(m_inx));
m_view.m_edgeDetails.overrideSourceArrowPaint(m_inx,
m_sourceSelectedPaint);
m_view.m_edgeDetails.overrideTargetArrowPaint(m_inx,
m_targetSelectedPaint);
- if (m_selectedPaint instanceof Color)
- m_view.m_edgeDetails.overrideColorLowDetail(m_inx,
- (Color) m_selectedPaint);
+ m_view.m_edgeDetails.overrideColorLowDetail(m_inx, (Color)
m_view.m_edgeDetails.selectedPaint(m_inx));
m_view.m_selectedEdges.insert(m_inx);
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
2011-09-30 18:02:59 UTC (rev 27033)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
2011-09-30 23:52:14 UTC (rev 27034)
@@ -73,11 +73,16 @@
final Map<Integer, Double> m_width = new HashMap<Integer, Double>();
+
+ final Map<Integer, Paint> m_selectedPaints = new HashMap<Integer,
Paint>();
// Default values
private Color m_colorLowDetailDefault;
+ private Paint m_fillPaintDefault;
+ private Paint m_selectedPaintDefault;
+
+
private DNodeShape m_shapeDefault;
- private Paint m_fillPaintDefault;
private Float m_borderWidthDefault;
private Paint m_borderPaintDefault;
private Integer m_labelCountDefault;
@@ -112,6 +117,7 @@
m_labelJustifys.remove(nodeIdx);
m_labelOffsetXs.remove(nodeIdx);
m_labelOffsetYs.remove(nodeIdx);
+ m_selectedPaints.remove(nodeIdx);
final Integer intr = m_labelCounts.remove(nodeIdx);
final int labelCount = ((intr == null) ? 0 : intr);
@@ -141,7 +147,26 @@
void setColorLowDetailDefault(Color c) {
m_colorLowDetailDefault = c;
}
+
+
+ public Paint selectedPaint(int node) {
+ final Paint o = m_selectedPaints.get(node);
+ if (o == null)
+ if ( m_selectedPaintDefault == null )
+ return Color.RED;
+ else
+ return m_selectedPaintDefault;
+
+ return o;
+ }
+
+ void setSelectedPaintDefault(Paint c) {
+ m_selectedPaintDefault = c;
+ }
+
+
+
/*
* A null color has the special meaning to remove overridden color.
*/
@@ -180,6 +205,12 @@
m_shapes.put(node, shape.getNativeShape());
}
+ /**
+ * {@inheritDoc}
+ *
+ * Note: this will be used for BOTH unselected and selected.
+ *
+ */
@Override
public Paint fillPaint(final int node) {
final Paint o = m_fillPaints.get(node);
@@ -203,9 +234,11 @@
void overrideFillPaint(final int node, final Paint paint) {
if ((paint == null) || paint.equals(super.fillPaint(node)))
m_fillPaints.remove(node);
- else
+ else {
m_fillPaints.put(node, paint);
+ }
}
+
@Override
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
2011-09-30 18:02:59 UTC (rev 27033)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2011-09-30 23:52:14 UTC (rev 27034)
@@ -137,7 +137,7 @@
// Node color
private Paint m_unselectedPaint;
- private Paint m_selectedPaint;
+ //private Paint m_selectedPaint;
private Paint m_borderPaint;
// Opacity
@@ -216,7 +216,7 @@
m_selected = false;
m_unselectedPaint = graphView.m_nodeDetails.fillPaint(m_inx);
- m_selectedPaint = DEFAULT_NODE_SELECTED_PAINT;
+ //m_selectedPaint = DEFAULT_NODE_SELECTED_PAINT;
m_borderPaint = graphView.m_nodeDetails.borderPaint(m_inx);
transparency = DEFAULT_TRANSPARENCY;
@@ -256,13 +256,13 @@
if (paint == null)
throw new NullPointerException("paint is null");
- m_selectedPaint = paint;
+ //m_selectedPaint = paint;
if (isSelected()) {
-
graphView.m_nodeDetails.overrideFillPaint(m_inx, m_selectedPaint);
+
graphView.m_nodeDetails.overrideFillPaint(m_inx, paint);
- if (m_selectedPaint instanceof Color)
-
graphView.m_nodeDetails.overrideColorLowDetail(m_inx, (Color) m_selectedPaint);
+ if (paint instanceof Color)
+
graphView.m_nodeDetails.overrideColorLowDetail(m_inx, (Color) paint);
graphView.m_contentChanged = true;
}
@@ -272,12 +272,12 @@
@Override
public Paint getSelectedPaint() {
- return m_selectedPaint;
+ return graphView.m_nodeDetails.selectedPaint(m_inx);
}
@Override
- public void setUnselectedPaint(Paint paint) {
+ public void setUnselectedPaint(final Paint paint) {
synchronized (graphView.m_lock) {
if (paint == null)
throw new NullPointerException("paint is null");
@@ -704,10 +704,10 @@
return false;
m_selected = true;
- graphView.m_nodeDetails.overrideFillPaint(m_inx,
m_selectedPaint);
+ graphView.m_nodeDetails.overrideFillPaint(m_inx,
graphView.m_nodeDetails.selectedPaint(m_inx));
- if (m_selectedPaint instanceof Color)
- graphView.m_nodeDetails.overrideColorLowDetail(m_inx,
(Color) m_selectedPaint);
+ //if (m_selectedPaint instanceof Color)
+ graphView.m_nodeDetails.overrideColorLowDetail(m_inx, (Color)
graphView.m_nodeDetails.selectedPaint(m_inx));
graphView.m_selectedNodes.insert(m_inx);
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
2011-09-30 18:02:59 UTC (rev 27033)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/EdgeViewDefaultSupport.java
2011-09-30 23:52:14 UTC (rev 27034)
@@ -71,7 +71,6 @@
setTargetEdgeEndPaint((Paint) value);
setUnselectedPaint((Paint) value);
} else if (vp == DVisualLexicon.EDGE_WIDTH) {
-
final float newWidth = ((Number) value).floatValue();
if(strokeWidth != newWidth) {
setStrokeWidth(newWidth);
@@ -122,12 +121,13 @@
void setUnselectedPaint(final Paint paint) {
synchronized (lock) {
edgeDetails.setSegmentPaintDefault(paint);
+ edgeDetails.setColorLowDetailDefault(paint);
}
}
- void setSelectedPaint(Paint paint) {
+ void setSelectedPaint(final Paint paint) {
synchronized (lock) {
- edgeDetails.setColorLowDetailDefault(paint);
+ edgeDetails.setSelectedPaintDefault(paint);
}
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
2011-09-30 18:02:59 UTC (rev 27033)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
2011-09-30 23:52:14 UTC (rev 27034)
@@ -31,14 +31,12 @@
import java.awt.Color;
import java.awt.Font;
import java.awt.Paint;
-import java.awt.Stroke;
import org.cytoscape.ding.DNodeShape;
import org.cytoscape.ding.ObjectPosition;
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
-import org.cytoscape.view.presentation.property.values.LineType;
import org.cytoscape.view.presentation.property.values.NodeShape;
class NodeViewDefaultSupport {
@@ -49,53 +47,19 @@
// Default values
private int transparency = 255;
+
private Paint unselectedPaint;
private Paint selectedPaint;
+
private float fontSize = 12f;
private Font font;
- private double width;
-
- private Boolean selected = false;
-
-
NodeViewDefaultSupport(final DNodeDetails nodeDetails, final Object
lock) {
this.nodeDetails = nodeDetails;
this.lock = lock;
}
-// <T, V extends T> void setNodeViewDefault(final VisualProperty<? extends
T> vp, V value) {
-//
-// if(value == null)
-// value = (V) vp.getDefault();
-//
-// if (vp == DVisualLexicon.NODE_SHAPE) {
-// setShape(((NodeShape) value));
-// } else if (vp == MinimalVisualLexicon.NODE_FILL_COLOR) {
-// setUnselectedPaint((Paint) value);
-// } else if (vp == DVisualLexicon.NODE_SELECTED_PAINT) {
-// setSelectedPaint((Paint) value);
-// } else if (vp == DVisualLexicon.NODE_BORDER_PAINT) {
-// setBorderPaint((Paint) value);
-// } else if (vp == DVisualLexicon.NODE_BORDER_WIDTH) {
-// setBorderWidth(((Number) value).floatValue());
-// } else if (vp == DVisualLexicon.NODE_TRANSPARENCY) {
-// setTransparency(((Integer) value));
-// } else if (vp == MinimalVisualLexicon.NODE_LABEL) {
-// setText(value.toString());
-// } else if (vp == MinimalVisualLexicon.NODE_LABEL_COLOR) {
-// setTextPaint((Paint) value);
-// } else if (vp == DVisualLexicon.NODE_LABEL_FONT_FACE) {
-// final Font newFont = ((Font)
value).deriveFont(fontSize);
-// setFont(newFont,fontSize);
-// } else if (vp == DVisualLexicon.NODE_LABEL_FONT_SIZE) {
-// float newSize = ((Number) value).floatValue();
-// setFont(font,newSize);
-// } else if (vp == DVisualLexicon.NODE_LABEL_POSITION) {
-// setLabelPosition((ObjectPosition) value);
-// }
-// }
<T, V extends T> void setNodeViewDefault(final VisualProperty<? extends
T> vp, V value) {
@@ -154,7 +118,7 @@
void setSelectedPaint(Paint paint) {
synchronized (lock) {
selectedPaint = paint;
-
nodeDetails.setColorLowDetailDefault((Color)getTransparentColor(paint));
+
nodeDetails.setSelectedPaintDefault(getTransparentColor(paint));
}
}
@@ -162,6 +126,7 @@
synchronized (lock) {
unselectedPaint = paint;
nodeDetails.setFillPaintDefault(getTransparentColor(paint));
+
nodeDetails.setColorLowDetailDefault((Color)getTransparentColor(paint));
}
}
--
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.