Author: clopes
Date: 2012-05-18 10:27:19 -0700 (Fri, 18 May 2012)
New Revision: 29297

Modified:
   
core3/api/trunk/session-api/src/main/java/org/cytoscape/session/events/SessionAboutToBeSavedEvent.java
   
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
   
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   core3/impl/trunk/session-impl/integration-test/
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   core3/samples/trunk/sample28/feature/
Log:
Fixes #1013 : The target of Network tab's context menu is 
confusing--Right-clicking a list item that is not selected deselects all items 
and selects the right-clicked one only.
CyApplicationManagerImpl now fires a SetCurrentNetworkEvent if changing the 
current view also changes the current network.
Other minor improvements.

Modified: 
core3/api/trunk/session-api/src/main/java/org/cytoscape/session/events/SessionAboutToBeSavedEvent.java
===================================================================
--- 
core3/api/trunk/session-api/src/main/java/org/cytoscape/session/events/SessionAboutToBeSavedEvent.java
      2012-05-18 16:51:14 UTC (rev 29296)
+++ 
core3/api/trunk/session-api/src/main/java/org/cytoscape/session/events/SessionAboutToBeSavedEvent.java
      2012-05-18 17:27:19 UTC (rev 29297)
@@ -22,7 +22,6 @@
        
        private final Map<String,List<File>> appFileListMap;
        
