Author: kono
Date: 2011-07-18 14:39:09 -0700 (Mon, 18 Jul 2011)
New Revision: 26203

Added:
   
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/VisualPropertyDependencyManager.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyManager.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManagerImpl.java
Removed:
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManager.java
Modified:
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTable.java
   
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTableModel.java
   
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
   
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
Log:
refs #259 This is not a complete fix, but now dependency is visual style local. 
 We need to change Visual Style API.

Added: 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/VisualPropertyDependencyManager.java
===================================================================
--- 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/VisualPropertyDependencyManager.java
                         (rev 0)
+++ 
core3/vizmap-gui-api/trunk/src/main/java/org/cytoscape/view/vizmap/gui/VisualPropertyDependencyManager.java
 2011-07-18 21:39:09 UTC (rev 26203)
@@ -0,0 +1,9 @@
+package org.cytoscape.view.vizmap.gui;
+
+import java.util.Collection;
+
+public interface VisualPropertyDependencyManager {
+       
+       Collection<VisualPropertyDependency> getDependencies();
+       
+}

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
 2011-07-18 21:22:31 UTC (rev 26202)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DefaultViewEditorImpl.java
 2011-07-18 21:39:09 UTC (rev 26203)
@@ -40,6 +40,7 @@
 import java.util.Collection;
 import java.util.Comparator;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
@@ -50,12 +51,12 @@
 import javax.swing.JDialog;
 import javax.swing.JLabel;
 import javax.swing.JList;
-import javax.swing.JPanel;
 import javax.swing.LayoutStyle;
 import javax.swing.ListCellRenderer;
 import javax.swing.SwingConstants;
 import javax.swing.SwingUtilities;
 
+import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
@@ -71,6 +72,8 @@
 import org.cytoscape.view.vizmap.VisualStyle;
 import org.cytoscape.view.vizmap.gui.DefaultViewEditor;
 import org.cytoscape.view.vizmap.gui.SelectedVisualStyleManager;
+import org.cytoscape.view.vizmap.gui.VisualPropertyDependency;
+import org.cytoscape.view.vizmap.gui.VisualPropertyDependencyManager;
 import org.cytoscape.view.vizmap.gui.editor.EditorManager;
 import org.cytoscape.view.vizmap.gui.event.LexiconStateChangedEvent;
 import org.cytoscape.view.vizmap.gui.event.LexiconStateChangedListener;
@@ -120,7 +123,12 @@
        
        private final DefaultViewPanelImpl mainView;
        
