Author: kono
Date: 2012-03-05 17:26:41 -0800 (Mon, 05 Mar 2012)
New Revision: 28435

Modified:
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/DiscreteValueEditor.java
Log:
fixes #732 getDisplayName() will be used for label.  toString() method will be 
used only when it is not available.

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/DiscreteValueEditor.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/DiscreteValueEditor.java
   2012-03-06 01:26:32 UTC (rev 28434)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/editor/valueeditor/DiscreteValueEditor.java
   2012-03-06 01:26:41 UTC (rev 28435)
@@ -39,6 +39,7 @@
 import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.event.ActionEvent;
+import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
@@ -53,6 +54,7 @@
 import javax.swing.ListCellRenderer;
 import javax.swing.ListSelectionModel;
 import javax.swing.SwingConstants;
+import javax.xml.soap.Text;
 
 import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.model.CyNetwork;
@@ -225,12 +227,7 @@
        private org.jdesktop.swingx.JXTitledPanel mainPanel;
        private DefaultListModel model;
 
-       // End of variables declaration
-       /**
-        * DOCUMENT ME!
-        * 
-        * @return DOCUMENT ME!
-        */
+       
        public T getValue() {
                if (canceled == true)
                        return null;
@@ -295,11 +292,21 @@
                        else
                                setPreferredSize(new Dimension(230, 60));
                        
-                       if(value instanceof VisualPropertyValue)
-                               setText(((VisualPropertyValue) 
value).getDisplayName());
-                       else
-                               setText("("+ value.toString() +")");
+                       String labelText = null;
+                       // Use reflection to check exixtence of 
"getDisplayName" method
+                       final Class<? extends Object> testClass = 
value.getClass();
+                       try {
+                               final Method displayMethod = 
testClass.getMethod("getDisplayName", null);
+                               final Object returnVal = 
displayMethod.invoke(value, null);
+                               if(returnVal != null)
+                                       labelText = returnVal.toString();
+                       } catch (Exception e) {
+                               // Use toString is failed.
+                               labelText = value.toString();
+                       }
                        
+                       setText(labelText);
+                       
                        this.setBorder(new DropShadowBorder());
 
                        return this;

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