Author: kono
Date: 2011-10-11 16:36:33 -0700 (Tue, 11 Oct 2011)
New Revision: 27136
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/DNodeView.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
Log:
fixes #425 Handlers for default node tooltip text had been added.
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-10-11 22:54:52 UTC (rev 27135)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeDetails.java
2011-10-11 23:36:33 UTC (rev 27136)
@@ -59,7 +59,10 @@
Map<Integer, Float> m_borderWidths = new HashMap<Integer, Float>();
Map<Integer, Paint> m_borderPaints = new HashMap<Integer, Paint>();
Map<Integer, Integer> m_labelCounts = new HashMap<Integer, Integer>();
+
Map<Long, String> m_labelTexts = new HashMap<Long, String>();
+ Map<Integer, String> m_tooltipTexts = new HashMap<Integer, String>();
+
Map<Long, Font> m_labelFonts = new HashMap<Long, Font>();
Map<Long, Paint> m_labelPaints = new HashMap<Long, Paint>();
Map<Integer, Double> m_labelWidths = new HashMap<Integer, Double>();
@@ -84,7 +87,10 @@
private Float m_borderWidthDefault;
private Paint m_borderPaintDefault;
private Integer m_labelCountDefault;
- private String m_labelTextDefault;
+
+ private String m_labelTextDefault;
+ private String m_tooltipTextDefault;
+
private Font m_labelFontDefault;
private Paint m_labelPaintDefault;
private Byte m_labelTextAnchorDefault;
@@ -112,6 +118,7 @@
m_borderPaints = new HashMap<Integer, Paint>();
m_labelCounts = new HashMap<Integer, Integer>();
m_labelTexts = new HashMap<Long, String>();
+ m_tooltipTexts = new HashMap<Integer, String>();
m_labelFonts = new HashMap<Long, Font>();
m_labelPaints = new HashMap<Long, Paint>();
m_labelWidths = new HashMap<Integer, Double>();
@@ -145,6 +152,8 @@
m_labelOffsetXs.remove(nodeIdx);
m_labelOffsetYs.remove(nodeIdx);
m_selectedPaints.remove(nodeIdx);
+
+ m_tooltipTexts.remove(nodeIdx);
final Integer intr = m_labelCounts.remove(nodeIdx);
final int labelCount = ((intr == null) ? 0 : intr);
@@ -389,7 +398,39 @@
isCleared = false;
}
}
+
+
+ public String tooltipText(final int node) {
+ final String o = m_tooltipTexts.get(node);
+ if (o == null)
+ if ( m_tooltipTextDefault == null )
+ return "";
+ else
+ return m_tooltipTextDefault;
+
+ return o;
+ }
+
+ void setTooltipTextDefault(String tooltip) {
+ m_tooltipTextDefault = tooltip;
+ }
+
+ /*
+ * A null text has the special meaning to remove overridden text.
+ */
+ void overrideTooltipText(final int node, final String text) {
+
+ if ((text == null) || text.equals(""))
+ m_tooltipTexts.remove(node);
+ else {
+ m_tooltipTexts.put(node, text);
+ isCleared = false;
+ }
+ }
+
+
+
@Override
public Font labelFont(int node, int labelInx) {
final long key = (((long) node) << 32) | ((long) labelInx);
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-10-11 22:54:52 UTC (rev 27135)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2011-10-11 23:36:33 UTC (rev 27136)
@@ -155,9 +155,6 @@
float m_hiddenXMax = Float.MAX_VALUE;
float m_hiddenYMax = Float.MAX_VALUE;
- // Tool Tip text
- private String m_toolTipText;
-
// Nested Network View
private DGraphView nestedNetworkView;
@@ -780,13 +777,18 @@
@Override
public void setToolTip(final String tip) {
- m_toolTipText = tip;
+ synchronized (graphView.m_lock) {
+ graphView.m_nodeDetails.overrideTooltipText(m_inx, tip);
+ graphView.m_contentChanged = true;
+ }
}
@Override
public String getToolTip() {
- return m_toolTipText;
+ synchronized (graphView.m_lock) {
+ return graphView.m_nodeDetails.tooltipText(m_inx);
+ }
}
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-10-11 22:54:52 UTC (rev 27135)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/NodeViewDefaultSupport.java
2011-10-11 23:36:33 UTC (rev 27136)
@@ -97,9 +97,10 @@
}
}
- private void setToolTip(String value) {
- // TODO Auto-generated method stub
-
+ private void setToolTip(String tooltip) {
+ synchronized (lock) {
+ nodeDetails.setTooltipTextDefault(tooltip);
+ }
}
--
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.