Author: kono
Date: 2011-10-17 10:36:20 -0700 (Mon, 17 Oct 2011)
New Revision: 27201

Added:
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/PropertySheetUtil.java
   
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SetViewModeAction.java
Modified:
   core3/impl/trunk/vizmap-gui-impl/pom.xml
   
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/VizMapPropertySheetBuilder.java
   
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/action/AbstractVizMapperAction.java
Log:
fixes #421 Filter for visual properties had been implemented.  Users can 
show/hide "advanced" visual properties from View menu.

Modified: core3/impl/trunk/vizmap-gui-impl/pom.xml
===================================================================
--- core3/impl/trunk/vizmap-gui-impl/pom.xml    2011-10-17 16:28:40 UTC (rev 
27200)
+++ core3/impl/trunk/vizmap-gui-impl/pom.xml    2011-10-17 17:36:20 UTC (rev 
27201)
@@ -13,7 +13,6 @@
        </properties>
 
        <modelVersion>4.0.0</modelVersion>
-       <groupId>org.cytoscape</groupId>
        <artifactId>vizmap-gui-impl</artifactId>
 
        <name>${bundle.symbolicName}</name>

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
      2011-10-17 16:28:40 UTC (rev 27200)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/CyActivator.java
      2011-10-17 17:36:20 UTC (rev 27201)
@@ -128,6 +128,9 @@
                VizMapEventHandlerManagerImpl vizMapEventHandlerManager = new 
VizMapEventHandlerManagerImpl(selectedVisualStyleManager,editorManager,vizMapPropertySheetBuilder,propertySheetPanel,vizMapperMainPanel,cyNetworkTableManagerServiceRef,cyApplicationManagerServiceRef,attributeSetManager,vizMapperUtil);
                BypassManager bypassManager = new 
BypassManager(cyServiceRegistrarServiceRef,editorManager,selectedVisualStyleManager);
                
+               SetViewModeAction viewModeAction = new 
SetViewModeAction(cyApplicationManagerServiceRef, vizMapperMainPanel, 
selectedVisualStyleManager);
+               registerAllServices(bc,viewModeAction, new Properties());
+               
                registerAllServices(bc,selectedVisualStyleManager, new 
Properties());
                registerAllServices(bc,attributeSetManager, new Properties());
                registerAllServices(bc,vizMapperMainPanel, new Properties());

Added: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/PropertySheetUtil.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/PropertySheetUtil.java
                                (rev 0)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/PropertySheetUtil.java
        2011-10-17 17:36:20 UTC (rev 27201)
@@ -0,0 +1,46 @@
+package org.cytoscape.view.vizmap.gui.internal;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.cytoscape.view.model.VisualProperty;
+import org.cytoscape.view.presentation.property.RichVisualLexicon;
+
+public final class PropertySheetUtil {
+       
+       private static final Set<VisualProperty<?>> BASIC_PROPS = new 
HashSet<VisualProperty<?>>();
+       
+       private static boolean mode = false;
+       
+       // Preset Basic Properties
+       static {
+               BASIC_PROPS.add(RichVisualLexicon.NODE_FILL_COLOR);
+               BASIC_PROPS.add(RichVisualLexicon.NODE_SHAPE);
+               BASIC_PROPS.add(RichVisualLexicon.NODE_WIDTH);
+               BASIC_PROPS.add(RichVisualLexicon.NODE_HEIGHT);
+               BASIC_PROPS.add(RichVisualLexicon.NODE_LABEL);
+               BASIC_PROPS.add(RichVisualLexicon.NODE_BORDER_PAINT);
+               BASIC_PROPS.add(RichVisualLexicon.NODE_BORDER_WIDTH);
+               
+               BASIC_PROPS.add(RichVisualLexicon.EDGE_STROKE_UNSELECTED_PAINT);
+               BASIC_PROPS.add(RichVisualLexicon.EDGE_WIDTH);
+               BASIC_PROPS.add(RichVisualLexicon.EDGE_LABEL);
+               BASIC_PROPS.add(RichVisualLexicon.EDGE_LINE_TYPE);
+       }
+       
+       public static boolean isBasic(final VisualProperty<?> vp) {
+               if(BASIC_PROPS.contains(vp))
+                       return true;
+               else
+                       return false;
+       }
+       
+       public static boolean isAdvancedMode() {
+               return mode;
+       }
+       
+       public static void setMode(boolean advanced) {
+               mode = advanced;
+       }
+
+}

Added: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SetViewModeAction.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SetViewModeAction.java
                                (rev 0)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/SetViewModeAction.java
        2011-10-17 17:36:20 UTC (rev 27201)
