Author: kono
Date: 2010-02-18 16:34:34 -0800 (Thu, 18 Feb 2010)
New Revision: 19379

Modified:
   cytoscape/trunk/src/cytoscape/visual/ui/EditorDisplayer.java
   cytoscape/trunk/src/cytoscape/visual/ui/ValueSelectDialog.java
Log:
Bug ID 2119: "EditorDisplayer for Node Line Style is broken" is fixed.  New 
Displayer enum added to handle node line style.

Modified: cytoscape/trunk/src/cytoscape/visual/ui/EditorDisplayer.java
===================================================================
--- cytoscape/trunk/src/cytoscape/visual/ui/EditorDisplayer.java        
2010-02-18 23:55:41 UTC (rev 19378)
+++ cytoscape/trunk/src/cytoscape/visual/ui/EditorDisplayer.java        
2010-02-19 00:34:34 UTC (rev 19379)
@@ -95,7 +95,10 @@
                             new Object[] { 
VisualPropertyType.EDGE_SRCARROW_SHAPE, null }, ArrowShape.class), 
        DISCRETE_LINE_STYLE(ValueSelectDialog.class, "showDialog",
                           new Class[] { VisualPropertyType.class, 
JDialog.class },
-                          new Object[] { VisualPropertyType.EDGE_LINE_STYLE, 
null }, LineStyle.class), 
+                          new Object[] { VisualPropertyType.EDGE_LINE_STYLE, 
null }, LineStyle.class),
+       DISCRETE_NODE_LINE_STYLE(ValueSelectDialog.class, "showDialog",
+                              new Class[] { VisualPropertyType.class, 
JDialog.class },
+                              new Object[] { 
VisualPropertyType.NODE_LINE_STYLE, null }, LineStyle.class),
        DISCRETE_LABEL_POSITION(PopupLabelPositionChooser.class, "showDialog",
                                new Class[] { Frame.class, LabelPosition.class 
},
                                new Object[] { Cytoscape.getDesktop(), null }, 
LabelPosition.class), 
@@ -109,11 +112,12 @@
        CONTINUOUS_DISCRETE(C2DMappingEditor.class, "showDialog",
                            new Class[] { int.class, int.class, String.class, 
VisualPropertyType.class },
                            new Object[] { 420, 250, "Continuous-Discrete 
Editor", null }, Object.class);
-       private Class chooserClass;
+       
+       private Class<?> chooserClass;
        private String command;
-       private Class[] paramTypes;
+       private Class<?>[] paramTypes;
        private Object[] parameters;
-       private Class compatibleClass;
+       private Class<?> compatibleClass;
 
        /**
         * Defines editor type.
@@ -123,8 +127,11 @@
                DISCRETE,
                PASSTHROUGH;
        }
-       private EditorDisplayer(Class chooserClass, String command, Class[] 
paramTypes,
-                               Object[] parameters, Class compatibleClass) {
+       
+       
+       private EditorDisplayer(final Class<?> chooserClass, String command, 
Class<?>[] paramTypes,
+                               Object[] parameters, Class<?> compatibleClass) {
+               
                this.chooserClass = chooserClass;
                this.command = command;
                this.paramTypes = paramTypes;
@@ -155,7 +162,7 @@
         *
         * @return DOCUMENT ME!
         */
-       public Class[] getParamTypes() {
+       public Class<?>[] getParamTypes() {
                return this.paramTypes;
        }
 
@@ -173,7 +180,7 @@
         *
         * @return DOCUMENT ME!
         */
-       public Class getCompatibleClass() {
+       public Class<?> getCompatibleClass() {
                return this.compatibleClass;
        }
 
@@ -189,14 +196,27 @@
         * @return DOCUMENT ME!
         */
        public static EditorDisplayer getEditor(final VisualPropertyType type, 
final EditorType editor) {
-               final Class dataType = type.getDataType();
+               final Class<?> dataType = type.getDataType();
+               
                for (EditorDisplayer command : values()) {
-                       if ((dataType == command.getCompatibleClass())
-                           && (((editor == EditorType.CONTINUOUS)
-                               && 
command.toString().startsWith(EditorType.CONTINUOUS.name()))
-                              || ((editor == EditorType.DISCRETE)
-                                 && 
command.toString().startsWith(EditorType.DISCRETE.name()))))
+                       
+                       
+                       if ( (dataType == command.getCompatibleClass())
+                           && ((editor == EditorType.CONTINUOUS)
+                               && 
command.toString().startsWith(EditorType.CONTINUOUS.name()) )) {
                                return command;
+                       } else if ( (dataType == command.getCompatibleClass()) 
&& (editor == EditorType.DISCRETE)
+                                 && 
command.toString().startsWith(EditorType.DISCRETE.name())) {
+                               
+                               // Check special case
+                               if (command.equals(DISCRETE_LINE_STYLE) || 
command.equals(DISCRETE_NODE_LINE_STYLE)) {
+                                       if 
(type.equals(VisualPropertyType.EDGE_LINE_STYLE))
+                                               return DISCRETE_LINE_STYLE;
+                                       else
+                                               return DISCRETE_NODE_LINE_STYLE;
+                               } else
+                                       return command;
+                       }
                }
 
                

Modified: cytoscape/trunk/src/cytoscape/visual/ui/ValueSelectDialog.java
===================================================================
--- cytoscape/trunk/src/cytoscape/visual/ui/ValueSelectDialog.java      
2010-02-18 23:55:41 UTC (rev 19378)
+++ cytoscape/trunk/src/cytoscape/visual/ui/ValueSelectDialog.java      
2010-02-19 00:34:34 UTC (rev 19379)
@@ -34,13 +34,14 @@
 */
 package cytoscape.visual.ui;
 
-import static cytoscape.visual.VisualPropertyType.*;
+import static cytoscape.visual.VisualPropertyType.EDGE_SRCARROW_SHAPE;
+import static cytoscape.visual.VisualPropertyType.EDGE_TGTARROW_SHAPE;
+import static cytoscape.visual.VisualPropertyType.NODE_SHAPE;
 
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Dimension;
 import java.awt.Font;
-import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;

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