-       private final DependencyTable depTable;
+       private final VisualPropertyDependencyManager depManager;
+       private final CyEventHelper cyEventHelper;
+       
+       private DependencyTable depTable;
+       
+       private final Map<VisualStyle, Map<VisualPropertyDependency, Boolean>> 
depMap;
 
        /**
         * Creates a new DefaultAppearenceBuilder object.
@@ -135,7 +143,7 @@
                        final CyApplicationManager cyApplicationManager,
                        final VisualMappingManager vmm,
                        final SelectedVisualStyleManager selectedManager,
-                       final VizMapperUtil util, final DependencyTable 
depTable) {
+                       final VizMapperUtil util, final 
VisualPropertyDependencyManager depManager, final CyEventHelper cyEventHelper) {
                super();
                
                if(mainView == null)
@@ -144,8 +152,11 @@
                if(vmm == null)
                        throw new NullPointerException("Visual Mapping Manager 
is null.");
                
-               this.depTable = depTable;
+               this.depManager = depManager;
+               this.cyEventHelper = cyEventHelper;
                
+               depMap = new HashMap<VisualStyle, Map<VisualPropertyDependency, 
Boolean>>();
+               
                this.vmm = vmm;
                this.util = util;
                this.selectedManager = selectedManager;
@@ -224,12 +235,56 @@
        @Override public void showEditor(Component parent) {
                updateVisualPropertyLists();
                buildList();
+               
+               updateDependencyTable();
 
                mainView.updateView();
                setSize(900, 450);
                setLocationRelativeTo(parent);
                setVisible(true);
        }
+       
+       
+       
+       private void updateDependencyTable() {
+               
+               final VisualStyle selectedStyle = 
selectedManager.getCurrentVisualStyle();
+               Map<VisualPropertyDependency, Boolean> depStateMap = 
depMap.get(selectedStyle);
+               
+               final Collection<VisualPropertyDependency> depList = 
depManager.getDependencies();
+               final DependencyTableModel depTableModel = new 
DependencyTableModel();
+               
+               if (depStateMap == null) {
+                       logger.info("!!VS NOT Found: " + 
selectedStyle.getTitle());
+                       
+                       depStateMap = new HashMap<VisualPropertyDependency, 
Boolean>();
+                       
+                       for (VisualPropertyDependency dep : 
depManager.getDependencies()) {
+                               final Object[] newRow = new Object[2];
+                               newRow[0] = false;
+                               newRow[1] = dep.getDisplayName();
+                               depTableModel.addRow(newRow);
+                               
+                               depStateMap.put(dep, false);
+                       }
+               } else {
+                       logger.info("***VS Found: " + selectedStyle.getTitle());
+                       
+                       for (VisualPropertyDependency dep : 
depStateMap.keySet()) {
+                               final Object[] newRow = new Object[2];
+                               newRow[0] = depStateMap.get(dep);
+                               newRow[1] = dep.getDisplayName();
+                               depTableModel.addRow(newRow);
+                       }
+               }
+               depTable = new DependencyTable(cyApplicationManager, 
cyEventHelper, depTableModel,
+                               (List<VisualPropertyDependency>) depList, 
depStateMap);
+               depMap.put(selectedStyle, depStateMap);
+               dependencyScrollPane.setViewportView(depTable);
+               depTable.repaint();
+               
+               logger.info("Row count = " + depTable.getModel().getRowCount());
+       }
 
 
        /**

Added: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyManager.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyManager.java
                             (rev 0)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyManager.java
     2011-07-18 21:39:09 UTC (rev 26203)
@@ -0,0 +1,6 @@
+package org.cytoscape.view.vizmap.gui.internal;
+
+public class DependencyManager {
+       
+
+}

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTable.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTable.java
       2011-07-18 21:22:31 UTC (rev 26202)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTable.java
       2011-07-18 21:39:09 UTC (rev 26203)
@@ -3,8 +3,6 @@
 import java.awt.Font;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -26,28 +24,34 @@
 
        private static final long serialVersionUID = -8052559216229363239L;
 
-       private static final Logger logger = LoggerFactory
-                       .getLogger(DependencyTable.class);
+       private static final Logger logger = 
LoggerFactory.getLogger(DependencyTable.class);
 
        private final DefaultTableModel model;
 
        private final List<VisualPropertyDependency> depList;
        private final CyApplicationManager appManager;
-       
+
        final CyEventHelper cyEventHelper;
+       
+       private final Map<VisualPropertyDependency, Boolean> depStateMap;
 
-       public DependencyTable(final CyApplicationManager appManager, final 
CyEventHelper cyEventHelper) {
+       public DependencyTable(final CyApplicationManager appManager, final 
CyEventHelper cyEventHelper,
+                       final DefaultTableModel model, final 
List<VisualPropertyDependency> depList,
+                       Map<VisualPropertyDependency, Boolean> depStateMap) {
                if (appManager == null)
                        throw new NullPointerException();
+               if (cyEventHelper == null)
+                       throw new NullPointerException();
+               if (model == null)
+                       throw new NullPointerException();
 
                this.appManager = appManager;
                this.cyEventHelper = cyEventHelper;
-
-               model = new DependencyTableModel();
+               this.model = model;
+               this.depList = depList;
+               this.depStateMap = depStateMap;
                this.setModel(model);
 
-               this.depList = new ArrayList<VisualPropertyDependency>();
-
                setAppearence();
 
                this.addMouseListener(new MouseAdapter() {
@@ -65,38 +69,20 @@
                final int selected = this.getSelectedRow();
                final VisualPropertyDependency dep = depList.get(selected);
                final boolean isDepend = (Boolean) model.getValueAt(selected, 
0);
+               
+               depStateMap.put(dep, isDepend);
 
-               logger.debug("Updating Dep: " + isDepend);
-
-               final VisualLexicon lexicon = 
appManager.getCurrentRenderingEngine()
-                               .getVisualLexicon();
-
-               // Validate
+               final VisualLexicon lexicon = 
appManager.getCurrentRenderingEngine().getVisualLexicon();
                final Set<VisualProperty<?>> group = dep.getVisualProperties();
-//             VisualProperty<?> oldParent = null;
-//             for (final VisualProperty<?> vp : group) {
-//                     VisualProperty<?> parent = 
lexicon.getVisualLexiconNode(vp)
-//                                     .getParent().getVisualProperty();
-//                     logger.debug("VP: " + vp.getDisplayName() + " => "
-//                                     + parent.getDisplayName());
-//                     if (oldParent != null && parent != oldParent)
-//                             throw new IllegalStateException(
-//                                             "Dependency is pointing to 
different parents.");
-//                     else
-//                             oldParent = parent;
-//             }
 
-               for (final VisualProperty<?> vp : group) {
+               for (final VisualProperty<?> vp : group)
                        
lexicon.getVisualLexiconNode(vp).setDependency(isDepend);
-               }
-               
+
                // Update other GUI component
-               if(isDepend) {
+               if (isDepend)
                        this.cyEventHelper.fireEvent(new 
LexiconStateChangedEvent(this, null, group));
-               } else {
+               else
                        this.cyEventHelper.fireEvent(new 
LexiconStateChangedEvent(this, group, null));
-               }
-
        }
 
        private void setAppearence() {
@@ -113,20 +99,4 @@
 
                this.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        }
-
-       public void addDependency(final VisualPropertyDependency dep, Map 
props) {
-               logger.debug("------------ New Dependency: " + 
dep.getDisplayName());
-               final Object[] newRow = new Object[2];
-               newRow[0] = false;
-               newRow[1] = dep.getDisplayName();
-
-               model.addRow(newRow);
-               depList.add(dep);
-
-       }
-
-       public void removeDependency(final VisualPropertyDependency dep, Map 
props) {
-
-       }
-
 }

Modified: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTableModel.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTableModel.java
  2011-07-18 21:22:31 UTC (rev 26202)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/DependencyTableModel.java
  2011-07-18 21:39:09 UTC (rev 26203)
@@ -6,9 +6,7 @@
 
        private static final long serialVersionUID = 1014856844094238247L;
 
-       private static final Class<?>[] types = new Class[] { 
java.lang.Boolean.class,
-               java.lang.String.class};
-       
+       private static final Class<?>[] types = new Class[] { 
java.lang.Boolean.class, java.lang.String.class };
        private static final String[] colNames = new String[] { "Enable", 
"Description" };
        
        private static final boolean[] canEdit = new boolean[] { true, false };

Deleted: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManager.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManager.java
       2011-07-18 21:22:31 UTC (rev 26202)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManager.java
       2011-07-18 21:39:09 UTC (rev 26203)
@@ -1,5 +0,0 @@
-package org.cytoscape.view.vizmap.gui.internal;
-
-public class VisualPropertyDependencyManager {
-
-}

Added: 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManagerImpl.java
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManagerImpl.java
                           (rev 0)
+++ 
core3/vizmap-gui-impl/trunk/src/main/java/org/cytoscape/view/vizmap/gui/internal/VisualPropertyDependencyManagerImpl.java
   2011-07-18 21:39:09 UTC (rev 26203)
@@ -0,0 +1,38 @@
+package org.cytoscape.view.vizmap.gui.internal;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import org.cytoscape.view.vizmap.gui.VisualPropertyDependency;
+import org.cytoscape.view.vizmap.gui.VisualPropertyDependencyManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class VisualPropertyDependencyManagerImpl implements 
VisualPropertyDependencyManager {
+       
+       private static final Logger logger = 
LoggerFactory.getLogger(VisualPropertyDependencyManagerImpl.class);
+       
+       private final List<VisualPropertyDependency> depList;
+       
+       VisualPropertyDependencyManagerImpl() {
+               this.depList = new ArrayList<VisualPropertyDependency>();
+       }
+
+       @Override
+       public Collection<VisualPropertyDependency> getDependencies() {
+               return depList;
+       }
+       
+       public void addDependency(final VisualPropertyDependency dep, 
@SuppressWarnings("rawtypes") Map props) {
+               logger.info("@@@@@@@@@@@@ New Dependency: " + 
dep.getDisplayName());
+               depList.add(dep);
+       }
+
+       public void removeDependency(final VisualPropertyDependency dep, 
@SuppressWarnings("rawtypes") Map props) {
+               logger.debug("Removing Dependency: " + dep.getDisplayName());
+               depList.remove(dep);
+       }
+
+}

Modified: 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
    2011-07-18 21:22:31 UTC (rev 26202)
+++ 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi-vizmapper.xml
    2011-07-18 21:39:09 UTC (rev 26203)
@@ -250,12 +250,11 @@
        <!-- Default dependencies -->
        <osgi:service id="nodeSizeDepService" ref="nodeSizeDep" 
auto-export="interfaces" />
        
-       <osgi:set id="dependencySet"
+       <osgi:set id="vpDependencySet"
                
interface="org.cytoscape.view.vizmap.gui.VisualPropertyDependency"
                cardinality="0..N"  >
                <osgi:listener bind-method="addDependency"
-                       unbind-method="removeDependency" ref="dependencyTable" 
/>
-                       
+                       unbind-method="removeDependency" 
ref="vpDependencyManager" />
        </osgi:set>
        
        <osgi:set id="renderingEngineFactorySet"

Modified: 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
===================================================================
--- 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
 2011-07-18 21:22:31 UTC (rev 26202)
+++ 
core3/vizmap-gui-impl/trunk/src/main/resources/META-INF/spring/bundle-context-vizmapper.xml
 2011-07-18 21:39:09 UTC (rev 26203)
@@ -198,10 +198,6 @@
                <constructor-arg ref="selectedVisualStyleManager" />
        </bean>
 
-       <bean id="dependencyTable" 
class="org.cytoscape.view.vizmap.gui.internal.DependencyTable">
-               <constructor-arg ref="cyApplicationManagerServiceRef" />
-               <constructor-arg ref="cyEventHelperServiceRef" />
-       </bean>
                
        <bean id="nodeSizeDep" 
class="org.cytoscape.view.vizmap.gui.dependency.NodeSizeDependency" />
        
@@ -215,7 +211,8 @@
                <constructor-arg ref="vmmServiceRef" />
                <constructor-arg ref="selectedVisualStyleManager" />
                <constructor-arg ref="vizMapperUtil" />
-               <constructor-arg ref="dependencyTable" />
+               <constructor-arg ref="vpDependencyManager" />
+               <constructor-arg ref="cyEventHelperServiceRef" />
        </bean>
 
 
@@ -361,5 +358,9 @@
        <bean id="importDefaultVizmapTaskFactory" 
class="org.cytoscape.view.vizmap.gui.internal.task.ImportDefaultVizmapTaskFactory">
                <constructor-arg ref="vizmapReaderManagerServiceRef"/>
                <constructor-arg ref="vmmServiceRef"/>
+       </bean>
+       
+       
+       <bean id="vpDependencyManager" 
class="org.cytoscape.view.vizmap.gui.internal.VisualPropertyDependencyManagerImpl">
        </bean>
 </beans>

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