@@ -0,0 +1,53 @@
+package org.cytoscape.view.vizmap.gui.internal;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.Action;
+import javax.swing.event.MenuEvent;
+
+import org.cytoscape.application.CyApplicationManager;
+import org.cytoscape.application.swing.AbstractCyAction;
+import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+
+public class SetViewModeAction extends AbstractCyAction {
+
+       private final static String BASIC = "Show All Visual Properties";
+       private final static String ALL = "Hide Advanced Visual Proeprties";
+       
+       private VizMapperMainPanel mainPanel;
+       final SelectedVisualStyleManager manager;
+
+       public SetViewModeAction(final CyApplicationManager applicationManager, 
VizMapperMainPanel mainPanel, final SelectedVisualStyleManager manager) {
+               super(BASIC, applicationManager);
+               this.mainPanel = mainPanel;
+               this.manager = manager;
+               
+               PropertySheetUtil.setMode(false);
+
+               setPreferredMenu("View");
+               setMenuGravity(25.0f);
+       }
+
+       /**
+        * Toggles the Show/Hide state.
+        * 
+        * @param ev
+        *            Triggering event - not used.
+        */
+       public void actionPerformed(ActionEvent ev) {
+               // TODO: DO NOT CALL apply
+               mainPanel.switchVS(manager.getCurrentVisualStyle(), true);
+       }
+
+       @Override
+       public void menuSelected(MenuEvent me) {
+
+               if (PropertySheetUtil.isAdvancedMode()) {
+                       putValue(Action.NAME, ALL);
+                       PropertySheetUtil.setMode(false);
+               } else {
+                       putValue(Action.NAME, BASIC);
+                       PropertySheetUtil.setMode(true);
+               }
+       }
+}

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
       2011-10-17 16:28:40 UTC (rev 27200)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapPropertySheetBuilder.java
       2011-10-17 17:36:20 UTC (rev 27201)
@@ -232,11 +232,33 @@
                final Collection<VisualProperty<?>> edgeVP = 
util.getVisualPropertySet(CyEdge.class);
                //final Collection<VisualProperty<?>> networkVP = 
style.getVisualLexicon().getVisualLexiconNode(TwoDVisualLexicon.NETWORK).getChildren();
                
-               final List<Property> nodeProps = getProps(style, 
MinimalVisualLexicon.NODE.getDisplayName(), nodeVP);
-               final List<Property> edgeProps = getProps(style, 
MinimalVisualLexicon.EDGE.getDisplayName(), edgeVP);
+               Collection<VisualProperty<?>> nodeVPSelected = new 
ArrayList<VisualProperty<?>>();
+               Collection<VisualProperty<?>> edgeVPSelected = new 
ArrayList<VisualProperty<?>>();
+
+               if (PropertySheetUtil.isAdvancedMode()) {
+                       nodeVPSelected = nodeVP;
+                       edgeVPSelected = edgeVP;
+               } else {
+
+                       for (VisualProperty<?> vp : nodeVP) {
+                               if (PropertySheetUtil.isBasic(vp))
+                                       nodeVPSelected.add(vp);
+                       }
+
+                       for (VisualProperty<?> vp : edgeVP) {
+                               if (PropertySheetUtil.isBasic(vp))
+                                       edgeVPSelected.add(vp);
+                       }
+               }
+               
+               
+               final List<Property> nodeProps = getProps(style, 
MinimalVisualLexicon.NODE.getDisplayName(), nodeVPSelected);
+               final List<Property> edgeProps = getProps(style, 
MinimalVisualLexicon.EDGE.getDisplayName(), edgeVPSelected);
                //final List<Property> networkProps = setProps(style, 
TwoDVisualLexicon.NETWORK);
                
                final List<Property> result = new ArrayList<Property>();
+               
+               
                result.addAll(nodeProps);
                result.addAll(edgeProps);
                //result.addAll(networkProps);