-       // TODO should the source be the session manager??
        /**
         * Constructor.
         * @param source The {@link CySessionManager} that will be saving the 
session.

Modified: 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
===================================================================
--- 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
    2012-05-18 16:51:14 UTC (rev 29296)
+++ 
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
    2012-05-18 17:27:19 UTC (rev 29297)
@@ -72,7 +72,9 @@
                                                  
NetworkViewAboutToBeDestroyedListener,
                                                                                
                 NetworkAddedListener,
                                                                                
                 NetworkViewAddedListener {
+       
        private static final Logger logger = 
LoggerFactory.getLogger(CyApplicationManagerImpl.class);
+       
        private final CyEventHelper cyEventHelper;
        private final CyNetworkManager networkManager;
        private final CyNetworkViewManager networkViewManager;
@@ -92,21 +94,18 @@
                this.networkViewManager = networkViewManager;
 
                selectedNetworkViews = new LinkedList<CyNetworkView>();
-               currentNetwork = null;
-               currentNetworkView = null;
-               this.currentRenderer = null;
        }
 
        @Override
        public void handleEvent(final NetworkViewAddedEvent event) {
-               if (!event.getNetworkView().equals( currentNetworkView ))
-                       setCurrentNetworkView( event.getNetworkView() );
+               if (!event.getNetworkView().equals(currentNetworkView))
+                       setCurrentNetworkView(event.getNetworkView());
        }
 
        @Override
        public void handleEvent(final NetworkAddedEvent event) {
-               if (!event.getNetwork().equals( currentNetwork ))
-                       setCurrentNetwork( event.getNetwork() );
+               if (!event.getNetwork().equals(currentNetwork))
+                       setCurrentNetwork(event.getNetwork());
        }
 
        @Override
@@ -151,15 +150,23 @@
                        logger.info("Set current network called: " + network);
                        changed = (network == null && currentNetwork != null) 
|| (network != null && !network.equals(currentNetwork));
                        
-                       currentNetwork = network; 
-                       
-                       if (network != null) {
-                               final Collection<CyNetworkView> views = 
networkViewManager.getNetworkViews(network);
-                               currentNetworkView = views.isEmpty() ? null : 
views.iterator().next();
-                               // reset selected networks
-                               selectNetworks(Arrays.asList(new CyNetwork[]{ 
network }));
-                       } else {
-                               currentNetworkView = null;
+                       if (changed) {
+                               currentNetwork = network;
+                               
+                               if (network != null) {
+                                       // set new current network view?
+                                       final Collection<CyNetworkView> views = 
networkViewManager.getNetworkViews(network);
+                                       final CyNetworkView nv = 
views.isEmpty() ? null : views.iterator().next();
+                                       
+                                       if (nv != currentNetworkView)
+                                               setCurrentNetworkView(nv);
+                                       
+                                       // reset selected networks
+                                       selectNetworks(Arrays.asList(new 
CyNetwork[]{ network }));
+                               } else {
+                                       if (currentNetworkView != null)
+                                               setCurrentNetworkView(null);
+                               }
                        }
                }
 
@@ -185,14 +192,18 @@
                        logger.debug("Set current network view called: " + 
view);
 
                        changed = (view == null && currentNetworkView != null) 
|| (view != null && !view.equals(currentNetworkView));
-                       currentNetworkView = view;
 
-                       // reset selected network views
-                       selectedNetworkViews.clear();
-                       
-                       if (view != null) {
-                               selectedNetworkViews.add(currentNetworkView);
-                               setCurrentNetwork(view.getModel());
+                       if (changed) {
+                               currentNetworkView = view;
+                               // reset selected network views
+                               selectedNetworkViews.clear();
+                               
+                               if (view != null) {
+                                       selectedNetworkViews.add(view);
+                                       
+                                       if 
(!view.getModel().equals(currentNetwork))
+                                               
setCurrentNetwork(view.getModel());
+                               }
                        }
                }
 

Modified: 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
--- 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-05-18 16:51:14 UTC (rev 29296)
+++ 
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
   2012-05-18 17:27:19 UTC (rev 29297)
@@ -36,6 +36,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -239,7 +240,7 @@
        @Override
        public void setCurrentSession(CySession sess, final String fileName) {
                boolean emptySession = sess == null;
-
+               
                // Always remove the current session first
                disposeCurrentSession(!emptySession);
 
@@ -403,18 +404,31 @@
        private void restoreNetworkSelection(final CySession sess, final 
List<CyNetwork> selectedNets) {
                // If the current view/network was not set, set the first 
selected network as current
                if (!selectedNets.isEmpty()) {
-                       appMgr.setCurrentNetwork(selectedNets.get(0));
-               } else {
-                       final Set<CyNetwork> allNets = sess.getNetworks();
+                       final CyNetwork cn = selectedNets.get(0);
+                       appMgr.setCurrentNetwork(cn);
                        
-                       if (!allNets.isEmpty())
-                               
appMgr.setCurrentNetwork(allNets.iterator().next());
-               }
+                       // Also set the current view, if there is one
+                       final Collection<CyNetworkView> cnViews = 
nvMgr.getNetworkViews(cn);
+                       CyNetworkView cv = cnViews.isEmpty() ? null : 
cnViews.iterator().next();
                        
+                       if (cv == null) {
+                               // The current network has no view, so try to 
get the next existing view of the network selection
+                               for (final CyNetwork n : selectedNets) {
+                                       final Collection<CyNetworkView> views = 
nvMgr.getNetworkViews(n);
+                                       
+                                       if (!views.isEmpty()) {
+                                               cv = views.iterator().next();
+                                               break;
+                                       }
+                               }
+                       }
+                       
+                       appMgr.setCurrentNetworkView(cv);
                
-               // The selected networks must be set after setting the current 
one!
-               if (!selectedNets.isEmpty())
-                       appMgr.setSelectedNetworks(selectedNets);
+                       // The selected networks must be set after setting the 
current one!
+                       if (!selectedNets.isEmpty())
+                               appMgr.setSelectedNetworks(selectedNets);
+               }
        }
 
        private void disposeCurrentSession(boolean removeVisualStyles) {


Property changes on: core3/impl/trunk/session-impl/integration-test
___________________________________________________________________
Modified: svn:ignore
   - target

   + target
.settings
.classpath
.project


Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
 2012-05-18 16:51:14 UTC (rev 29296)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
 2012-05-18 17:27:19 UTC (rev 29297)
@@ -36,6 +36,7 @@
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Enumeration;
 import java.util.HashMap;
@@ -116,11 +117,11 @@
        private JSplitPane split;
 
        private final NetworkTreeTableModel treeTableModel;
-       private final CyApplicationManager appManager;
-       final CyNetworkManager netmgr;
-       final CyNetworkViewManager networkViewManager;
+       private final CyApplicationManager appMgr;
+       final CyNetworkManager netMgr;
+       final CyNetworkViewManager netViewMgr;
 
-       private final DialogTaskManager taskManager;
+       private final DialogTaskManager taskMgr;
        private final DynamicTaskFactoryProvisioner factoryProvisioner;
 
        private final JPopupMenu popup;
@@ -138,24 +139,26 @@
 
        /**
         * 
-        * @param applicationManager
-        * @param netmgr
-        * @param networkViewManager
+        * @param appMgr
+        * @param netMgr
+        * @param netViewMgr
         * @param bird
-        * @param taskManager
+        * @param taskMgr
         */
