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.