@@ -315,6 +337,11 @@
                for(VisualLexicon lex: lexSet) {
 
                        for (VisualProperty<?> type : 
lex.getAllVisualProperties()) {
+                               if (PropertySheetUtil.isAdvancedMode() == 
false) {
+                                       if (PropertySheetUtil.isBasic(type) == 
false)
+                                               continue;
+                               }
+                               
                                mapping = style.getVisualMappingFunction(type);
        
                                if (mapping == null && 
lex.getVisualLexiconNode(type).getChildren().size() == 0)

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
       2011-10-17 16:28:40 UTC (rev 27200)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/VizMapperMainPanel.java
       2011-10-17 17:36:20 UTC (rev 27201)
@@ -36,13 +36,7 @@
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
 
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
@@ -63,12 +57,10 @@
 import org.cytoscape.model.events.NetworkAddedEvent;
 import org.cytoscape.model.events.NetworkAddedListener;
 import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.model.events.NetworkViewAddedEvent;
 import org.cytoscape.view.model.events.NetworkViewAddedListener;
 import org.cytoscape.view.presentation.RenderingEngine;
 import org.cytoscape.view.presentation.property.MinimalVisualLexicon;
-import org.cytoscape.view.vizmap.VisualMappingFunction;
 import org.cytoscape.view.vizmap.VisualMappingManager;
 import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.VisualStyleFactory;
@@ -200,7 +192,7 @@
                switchVS(style, false);
        }
 
-       private void switchVS(final VisualStyle style, boolean forceUpdate) {
+       protected void switchVS(final VisualStyle style, boolean forceUpdate) {
 
                logger.debug("######## Switching VS start: " + 
style.getTitle());
                
@@ -211,65 +203,14 @@
                // Close editor windows
                editorWindowManager.closeAllEditorWindows();
 
-               final List<Property> props = 
vizMapPropertySheetBuilder.getPropertyList(style);
-               if (props.size() != 0) {
-                       logger.debug("######## Style exists in buffer: " + 
style.getTitle());
+               logger.debug("######## Need to create new prop sheet: " + 
style.getTitle());
+               vizMapPropertySheetBuilder.setPropertyTable(style);
+               updateAttributeList();
 
-                       // Validate consistency
-                       Collection<VisualMappingFunction<?, ?>> mappings = 
style.getAllVisualMappingFunctions();
-                       final Set<VisualProperty<?>> hasMap = new 
HashSet<VisualProperty<?>>();
-                       for(VisualMappingFunction map: mappings)
-                               hasMap.add(map.getVisualProperty());
-
-                       boolean needUpdate = false;
-                       int unusedCount = 0;
-                       for (Property prop : props) {
-                               if 
(prop.getCategory().startsWith(CATEGORY_UNUSED)) {
-                                       logger.debug("######## unused Prop VAL 
= " + ((VizMapperProperty)prop).getInternalValue());
-                                       unusedCount++;
-                               }                               
-                       }
-                       
-                       if (unusedCount == props.size()) {
-                               
vizMapPropertySheetBuilder.setPropertyTable(style);
-                               updateAttributeList();
-                       } else {
-
-                               final Map<String, Property> unused = new 
TreeMap<String, Property>();
-
-                               // Remove all from current table
-                               for (Property item : 
propertySheetPanel.getProperties())
-                                       propertySheetPanel.removeProperty(item);
-
-                               /*
-                                * Add properties to current property sheet.
-                                */
-                               for (Property prop : props) {
-                                       logger.debug("<Prop> " + 
prop.getDisplayName());
-                                       if 
(prop.getCategory().startsWith(CATEGORY_UNUSED) == false) {
-                                               
propertySheetPanel.addProperty(prop);
-                                       } else {
-                                               
unused.put(prop.getDisplayName(), prop);
-                                       }
-                               }
-
-                               final List<String> keys = new 
ArrayList<String>(unused.keySet());
-                               Collections.sort(keys);
-
-                               for (Object key : keys)
-                                       
propertySheetPanel.addProperty(unused.get(key));
-
-                       }
-               } else {
-                       logger.debug("######## Need to create new prop sheet: " 
+ style.getTitle());
-                       vizMapPropertySheetBuilder.setPropertyTable(style);
-                       updateAttributeList();
-               }
-
                // Apply style to the current network view.
                final CyNetworkView currentView = 
applicationManager.getCurrentNetworkView();
 
-               if (currentView != null) {
+               if (currentView != null && 
style.equals(manager.getCurrentVisualStyle()) == false) {
                        SwingUtilities.invokeLater(new Runnable() {
                                public void run() {
                                        vmm.setVisualStyle((VisualStyle) 
visualStyleComboBox.getModel().getSelectedItem(), currentView);

Modified: 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/action/AbstractVizMapperAction.java
===================================================================
--- 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/action/AbstractVizMapperAction.java
   2011-10-17 16:28:40 UTC (rev 27200)
+++ 
core3/impl/trunk/vizmap-gui-impl/src/main/java/org/cytoscape/view/vizmap/gui/internal/action/AbstractVizMapperAction.java
   2011-10-17 17:36:20 UTC (rev 27201)
@@ -79,10 +79,8 @@
        
        protected PropertySheetPanel propertySheetPanel;
        
-       
        protected EditorWindowManager editorWindowManager;
        
-       
        protected Properties vizmapUIResource;
        
        protected String menuLabel;

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