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.

Reply via email to