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.

Reply via email to