Author: kono
Date: 2012-01-05 17:02:19 -0800 (Thu, 05 Jan 2012)
New Revision: 27936

Modified:
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.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/VizMapperMainPanel.java
Log:
fixes #419 Unnecessary Visual Properties will be filtered out in the GUI.

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
    2012-01-06 00:22:14 UTC (rev 27935)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
    2012-01-06 01:02:19 UTC (rev 27936)
@@ -542,14 +542,13 @@
                
                final VisualLexicon lex = currentEngine.getVisualLexicon();
                
-
                for (Class<? extends CyTableEntry> key : vpSets.keySet()) {
                        final DefaultListModel model = new DefaultListModel();
-                       JList list = listMap.get(key);
+                       final JList list = listMap.get(key);
                        
                        list.setModel(model);
                        Set<VisualProperty<?>> vps = vpSets.get(key);
-                       for (VisualProperty<?> vp : vps) {
+                       for(final VisualProperty<?> vp : vps) {
                                
                                // Check supported or not.
                                if(VisualPropertyFilter.isCompatible(vp) == 
false)
@@ -561,6 +560,7 @@
                                        continue;
                                }
                                
+                               // Filter based on dependency:
                                final VisualLexiconNode treeNode = 
lex.getVisualLexiconNode(vp);
                                if(treeNode != null && treeNode.isDepend() == 
false)
                                        model.addElement(vp);
@@ -573,30 +573,8 @@
                        }
                        list.setCellRenderer(renderer);
                }
-
-               // mainView.updateView();
-               // mainView.repaint();
        }
 
-       private void lockSize() {
-               // TODO fix lock function
-               // if (lockNodeSizeCheckBox.isSelected()) {
-               // nodeVp.remove(NODE_WIDTH);
-               // nodeVp.remove(NODE_HEIGHT);
-               // nodeVp.add(NODE_SIZE);
-               // nac.setNodeSizeLocked(true);
-               // } else {
-               // nodeVp.add(NODE_WIDTH);
-               // nodeVp.add(NODE_HEIGHT);
-               // nodeVp.remove(NODE_SIZE);
-               // nac.setNodeSizeLocked(false);
-               // }
-               //
-               // buildList();
-               // mainView.updateView();
-               // repaint();
-       }
-
        
        private final class VisualPropCellRenderer extends JLabel implements 
ListCellRenderer {
 
@@ -689,7 +667,7 @@
 
        @Override
        public void handleEvent(LexiconStateChangedEvent e) {
-               logger.debug("Def editor got Lex event.");
+               logger.debug("Def editor got Lexicon update event.");
                buildList();
                
                mainView.updateView();

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-01-06 00:22:14 UTC (rev 27935)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
       2012-01-06 01:02:19 UTC (rev 27936)
@@ -20,6 +20,7 @@
 import org.cytoscape.model.CyTableEntry;
 import org.cytoscape.model.CyTableManager;
 import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.VisualLexiconNode;
 import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
 import org.cytoscape.view.vizmap.VisualMappingFunction;
@@ -280,20 +281,28 @@
                final Set<VisualLexicon> lexSet = vmm.getAllVisualLexicon();
                for(VisualLexicon lex: lexSet) {
 
-                       for (VisualProperty<?> type : 
lex.getAllVisualProperties()) {
+                       for (final VisualProperty<?> vp : 
lex.getAllVisualProperties()) {
                                
-                               if(VisualPropertyFilter.isCompatible(type) == 
false)
+                               if(VisualPropertyFilter.isCompatible(vp) == 
false)
                                        continue;
                                
                                if (PropertySheetUtil.isAdvancedMode() == 
false) {
-                                       if (PropertySheetUtil.isBasic(type) == 
false)
+                                       if (PropertySheetUtil.isBasic(vp) == 
false)
                                                continue;
                                }
                                
-                               mapping = style.getVisualMappingFunction(type);
+                               mapping = style.getVisualMappingFunction(vp);
        
-                               if (mapping == null && 
lex.getVisualLexiconNode(type).getChildren().size() == 0)
-                                       unusedVisualPropType.add(type);
+                               final VisualLexiconNode treeNode = 
lex.getVisualLexiconNode(vp);
+                               if (mapping == null) {
+                                       if(treeNode != null && 
treeNode.isDepend() == false && treeNode.getChildren().size() == 0)
+                                               unusedVisualPropType.add(vp);
+                                       else if(treeNode.isDepend()) {
+                                               final VisualProperty<?> 
parentVP = treeNode.getParent().getVisualProperty();
+                                               
if(unusedVisualPropType.contains(parentVP) == false)
+                                                       
unusedVisualPropType.add(parentVP);
+                                       }
+                               }
        
                                mapping = null;
                        }

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
       2012-01-06 00:22:14 UTC (rev 27935)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
       2012-01-06 01:02:19 UTC (rev 27936)
@@ -73,6 +73,8 @@
 import org.cytoscape.view.vizmap.gui.DefaultViewPanel;
 import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
 import org.cytoscape.view.vizmap.gui.editor.EditorManager;
+import org.cytoscape.view.vizmap.gui.event.LexiconStateChangedEvent;
+import org.cytoscape.view.vizmap.gui.event.LexiconStateChangedListener;
 import org.cytoscape.view.vizmap.gui.event.SelectedVisualStyleSwitchedEvent;
 import org.cytoscape.view.vizmap.gui.event.SelectedVisualStyleSwitchedListener;
 import 
org.cytoscape.view.vizmap.gui.internal.task.ImportDefaultVizmapTaskFactory;
@@ -100,7 +102,7 @@
  */
 public class VizMapperMainPanel extends AbstractVizMapperPanel implements 
VisualStyleAddedListener,
                VisualStyleAboutToBeRemovedListener, PopupMenuListener, 
NetworkViewAddedListener, CytoPanelComponent,
-               SelectedVisualStyleSwitchedListener, 
SetCurrentRenderingEngineListener, PropertyChangeListener {
+               SelectedVisualStyleSwitchedListener, 
SetCurrentRenderingEngineListener, PropertyChangeListener, 
LexiconStateChangedListener {
 
        private final static long serialVersionUID = 1202339867854959L;
 
@@ -477,4 +479,12 @@
                        switchVS(manager.getCurrentVisualStyle(), true);
 
        }
+
+       @Override
+       public void handleEvent(LexiconStateChangedEvent e) {
+               logger.warn("Main panel got Lexicon update event.");
+               
vizMapPropertySheetBuilder.setPropertyTable(manager.getCurrentVisualStyle());
+               // Set the default view to the panel.
+               propertySheetPanel.setSorting(true);
+       }
 }

-- 
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