Author: Christian Lopes
Date: 2011-03-23 15:26:39 -0700 (Wed, 23 Mar 2011)
New Revision: 24563
Modified:
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/converters/CalculatorConverter.java
Log:
Copying default values when creating a new VisualStyle from another one.
Modified:
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
===================================================================
---
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
2011-03-23 22:22:04 UTC (rev 24562)
+++
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualMappingManagerImpl.java
2011-03-23 22:26:39 UTC (rev 24563)
@@ -35,14 +35,18 @@
package org.cytoscape.view.vizmap.internal;
import java.awt.Color;
+import java.awt.Paint;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.cytoscape.event.CyEventHelper;
+import org.cytoscape.model.CyNetwork;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.presentation.property.PaintVisualProperty;
import org.cytoscape.view.presentation.property.TwoDVisualLexicon;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.VisualStyle;
@@ -57,11 +61,16 @@
public static final String DEFAULT_STYLE_NAME = "default";
// Default Style
+ private static final Color NETWORK_COLOR = Color.WHITE;
+ private static final Color NETWORK_NODE_SELECTED_COLOR = Color.YELLOW;
+ private static final Color NETWORK_EDGE_SELECTED_COLOR = Color.YELLOW;
private static final Color NODE_COLOR = new Color(0x4F, 0x94, 0xCD);
+ private static final Color NODE_LABEL_COLOR = Color.BLACK;
private static final Color EDGE_COLOR = new Color(50, 50, 50);
- private static final Double EDGE_WIDTH = 3d;
+ private static final Double EDGE_WIDTH = 2d;
private static final Double NODE_WIDTH = 35d;
private static final Double NODE_HEIGHT = 35d;
+ private static final Color EDGE_LABEL_COLOR = Color.BLACK;
private final VisualStyle defaultStyle;
@@ -89,11 +98,16 @@
private VisualStyle buildGlobalDefaultStyle(final VisualStyleFactory
factory) {
final VisualStyle defStyle =
factory.getInstance(DEFAULT_STYLE_NAME);
+
defStyle.setDefaultValue(TwoDVisualLexicon.NETWORK_BACKGROUND_PAINT,
NETWORK_COLOR);
+
defStyle.setDefaultValue(TwoDVisualLexicon.NETWORK_NODE_SELECTED_COLOR,
NETWORK_NODE_SELECTED_COLOR);
+
defStyle.setDefaultValue(TwoDVisualLexicon.NETWORK_EDGE_SELECTED_COLOR,
NETWORK_EDGE_SELECTED_COLOR);
defStyle.setDefaultValue(TwoDVisualLexicon.NODE_COLOR,
NODE_COLOR);
+ defStyle.setDefaultValue(TwoDVisualLexicon.NODE_LABEL_COLOR,
NODE_LABEL_COLOR);
defStyle.setDefaultValue(TwoDVisualLexicon.NODE_X_SIZE,
NODE_WIDTH);
defStyle.setDefaultValue(TwoDVisualLexicon.NODE_Y_SIZE,
NODE_HEIGHT);
defStyle.setDefaultValue(TwoDVisualLexicon.EDGE_WIDTH,
EDGE_WIDTH);
defStyle.setDefaultValue(TwoDVisualLexicon.EDGE_PAINT,
EDGE_COLOR);
+ defStyle.setDefaultValue(TwoDVisualLexicon.EDGE_LABEL_COLOR,
EDGE_LABEL_COLOR);
return defStyle;
}
Modified:
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
===================================================================
---
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
2011-03-23 22:22:04 UTC (rev 24562)
+++
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleFactoryImpl.java
2011-03-23 22:26:39 UTC (rev 24563)
@@ -1,6 +1,8 @@
package org.cytoscape.view.vizmap.internal;
import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.vizmap.VisualMappingFunction;
@@ -17,25 +19,43 @@
@Override
public VisualStyle getInstance(final VisualStyle original) {
- final VisualStyle copyVS = new
VisualStyleImpl(original.getTitle(), lexManager);
-
- // TODO: copy everything! This is incomplete
- Collection<VisualMappingFunction<?, ?>> allMapping =
original.getAllVisualMappingFunctions();
+ final VisualStyle copy = new
VisualStyleImpl(original.getTitle(), lexManager);
- String attrName;
- VisualProperty<?> vp;
+ copyDefaultValues(original, copy);
+ copyMappingFunctions(original, copy);
- for (VisualMappingFunction<?, ?> mapping : allMapping) {
- attrName = mapping.getMappingAttributeName();
- vp = mapping.getVisualProperty();
- }
-
- return copyVS;
+ return copy;
}
-
@Override
public VisualStyle getInstance(String title) {
return new VisualStyleImpl(title, lexManager);
}
+
+ private <V, S extends V> void copyDefaultValues(final VisualStyle
original, final VisualStyle copy) {
+ Set<VisualProperty<?>> visualProps = new
HashSet<VisualProperty<?>>();
+ visualProps.addAll(lexManager.getNetworkVisualProperties());
+ visualProps.addAll(lexManager.getNodeVisualProperties());
+ visualProps.addAll(lexManager.getEdgeVisualProperties());
+
+ for (VisualProperty<?> vp : visualProps) {
+ S value = (S) original.getDefaultValue(vp);
+
+ // TODO: if the value is not immutable, this can create problems,
since it is not setting a copy!
+ if (value != null)
+ copy.setDefaultValue((VisualProperty<V>) vp, value);
+ }
+ }
+
+ private void copyMappingFunctions(final VisualStyle original, final
VisualStyle copy) {
+ Collection<VisualMappingFunction<?, ?>> allMapping =
original.getAllVisualMappingFunctions();
+
+ for (VisualMappingFunction<?, ?> mapping : allMapping) {
+ String attrName = mapping.getMappingAttributeName();
+ VisualProperty<?> vp = mapping.getVisualProperty();
+
+ // TODO: clone mappings
+// copy.addVisualMappingFunction(mapping);
+ }
+ }
}
Modified:
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
===================================================================
---
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
2011-03-23 22:22:04 UTC (rev 24562)
+++
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/VisualStyleImpl.java
2011-03-23 22:26:39 UTC (rev 24563)
@@ -38,7 +38,6 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
@@ -46,7 +45,6 @@
import org.cytoscape.model.CyTableEntry;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.View;
-import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.model.Visualizable;
import org.cytoscape.view.vizmap.VisualMappingFunction;
@@ -102,6 +100,7 @@
* @param c
* DOCUMENT ME!
*/
+ @Override
public void addVisualMappingFunction(
final VisualMappingFunction<?, ?> mapping) {
mappings.put(mapping.getVisualProperty(), mapping);
@@ -266,6 +265,7 @@
final VisualProperty<?> vp) {
Object defaultValue = getDefaultValue(vp);
+
if(defaultValue == null) {
this.perVSDefaults.put(vp, vp.getDefault());
defaultValue = getDefaultValue(vp);
@@ -302,6 +302,7 @@
*
* @return DOCUMENT ME!
*/
+ @Override
public String getTitle() {
return title;
}
@@ -312,6 +313,7 @@
* @param title
* DOCUMENT ME!
*/
+ @Override
public void setTitle(String title) {
this.title = title;
}
Modified:
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/converters/CalculatorConverter.java
===================================================================
---
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/converters/CalculatorConverter.java
2011-03-23 22:22:04 UTC (rev 24562)
+++
core3/vizmap-impl/trunk/impl/src/main/java/org/cytoscape/view/vizmap/internal/converters/CalculatorConverter.java
2011-03-23 22:26:39 UTC (rev 24563)
@@ -35,10 +35,8 @@
package org.cytoscape.view.vizmap.internal.converters;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
import java.util.Properties;
-import java.util.Set;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNetwork;
@@ -61,15 +59,15 @@
public class CalculatorConverter {
/** This type corresponds to java.lang.Boolean. */
- public final byte TYPE_BOOLEAN = 1;
+ public static final byte TYPE_BOOLEAN = 1;
/** This type corresponds to java.lang.Double. */
- public final byte TYPE_FLOATING_POINT = 2;
+ public static final byte TYPE_FLOATING_POINT = 2;
/** This type corresponds to java.lang.Integer. */
- public final byte TYPE_INTEGER = 3;
+ public static final byte TYPE_INTEGER = 3;
/** This type corresponds to java.lang.String. */
- public final byte TYPE_STRING = 4;
+ public static final byte TYPE_STRING = 4;
/** This type corresponds to an attribute which has not been defined. */
- public final byte TYPE_UNDEFINED = -1;
+ public static final byte TYPE_UNDEFINED = -1;
/**
* This type corresponds to a 'simple' list.
* <P>
@@ -80,19 +78,7 @@
* <CODE>Double</CODE> or <CODE>String</CODE>.
* </UL>
*/
- public final byte TYPE_SIMPLE_LIST = -2;
- /**
- * This type corresponds to a 'simple' hash map.
- * <P>
- * A 'simple' map is defined as follows:
- * <UL>
- * <LI>All keys within the map are of type: <CODE>String</CODE>.
- * <LI>All values within the map are of the same type, and are chosen from
- * one of the following: <CODE>Boolean</CODE>, <CODE>Integer</CODE>,
- * <CODE>Double</CODE> or <CODE>String</CODE>.
- * </UL>
- */
- public final byte TYPE_SIMPLE_MAP = -3;
+ public static final byte TYPE_SIMPLE_LIST = -2;
private String key;
private String legacyKey;
--
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.