-       public NetworkPanel(final CyApplicationManager applicationManager, 
final CyNetworkManager netmgr,
-                       final CyNetworkViewManager networkViewManager, final 
BirdsEyeViewHandler bird,
-                       final DialogTaskManager taskManager) {
+       public NetworkPanel(final CyApplicationManager appMgr,
+                                               final CyNetworkManager netMgr,
+                                               final CyNetworkViewManager 
netViewMgr,
+                                               final BirdsEyeViewHandler bird,
+                                               final DialogTaskManager 
taskMgr) {
                super();
 
                this.treeNodeMap = new HashMap<Long, NetworkTreeNode>();
                this.provisionerMap = new HashMap<Object, TaskFactory>();
-               this.appManager = applicationManager;
-               this.netmgr = netmgr;
-               this.networkViewManager = networkViewManager;
-               this.taskManager = taskManager;
-               this.factoryProvisioner = new 
DynamicTaskFactoryProvisioner(appManager);
+               this.appMgr = appMgr;
+               this.netMgr = netMgr;
+               this.netViewMgr = netViewMgr;
+               this.taskMgr = taskMgr;
+               this.factoryProvisioner = new 
DynamicTaskFactoryProvisioner(appMgr);
 
                root = new NetworkTreeNode("Network Root", null);
                treeTableModel = new NetworkTreeTableModel(this, root);
@@ -248,7 +251,7 @@
        }
 
        public void addTaskFactory(TaskFactory factory, 
@SuppressWarnings("rawtypes") Map props) {
-               addFactory(factory, new TaskFactoryTunableAction(taskManager, 
factory, props, appManager, networkViewManager));
+               addFactory(factory, new TaskFactoryTunableAction(taskMgr, 
factory, props, appMgr, netViewMgr));
        }
 
        public void removeTaskFactory(TaskFactory factory, 
@SuppressWarnings("rawtypes") Map props) {
@@ -258,8 +261,8 @@
        public void 
addNetworkCollectionTaskFactory(NetworkCollectionTaskFactory factory, Map 
props) {
                TaskFactory provisioner = factoryProvisioner.createFor(factory);
                provisionerMap.put(factory, provisioner);
-               addFactory(provisioner, new 
TaskFactoryTunableAction(taskManager, provisioner, props, appManager,
-                               networkViewManager));
+               addFactory(provisioner, new TaskFactoryTunableAction(taskMgr, 
provisioner, props, appMgr,
+                               netViewMgr));
        }
 
        public void 
removeNetworkCollectionTaskFactory(NetworkCollectionTaskFactory factory, Map 
props) {
@@ -269,8 +272,8 @@
        public void 
addNetworkViewCollectionTaskFactory(NetworkViewCollectionTaskFactory factory, 
Map props) {
                TaskFactory provisioner = factoryProvisioner.createFor(factory);
                provisionerMap.put(factory, provisioner);
-               addFactory(provisioner, new 
TaskFactoryTunableAction(taskManager, provisioner, props, appManager,
-                               networkViewManager));
+               addFactory(provisioner, new TaskFactoryTunableAction(taskMgr, 
provisioner, props, appMgr,
+                               netViewMgr));
        }
 
        public void 
removeNetworkViewCollectionTaskFactory(NetworkViewCollectionTaskFactory 
factory, Map props) {
@@ -280,8 +283,8 @@
        public void addNetworkTaskFactory(NetworkTaskFactory factory, 
@SuppressWarnings("rawtypes") Map props) {
                TaskFactory provisioner = factoryProvisioner.createFor(factory);
                provisionerMap.put(factory, provisioner);
-               addFactory(provisioner, new 
TaskFactoryTunableAction(taskManager, provisioner, props, appManager,
-                               networkViewManager));
+               addFactory(provisioner, new TaskFactoryTunableAction(taskMgr, 
provisioner, props, appMgr,
+                               netViewMgr));
        }
 
        public void removeNetworkTaskFactory(NetworkTaskFactory factory, 
@SuppressWarnings("rawtypes") Map props) {
@@ -291,8 +294,8 @@
        public void addNetworkViewTaskFactory(final NetworkViewTaskFactory 
factory, @SuppressWarnings("rawtypes") Map props) {
                TaskFactory provisioner = factoryProvisioner.createFor(factory);
                provisionerMap.put(factory, provisioner);
-               addFactory(provisioner, new 
TaskFactoryTunableAction(taskManager, provisioner, props, appManager,
-                               networkViewManager));
+               addFactory(provisioner, new TaskFactoryTunableAction(taskMgr, 
provisioner, props, appMgr,
+                               netViewMgr));
        }
 
        public void removeNetworkViewTaskFactory(NetworkViewTaskFactory 
factory, @SuppressWarnings("rawtypes") Map props) {
@@ -353,7 +356,7 @@
        }
 
        // // Event handlers /////
-
+       
        @Override
        public void handleEvent(final NetworkAboutToBeDestroyedEvent nde) {
                SwingUtilities.invokeLater(new Runnable() {
@@ -522,7 +525,7 @@
                        if (parentNetwork != null)
                                this.treeNodeMap.put(parentNetwork.getSUID(), 
parentTreeNode);
 
-                       if (networkViewManager.viewExists(network))
+                       if (netViewMgr.viewExists(network))
                                dmtn.setNodeColor(Color.black);
 
                        this.treeNodeMap.put(network.getSUID(), dmtn);
@@ -542,7 +545,7 @@
         * Update selected row.
         */
        private final void updateNetworkTreeSelection(final boolean singleSet) {
-               final List<CyNetwork> selectedNetworks = 
appManager.getSelectedNetworks();
+               final List<CyNetwork> selectedNetworks = 
appMgr.getSelectedNetworks();
 
                // Phase 1: Add selected path from GUI status
                final List<TreePath> paths = new ArrayList<TreePath>();
@@ -583,61 +586,83 @@
 
                // Sets the "current" network based on last node in the tree 
selected
                final NetworkTreeNode node = (NetworkTreeNode) 
tree.getLastSelectedPathComponent();
+               
                if (node == null || node.getUserObject() == null)
                        return;
 
-               final CyNetwork net = node.getNetwork();
-               // This is a "network set" node.
-               if (net == null) { // When selecting root node all of the 
subnetworks
-                                                       // are selected.
+               CyNetwork cn = node.getNetwork();
+               final List<CyNetwork> selectedNetworks = new 
LinkedList<CyNetwork>();
+               
+               if (cn == null) {
+                       // This is a "network set" node...
+                       // When selecting root node, all of the subnetworks are 
selected.
                        CyRootNetwork root = ((CySubNetwork) ((NetworkTreeNode) 
node.getFirstChild()).getNetwork())
                                        .getRootNetwork();
 
-                       List<CySubNetwork> subNetworkList = 
root.getSubNetworkList();
-                       List<CyNetwork> networkList = new 
LinkedList<CyNetwork>();
-                       for (CySubNetwork sn : subNetworkList)
-                               networkList.add(sn);
-                       if (networkList.size() > 0) {
-                               appManager.setCurrentNetwork(((NetworkTreeNode) 
node.getFirstChild()).getNetwork());
-                               appManager.setSelectedNetworks(networkList);
-                               final List<CyNetworkView> selectedViews = new 
ArrayList<CyNetworkView>();
-                               for (final CyNetwork network : networkList) {
-                                       final Collection<CyNetworkView> views = 
networkViewManager.getNetworkViews(network);
-                                       if (views.size() != 0)
-                                               selectedViews.addAll(views);
+                       // Creates a list of all selected networks
+                       List<CySubNetwork> subNetworks = 
root.getSubNetworkList();
+                       
+                       for (CySubNetwork sn : subNetworks) {
+                               if (netMgr.networkExists(sn.getSUID()))
+                                       selectedNetworks.add(sn);
+                       }
+                       
+                       // Determine the current network
+                       if (!selectedNetworks.isEmpty())
+                               cn = ((NetworkTreeNode) 
node.getFirstChild()).getNetwork();
+               } else {
+                       // Regular multiple networks selection...
+                       try {
+                               // Create a list of all selected networks
+                               for (int i = tree.getMinSelectionRow(); i <= 
tree.getMaxSelectionRow(); i++) {
+                                       NetworkTreeNode tn = (NetworkTreeNode) 
tree.getPathForRow(i).getLastPathComponent();
+                                       
+                                       if (tn != null && tn.getUserObject() != 
null && tree.isRowSelected(i))
+                                               
selectedNetworks.add(tn.getNetwork());
                                }
-                               
appManager.setSelectedNetworkViews(selectedViews);
+                       } catch (Exception ex) {
+                               logger.error("Error creating the list of 
selected networks", ex);
                        }
-                       return;
                }
-               // No need to set the same network again. It should prevent 
infinite
-               // loops.
-               // Also check if the network still exists (it could have been 
removed by
-               // another thread).
-               if (netmgr.networkExists(net.getSUID()) && 
!net.equals(appManager.getCurrentNetwork()))
-                       appManager.setCurrentNetwork(net);
-
-               // creates a list of all selected networks
-               List<CyNetwork> networkList = new LinkedList<CyNetwork>();
-               try {
-                       for (int i = tree.getMinSelectionRow(); i <= 
tree.getMaxSelectionRow(); i++) {
-                               NetworkTreeNode n = (NetworkTreeNode) 
tree.getPathForRow(i).getLastPathComponent();
-                               if (n != null && n.getUserObject() != null && 
tree.isRowSelected(i))
-                                       networkList.add(n.getNetwork());
-                       }
-               } catch (Exception ex) {
-                       ex.printStackTrace();
+               
+               final List<CyNetworkView> selectedViews = new 
ArrayList<CyNetworkView>();
+               
+               for (final CyNetwork n : selectedNetworks) {
+                       final Collection<CyNetworkView> views = 
netViewMgr.getNetworkViews(n);
+                       
+                       if (!views.isEmpty())
+                               selectedViews.addAll(views);
                }
-
-               if (networkList.size() > 0) {
-                       appManager.setSelectedNetworks(networkList);
-                       final List<CyNetworkView> selectedViews = new 
ArrayList<CyNetworkView>();
-                       for (final CyNetwork network : networkList) {
-                               final Collection<CyNetworkView> views = 
networkViewManager.getNetworkViews(network);
-                               if (views.size() != 0)
-                                       selectedViews.addAll(views);
+               
+               // No need to set the same network again. It should prevent 
infinite loops.
+               // Also check if the network still exists (it could have been 
removed by another thread).
+               if (cn == null || netMgr.networkExists(cn.getSUID())) {
+                       if (cn == null || 
!cn.equals(appMgr.getCurrentNetwork()))
+                               appMgr.setCurrentNetwork(cn);
+               
+                       CyNetworkView cv = null;
+                       
+                       // Try to get the first view of the current network
+                       final Collection<CyNetworkView> cnViews = cn != null ? 
netViewMgr.getNetworkViews(cn) : null;
+                       cv = (cnViews == null || cnViews.isEmpty()) ? null : 
cnViews.iterator().next();
+                       
+                       if (cv == null) {
+                               // The current network has no view, so try to 
get the next existing view of the current selection
+                               for (final CyNetwork n : selectedNetworks) {
+                                       final Collection<CyNetworkView> views = 
netViewMgr.getNetworkViews(n);
+                                       
+                                       if (!views.isEmpty()) {
+                                               cv = views.iterator().next();
+                                               break;
+                                       }
+                               }
                        }
-                       appManager.setSelectedNetworkViews(selectedViews);
+                       
+                       if (cv == null || 
!cv.equals(appMgr.getCurrentNetworkView()))
+                               appMgr.setCurrentNetworkView(cv);
+                       
+                       appMgr.setSelectedNetworks(selectedNetworks);
+                       appMgr.setSelectedNetworkViews(selectedViews);
                }
        }
 
@@ -679,9 +704,19 @@
                                return;
                        }
 
-                       final CyNetwork cyNetwork = 
netmgr.getNetwork(networkID);
+                       final CyNetwork network = netMgr.getNetwork(networkID);
 
-                       if (cyNetwork != null) {
+                       if (network != null) {
+                               // if the network is not selected, select it
+                               final List<CyNetwork> selectedList = 
appMgr.getSelectedNetworks();
+                               
+                               if (selectedList == null || 
!selectedList.contains(network)) {
+                                       appMgr.setCurrentNetwork(network);
+                                       
appMgr.setSelectedNetworks(Arrays.asList(new CyNetwork[]{ network }));
+                                       final Collection<CyNetworkView> 
netViews = netViewMgr.getNetworkViews(network);
+                                       appMgr.setSelectedNetworkViews(new 
ArrayList<CyNetworkView>(netViews));
+                               }
+                               
                                // enable/disable any actions based on state of 
system
                                for (CyAction action : popupActions.values())
                                        action.updateEnableState();

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
        2012-05-18 16:51:14 UTC (rev 29296)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkTreeTableModel.java
        2012-05-18 17:27:19 UTC (rev 29297)
@@ -83,14 +83,14 @@
                if (column == 0)
                        return node.getUserObject();
                else if (column == 1) {
-                       final CyNetwork cyNetwork = 
this.networkPanel.netmgr.getNetwork(node.getNetwork().getSUID());
+                       final CyNetwork cyNetwork = 
this.networkPanel.netMgr.getNetwork(node.getNetwork().getSUID());
                        if(cyNetwork == null)
                                return null;
                        
                        return "" + cyNetwork.getNodeCount() + "("
                                + 
cyNetwork.getDefaultNodeTable().getMatchingRows(CyNetwork.SELECTED, 
true).size() + ")";
                } else if (column == 2) {
-                       final CyNetwork cyNetwork = 
this.networkPanel.netmgr.getNetwork(((NetworkTreeNode) 
node).getNetwork().getSUID());
+                       final CyNetwork cyNetwork = 
this.networkPanel.netMgr.getNetwork(((NetworkTreeNode) 
node).getNetwork().getSUID());
                        if(cyNetwork == null)
                                return null;
                        

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   2012-05-18 16:51:14 UTC (rev 29296)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
   2012-05-18 17:27:19 UTC (rev 29297)
@@ -122,25 +122,28 @@
        // UI to select presentation.
        private static final String DEFAULT_PRESENTATION = "ding";
 
-       private final CyNetworkViewManager networkViewManager;
-       private final CyApplicationManager applicationManager;
-       private final RenderingEngineManager renderingEngineManager;
+       private final CyNetworkViewManager netViewMgr;
+       private final CyApplicationManager appMgr;
+       private final RenderingEngineManager renderingEngineMgr;
 
        
-       public NetworkViewManager(CyApplicationManager appMgr, 
CyNetworkViewManager netViewMgr,final RenderingEngineManager 
renderingEngineManager,
-                       CyProperty<Properties> cyProps, CyHelpBroker help) {
+       public NetworkViewManager(final CyApplicationManager appMgr,
+                                                         final 
CyNetworkViewManager netViewMgr,
+                                                         final 
RenderingEngineManager renderingEngineManager,
+                                                         final 
CyProperty<Properties> cyProps,
+                                                         final CyHelpBroker 
help) {
 
                if (appMgr == null)
                        throw new NullPointerException("CyApplicationManager is 
null.");
                if (netViewMgr == null)
                        throw new NullPointerException("CyNetworkViewManager is 
null.");
                
-               this.renderingEngineManager = renderingEngineManager;
+               this.renderingEngineMgr = renderingEngineManager;
 
                this.factories = new HashMap<String, 
RenderingEngineFactory<CyNetwork>>();
 
-               this.networkViewManager = netViewMgr;
-               this.applicationManager = appMgr;
+               this.netViewMgr = netViewMgr;
+               this.appMgr = appMgr;
                this.props = cyProps.getProperties();
 
                this.desktopPane = new JDesktopPane();
@@ -224,13 +227,13 @@
                if (view == null)
                        return;
 
-               final RenderingEngine<CyNetwork> currentEngine = 
applicationManager.getCurrentRenderingEngine();
+               final RenderingEngine<CyNetwork> currentEngine = 
appMgr.getCurrentRenderingEngine();
                
-               if (!view.equals(applicationManager.getCurrentNetworkView()))
-                       applicationManager.setCurrentNetworkView(view);
+               if (netViewMgr.getNetworkViewSet().contains(view) && 
!view.equals(appMgr.getCurrentNetworkView()))
+                       appMgr.setCurrentNetworkView(view);
 
                if (currentEngine == null || currentEngine.getViewModel() != 
view)
-                       
applicationManager.setCurrentRenderingEngine(presentationMap.get(view));
+                       
appMgr.setCurrentRenderingEngine(presentationMap.get(view));
        }
 
        /**
@@ -263,7 +266,7 @@
                        return;
                }
                
-               final Collection<CyNetworkView> views = 
networkViewManager.getNetworkViews(e.getNetwork());
+               final Collection<CyNetworkView> views = 
netViewMgr.getNetworkViews(e.getNetwork());
                CyNetworkView view = null;
                if(views.size() != 0)
                        view = views.iterator().next();
@@ -377,7 +380,7 @@
 
                iframe.addInternalFrameListener(new InternalFrameAdapter() {
                        public void internalFrameClosing(InternalFrameEvent e) {
-                               networkViewManager.destroyNetworkView(view);
+                               netViewMgr.destroyNetworkView(view);
 
                                Component[] components = iframe.getComponents();
                                for (Component cp : components) {
@@ -396,7 +399,7 @@
                final long start = System.currentTimeMillis();
                logger.debug("Rendering start: view model = " + view.getSUID());
                final RenderingEngine<CyNetwork> renderingEngine = 
currentRenderingEngineFactory.createRenderingEngine(iframe, view);
-               renderingEngineManager.addRenderingEngine(renderingEngine);
+               renderingEngineMgr.addRenderingEngine(renderingEngine);
                
                logger.debug("Rendering finished in " + 
(System.currentTimeMillis() - start) + " m sec.");
                presentationMap.put(view, renderingEngine);


Property changes on: core3/samples/trunk/sample28/feature
___________________________________________________________________
Added: svn:ignore
   + target


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