Author: kono
Date: 2012-06-29 11:47:27 -0700 (Fri, 29 Jun 2012)
New Revision: 29729
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
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
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetMouseAdapter.java
Log:
fixes #1107 Fixed Vizmap GUI to work with Network Visual Properties.
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
2012-06-29 18:18:45 UTC (rev 29728)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/AbstractVizMapperPanel.java
2012-06-29 18:47:27 UTC (rev 29729)
@@ -138,8 +138,6 @@
protected PropertyRendererRegistry rendReg;
protected PropertyEditorRegistry editorReg;
- // protected VizMapEventHandlerManager vizMapEventHandlerManager;
-
protected EditorWindowManager editorWindowManager;
protected CyApplicationManager applicationManager;
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-06-29 18:18:45 UTC (rev 29728)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
2012-06-29 18:47:27 UTC (rev 29729)
@@ -2,9 +2,11 @@
package org.cytoscape.view.vizmap.gui.internal;
import java.awt.Color;
+import java.awt.Font;
import java.awt.Paint;
import java.util.Properties;
+import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableCellRenderer;
import org.cytoscape.application.CyApplicationConfiguration;
@@ -129,7 +131,23 @@
CreateNewVisualStyleTaskFactory createNewVisualStyleTaskFactory
= new
CreateNewVisualStyleTaskFactory(visualStyleFactoryServiceRef,vmmServiceRef);
DeleteVisualStyleTaskFactory removeVisualStyleTaskFactory = new
DeleteVisualStyleTaskFactory(vmmServiceRef);
ImportDefaultVizmapTaskFactory importDefaultVizmapTaskFactory =
new
ImportDefaultVizmapTaskFactory(vizmapReaderManagerServiceRef,vmmServiceRef,cyApplicationConfigurationServiceRef);
- VizMapPropertySheetBuilder vizMapPropertySheetBuilder = new
VizMapPropertySheetBuilder(menuManager,cyNetworkManagerServiceRef,propertySheetPanel,editorManager,defaultViewPanel,cyTableManagerServiceRef,vizMapperUtil,vmmServiceRef);
+
+
+ DefaultTableCellRenderer emptyBoxRenderer = new
DefaultTableCellRenderer();
+ DefaultTableCellRenderer filledBoxRenderer = new
DefaultTableCellRenderer();
+ emptyBoxRenderer = new DefaultTableCellRenderer();
+
emptyBoxRenderer.setHorizontalTextPosition(SwingConstants.CENTER);
+ emptyBoxRenderer.setHorizontalAlignment(SwingConstants.CENTER);
+ emptyBoxRenderer.setBackground(new Color(0, 200, 255, 20));
+ emptyBoxRenderer.setForeground(Color.red);
+ emptyBoxRenderer.setFont(new Font("SansSerif", Font.BOLD, 12));
+
+ filledBoxRenderer = new DefaultTableCellRenderer();
+ filledBoxRenderer.setBackground(Color.white);
+ filledBoxRenderer.setForeground(Color.blue);
+
+ VizMapPropertyBuilder vizMapPropertyBuilder = new
VizMapPropertyBuilder(cyNetworkManagerServiceRef, editorManager,
emptyBoxRenderer, filledBoxRenderer);
+ VizMapPropertySheetBuilder vizMapPropertySheetBuilder = new
VizMapPropertySheetBuilder(menuManager,propertySheetPanel,editorManager,defaultViewPanel,vizMapperUtil,vmmServiceRef,
vizMapPropertyBuilder);
EditorWindowManager editorWindowManager = new
EditorWindowManager(editorManager,propertySheetPanel);
VizMapperMainPanel vizMapperMainPanel = new
VizMapperMainPanel(visualStyleFactoryServiceRef,defViewEditor,iconManager,colorMgr,vmmServiceRef,menuManager,editorManager,propertySheetPanel,vizMapPropertySheetBuilder,editorWindowManager,cyApplicationManagerServiceRef,importDefaultVizmapTaskFactory,dialogTaskManagerServiceRef,viewModeAction);
@@ -145,8 +163,7 @@
RandomNumberMappingGenerator randomNumberGenerator = new
RandomNumberMappingGenerator();
FitLabelMappingGenerator<Number> fitLabelMappingGenerator = new
FitLabelMappingGenerator<Number>(Number.class, cyApplicationManagerServiceRef,
vmmServiceRef);
- DefaultTableCellRenderer emptyBoxRenderer = new
DefaultTableCellRenderer();
- DefaultTableCellRenderer filledBoxRenderer = new
DefaultTableCellRenderer();
+
VizMapEventHandlerManagerImpl vizMapEventHandlerManager = new
VizMapEventHandlerManagerImpl(vmmServiceRef,
editorManager,vizMapPropertySheetBuilder,propertySheetPanel,vizMapperMainPanel,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,attributeSetManager,vizMapperUtil);
BypassManager bypassManager = new
BypassManager(cyServiceRegistrarServiceRef,editorManager, vmmServiceRef);
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-06-29 18:18:45 UTC (rev 29728)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertyBuilder.java
2012-06-29 18:47:27 UTC (rev 29729)
@@ -73,19 +73,21 @@
* Create property for the Property Sheet object.
*/
public class VizMapPropertyBuilder {
-
+
private static final Logger logger =
LoggerFactory.getLogger(VizMapPropertyBuilder.class);
- private DefaultTableCellRenderer emptyBoxRenderer;
- private DefaultTableCellRenderer filledBoxRenderer;
+ private final DefaultTableCellRenderer emptyBoxRenderer;
+ private final DefaultTableCellRenderer filledBoxRenderer;
- private EditorManager editorManager;
+ private final EditorManager editorManager;
+ private final CyNetworkManager cyNetworkManager;
- private CyNetworkManager cyNetworkManager;
-
- public VizMapPropertyBuilder(CyNetworkManager cyNetworkManager,
EditorManager editorManager, CyTableManager tableMgr) {
+ public VizMapPropertyBuilder(CyNetworkManager cyNetworkManager,
EditorManager editorManager,
+ DefaultTableCellRenderer emptyBoxRenderer,
DefaultTableCellRenderer filledBoxRenderer) {
this.cyNetworkManager = cyNetworkManager;
this.editorManager = editorManager;
+ this.emptyBoxRenderer = emptyBoxRenderer;
+ this.filledBoxRenderer = filledBoxRenderer;
}
/**
@@ -137,7 +139,7 @@
// Set mapping type as string.
mappingHeader.setValue(factory);
mappingHeader.setInternalValue(visualMapping);
-
+
// Set parent-child relationship
mappingHeader.setParentProperty(topProperty);
topProperty.addSubProperty(mappingHeader);
@@ -147,8 +149,8 @@
editorManager.getDefaultComboBoxEditor("mappingTypeEditor"));
final Set<CyNetwork> networks =
cyNetworkManager.getNetworkSet();
- final Map<CyNetwork,Set<CyIdentifiable>> graphObjectSet = new
HashMap<CyNetwork,Set<CyIdentifiable>>();
-
+ final Map<CyNetwork, Set<CyIdentifiable>> graphObjectSet = new
HashMap<CyNetwork, Set<CyIdentifiable>>();
+
for (CyNetwork targetNetwork : networks) {
Iterator<? extends CyIdentifiable> it = null;
graphObjectSet.put(targetNetwork, new
HashSet<CyIdentifiable>());
@@ -173,32 +175,18 @@
if (visualMapping instanceof DiscreteMapping && (attrName !=
null)) {
// Discrete Mapping
-
+
// This set should not contain null!
final SortedSet<K> attrSet = new TreeSet<K>();
for (CyNetwork net : graphObjectSet.keySet()) {
- for (CyIdentifiable go :
graphObjectSet.get(net)) {
- final CyRow row = net.getRow(go);
- final CyTable table = row.getTable();
- final CyColumn column =
table.getColumn(attrName);
-
- if (column != null) {
- final Class<?> attrClass =
column.getType();
-
- if
(attrClass.isAssignableFrom(List.class)) {
- List<?> list =
row.getList(attrName, column.getListElementType());
- if (list != null) {
- for (Object
item : list) {
- if
(item != null)
-
attrSet.add((K) item);
- }
- }
- } else {
- final Object id =
row.get(attrName, attrClass);
- if (id != null)
- attrSet.add((K)
id);
- }
+ if (vp.getTargetDataType() == CyNetwork.class) {
+ final CyRow row = net.getRow(net);
+ processDiscretValues(row, attrName,
attrSet);
+ } else {
+ for (CyIdentifiable go :
graphObjectSet.get(net)) {
+ final CyRow row =
net.getRow(go);
+ processDiscretValues(row,
attrName, attrSet);
}
}
}
@@ -206,10 +194,10 @@
// FIXME
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());
+ } 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());
graphicalView.setShortDescription("Continuous Mapping
from " + visualMapping.getMappingColumnName()
+ " to " +
visualMapping.getVisualProperty().getDisplayName());
@@ -227,7 +215,8 @@
throw new NullPointerException("Continuous
Mapping cell editor is null.");
} else {
// Renderer for Continuous mapping icon cell
- final TableCellRenderer continuousRenderer =
vpEditor.getContinuousTableCellRenderer((ContinuousMappingEditor<? extends
Number, V>) continuousCellEditor);
+ final TableCellRenderer continuousRenderer =
vpEditor
+
.getContinuousTableCellRenderer((ContinuousMappingEditor<? extends Number, V>)
continuousCellEditor);
rendReg.registerRenderer(graphicalView,
continuousRenderer);
continuousCellEditor.setValue(visualMapping);
cellEditorFactory.registerEditor(graphicalView,
continuousCellEditor);
@@ -243,7 +232,30 @@
return topProperty;
}
+
+ private <K> void processDiscretValues(final CyRow row, final String
attrName, final SortedSet<K> attrSet) {
+ final CyTable table = row.getTable();
+ final CyColumn column = table.getColumn(attrName);
+ if (column != null) {
+ final Class<?> attrClass = column.getType();
+
+ if (attrClass.isAssignableFrom(List.class)) {
+ List<?> list = row.getList(attrName,
column.getListElementType());
+ if (list != null) {
+ for (Object item : list) {
+ if (item != null)
+ attrSet.add((K) item);
+ }
+ }
+ } else {
+ final Object id = row.get(attrName, attrClass);
+ if (id != null)
+ attrSet.add((K) id);
+ }
+ }
+ }
+
/*
* Set value, title, and renderer for each property in the category.
This
* list should be created against all available attribute values.
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
2012-06-29 18:18:45 UTC (rev 29728)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
2012-06-29 18:47:27 UTC (rev 29729)
@@ -16,6 +16,7 @@
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyIdentifiable;
+import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyTableManager;
@@ -58,9 +59,6 @@
private final PropertySheetPanel propertySheetPanel;
- private DefaultTableCellRenderer emptyBoxRenderer;
- private DefaultTableCellRenderer filledBoxRenderer;
-
private final VizMapPropertyBuilder vizMapPropertyBuilder;
private final EditorManager editorManager;
private final VizMapperMenuManager menuMgr;
@@ -74,9 +72,9 @@
private List<VisualProperty<?>> unusedVisualPropType;
- public VizMapPropertySheetBuilder(final VizMapperMenuManager menuMgr,
CyNetworkManager cyNetworkManager,
+ public VizMapPropertySheetBuilder(final VizMapperMenuManager menuMgr,
PropertySheetPanel propertySheetPanel, EditorManager
editorManager, DefaultViewPanel defViewPanel,
- CyTableManager tableMgr, final VizMapperUtil util,
final VisualMappingManager vmm) {
+ final VizMapperUtil util, final VisualMappingManager
vmm, final VizMapPropertyBuilder vizMapPropertyBuilder) {
this.menuMgr = menuMgr;
this.propertySheetPanel = propertySheetPanel;
@@ -86,7 +84,7 @@
this.editorManager = editorManager;
propertyMap = new HashMap<VisualStyle, List<Property>>();
- vizMapPropertyBuilder = new
VizMapPropertyBuilder(cyNetworkManager, editorManager, tableMgr);
+ this.vizMapPropertyBuilder = vizMapPropertyBuilder;
}
/**
@@ -136,56 +134,44 @@
table.setCategoryForeground(Color.black);
table.setSelectionBackground(Color.white);
table.setSelectionForeground(Color.blue);
-
- // FIXME
- emptyBoxRenderer = new DefaultTableCellRenderer();
-
emptyBoxRenderer.setHorizontalTextPosition(SwingConstants.CENTER);
- emptyBoxRenderer.setHorizontalAlignment(SwingConstants.CENTER);
- emptyBoxRenderer.setBackground(new Color(0, 200, 255, 20));
- emptyBoxRenderer.setForeground(Color.red);
- emptyBoxRenderer.setFont(new Font("SansSerif", Font.BOLD, 12));
-
- filledBoxRenderer = new DefaultTableCellRenderer();
- filledBoxRenderer.setBackground(Color.white);
- filledBoxRenderer.setForeground(Color.blue);
}
+
+ private void setBasicVP(final Collection<VisualProperty<?>> allVP,
final Collection<VisualProperty<?>> selectedVP) {
+ for (VisualProperty<?> vp : allVP) {
+ if (PropertySheetUtil.isBasic(vp))
+ selectedVP.add(vp);
+ }
+ }
private List<Property> getPropertyListFromVisualStyle(final VisualStyle
style) {
final Collection<VisualProperty<?>> nodeVP =
util.getVisualPropertySet(CyNode.class);
final Collection<VisualProperty<?>> edgeVP =
util.getVisualPropertySet(CyEdge.class);
- // final Collection<VisualProperty<?>> networkVP =
- //
style.getVisualLexicon().getVisualLexiconNode(TwoDVisualLexicon.NETWORK).getChildren();
+ final Collection<VisualProperty<?>> networkVP =
util.getVisualPropertySet(CyNetwork.class);
Collection<VisualProperty<?>> nodeVPSelected = new
ArrayList<VisualProperty<?>>();
Collection<VisualProperty<?>> edgeVPSelected = new
ArrayList<VisualProperty<?>>();
+ Collection<VisualProperty<?>> networkVPSelected = new
ArrayList<VisualProperty<?>>();
if (PropertySheetUtil.isAdvancedMode()) {
nodeVPSelected = nodeVP;
edgeVPSelected = edgeVP;
+ networkVPSelected = networkVP;
} else {
-
- for (VisualProperty<?> vp : nodeVP) {
- if (PropertySheetUtil.isBasic(vp))
- nodeVPSelected.add(vp);
- }
-
- for (VisualProperty<?> vp : edgeVP) {
- if (PropertySheetUtil.isBasic(vp))
- edgeVPSelected.add(vp);
- }
+ setBasicVP(nodeVP, nodeVPSelected);
+ setBasicVP(edgeVP, edgeVPSelected);
+ setBasicVP(networkVP, networkVPSelected);
}
final List<Property> nodeProps = getProps(style,
BasicVisualLexicon.NODE.getDisplayName(), nodeVPSelected);
final List<Property> edgeProps = getProps(style,
BasicVisualLexicon.EDGE.getDisplayName(), edgeVPSelected);
- // final List<Property> networkProps = setProps(style,
- // TwoDVisualLexicon.NETWORK);
+ final List<Property> networkProps = getProps(style,
BasicVisualLexicon.NETWORK.getDisplayName(), networkVPSelected);
final List<Property> result = new ArrayList<Property>();
result.addAll(nodeProps);
result.addAll(edgeProps);
- // result.addAll(networkProps);
+ result.addAll(networkProps);
return result;
Modified:
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetMouseAdapter.java
===================================================================
---
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetMouseAdapter.java
2012-06-29 18:18:45 UTC (rev 29728)
+++
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetMouseAdapter.java
2012-06-29 18:47:27 UTC (rev 29729)
@@ -45,6 +45,7 @@
import javax.swing.SwingUtilities;
import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNode;
import org.cytoscape.view.model.VisualProperty;
import org.cytoscape.view.presentation.property.BasicVisualLexicon;
@@ -75,6 +76,7 @@
private final PropertyEditor nodeAttributeEditor;
private final PropertyEditor edgeAttributeEditor;
+ private final PropertyEditor networkAttributeEditor;
private final VisualMappingManager vmm;
@@ -93,6 +95,7 @@
this.nodeAttributeEditor =
editorManager.getDataTableComboBoxEditor(CyNode.class);
this.edgeAttributeEditor =
editorManager.getDataTableComboBoxEditor(CyEdge.class);
+ this.networkAttributeEditor =
editorManager.getDataTableComboBoxEditor(CyNetwork.class);
}
@Override
@@ -147,6 +150,9 @@
logger.debug("This is edge prop: " +
vp.getDisplayName());
} else {
// Network prop
+
newProp.setCategory(BasicVisualLexicon.NETWORK.getDisplayName());
+ ((PropertyEditorRegistry)
propertySheetPanel.getTable().getEditorFactory()).registerEditor(newProp,
+ networkAttributeEditor);
logger.debug("This is network prop: " +
vp.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.