Author: clopes
Date: 2012-08-22 10:04:36 -0700 (Wed, 22 Aug 2012)
New Revision: 30249
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
Log:
Fixes #1173 (Visual mapping editor displays nodes and attributes which don't
belong to the current network view)
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
2012-08-22 16:23:05 UTC (rev 30248)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
2012-08-22 17:04:36 UTC (rev 30249)
@@ -147,7 +147,7 @@
filledBoxRenderer.setBackground(Color.white);
filledBoxRenderer.setForeground(Color.blue);
- VizMapPropertyBuilder vizMapPropertyBuilder = new
VizMapPropertyBuilder(cyNetworkManagerServiceRef, editorManager,
emptyBoxRenderer, filledBoxRenderer);
+ VizMapPropertyBuilder vizMapPropertyBuilder = new
VizMapPropertyBuilder(cyNetworkManagerServiceRef,
cyApplicationManagerServiceRef, editorManager, emptyBoxRenderer,
filledBoxRenderer);
VizMapPropertySheetBuilder vizMapPropertySheetBuilder = new
VizMapPropertySheetBuilder(menuManager,propertySheetPanel,editorManager,defaultViewPanel,vizMapperUtil,vmmServiceRef,
vizMapPropertyBuilder);
EditorWindowManager editorWindowManager = new
EditorWindowManager(editorManager,propertySheetPanel);
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
2012-08-22 16:23:05 UTC (rev 30248)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
2012-08-22 17:04:36 UTC (rev 30249)
@@ -41,6 +41,7 @@
import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.TableCellRenderer;
+import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.model.CyColumn;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyIdentifiable;
@@ -79,10 +80,12 @@
private final EditorManager editorManager;
private final CyNetworkManager cyNetworkManager;
+ private final CyApplicationManager appManager;
- public VizMapPropertyBuilder(CyNetworkManager cyNetworkManager,
EditorManager editorManager,
+ public VizMapPropertyBuilder(CyNetworkManager cyNetworkManager,
CyApplicationManager appManager, EditorManager editorManager,
DefaultTableCellRenderer emptyBoxRenderer,
DefaultTableCellRenderer filledBoxRenderer) {
this.cyNetworkManager = cyNetworkManager;
+ this.appManager = appManager;
this.editorManager = editorManager;
this.emptyBoxRenderer = emptyBoxRenderer;
this.filledBoxRenderer = filledBoxRenderer;
@@ -146,58 +149,53 @@
((PropertyEditorRegistry)
propertySheetPanel.getTable().getEditorFactory()).registerEditor(mappingHeader,
editorManager.getDefaultComboBoxEditor("mappingTypeEditor"));
- final Set<CyNetwork> networks =
cyNetworkManager.getNetworkSet();
- final Map<CyNetwork, Set<CyIdentifiable>> graphObjectSet = new
HashMap<CyNetwork, Set<CyIdentifiable>>();
+ final CyNetwork network = appManager.getCurrentNetwork();
+ final Set<CyIdentifiable> graphObjects = new
HashSet<CyIdentifiable>();
- for (CyNetwork targetNetwork : networks) {
- Iterator<? extends CyIdentifiable> it = null;
- graphObjectSet.put(targetNetwork, new
HashSet<CyIdentifiable>());
-
- ((PropertyEditorRegistry)
propertySheetPanel.getTable().getEditorFactory()).registerEditor(topProperty,
-
editorManager.getDataTableComboBoxEditor((Class<? extends CyIdentifiable>)
vp.getTargetDataType()));
+ if (network != null) {
if (vp.getTargetDataType().equals(CyNode.class)) {
- it = targetNetwork.getNodeList().iterator();
+ graphObjects.addAll(network.getNodeList());
} else if (vp.getTargetDataType().equals(CyEdge.class))
{
- it = targetNetwork.getEdgeList().iterator();
+ graphObjects.addAll(network.getEdgeList());
} else if
(vp.getTargetDataType().equals(CyNetwork.class)) {
- it =
cyNetworkManager.getNetworkSet().iterator();
+ graphObjects.add(network);
} else {
throw new IllegalArgumentException("Data type
not supported: " + vp.getTargetDataType());
}
-
- while (it.hasNext())
-
graphObjectSet.get(targetNetwork).add(it.next());
}
+ ((PropertyEditorRegistry)
propertySheetPanel.getTable().getEditorFactory()).registerEditor(topProperty,
+
editorManager.getDataTableComboBoxEditor((Class<? extends CyIdentifiable>)
vp.getTargetDataType()));
+
final VisualPropertyEditor<V> vpEditor =
editorManager.getVisualPropertyEditor(vp);
- if (visualMapping instanceof DiscreteMapping && (attrName !=
null)) {
+ if (visualMapping instanceof DiscreteMapping && attrName !=
null) {
// Discrete Mapping
// This set should not contain null!
final SortedSet<Object> attrSet = new TreeSet<Object>();
-
- for (CyNetwork net : graphObjectSet.keySet()) {
+
+ if (network != null) {
if (vp.getTargetDataType() == CyNetwork.class) {
- final CyRow row = net.getRow(net);
+ final CyRow row =
network.getRow(network);
final CyColumn column =
row.getTable().getColumn(attrName);
+
if (column != null)
processDiscretValues(row,
attrName, column, column.getType(), attrSet);
} else {
- // Assule all data sets are same data
type.
- final Set<CyIdentifiable> graphObjects
= graphObjectSet.get(net);
- if (graphObjects.isEmpty())
- continue;
-
- CyIdentifiable firstEntry =
graphObjects.iterator().next();
- final CyRow firstRow =
net.getRow(firstEntry);
- final CyColumn column =
firstRow.getTable().getColumn(attrName);
- if (column == null)
- continue;
-
- final Class<?> type = column.getType();
- for (final CyIdentifiable go :
graphObjects) {
- final CyRow row =
net.getRow(go);
- processDiscretValues(row,
attrName, column, type, attrSet);
+ // Make sure all data sets have the
same data type.
+ if (!graphObjects.isEmpty()) {
+ CyIdentifiable firstEntry =
graphObjects.iterator().next();
+ final CyRow firstRow =
network.getRow(firstEntry);
+ final CyColumn column =
firstRow.getTable().getColumn(attrName);
+
+ if (column != null) {
+ final Class<?> type =
column.getType();
+
+ for (final
CyIdentifiable go : graphObjects) {
+ final CyRow row
= network.getRow(go);
+
processDiscretValues(row, attrName, column, type, attrSet);
+ }
+ }
}
}
}
@@ -206,9 +204,11 @@
setDiscreteProps(vp, visualMapping, attrSet, vpEditor,
topProperty, propertySheetPanel);
} else if (visualMapping instanceof ContinuousMapping &&
(attrName != null)) {
- final VizMapperProperty<String, VisualMappingFunction,
VisualMappingFunction<K, V>> graphicalView = new VizMapperProperty<String,
VisualMappingFunction, VisualMappingFunction<K, V>>(
- CellType.CONTINUOUS,
visualMapping.getVisualProperty().getDisplayName() + "_"
- +
AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW, visualMapping.getClass());
+ final VizMapperProperty<String, VisualMappingFunction,
VisualMappingFunction<K, V>> graphicalView =
+ new VizMapperProperty<String,
VisualMappingFunction, VisualMappingFunction<K, V>>(
+ CellType.CONTINUOUS,
+
visualMapping.getVisualProperty().getDisplayName() + "_" +
AbstractVizMapperPanel.GRAPHICAL_MAP_VIEW,
+
visualMapping.getClass());
graphicalView.setShortDescription("Continuous Mapping
from " + visualMapping.getMappingColumnName()
+ " to " +
visualMapping.getVisualProperty().getDisplayName());
--
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.