/** * DOCUMENT ME! * * @param e DOCUMENT ME! */ public void propertyChange(PropertyChangeEvent e) { if (Cytoscape.NETWORK_CREATED.equals(e.getPropertyName())) { addNetwork((String) e.getNewValue(), (String) e.getOldValue()); } else if (Cytoscape.NETWORK_DESTROYED.equals(e.getPropertyName())) { removeNetwork((String) e.getNewValue()); } else if (CytoscapeDesktop.NETWORK_VIEW_FOCUSED.equals(e.getPropertyName())) { if ( e.getSource() != this ) focusNetworkNode((String) e.getNewValue()); } else if (Cytoscape.NETWORK_TITLE_MODIFIED.equals(e.getPropertyName())) { CyNetworkTitleChange cyNetworkTitleChange = (CyNetworkTitleChange) e.getNewValue(); String newID = cyNetworkTitleChange.getNetworkIdentifier(); //String newTitle = cyNetworkTitleChange.getNetworkTitle(); CyNetwork _network = Cytoscape.getNetwork(newID); // Network "0" is the default and does not appear in the netowrk panel if (_network != null && !_network.getIdentifier().equals("0")) updateTitle(_network); } else if(Cytoscape.CYTOSCAPE_INITIALIZED.equals(e.getPropertyName())) { updateVSMenu(); } }
/** * DOCUMENT ME! * * @param network_id DOCUMENT ME! * @param parent_id DOCUMENT ME! */ public void addNetwork(String network_id, String parent_id) { // first see if it exists if (getNetworkNode(network_id) == null) { //logger.info("NetworkPanel: addNetwork " + network_id); NetworkTreeNode dmtn = new NetworkTreeNode(Cytoscape.getNetwork(network_id).getTitle(), network_id); Cytoscape.getNetwork(network_id).addSelectEventListener(this); if (parent_id != null && getNetworkNode(parent_id) != null) { getNetworkNode(parent_id).add(dmtn); } else { root.add(dmtn); } // apparently this doesn't fire valueChanged treeTable.getTree().collapsePath(new TreePath(new TreeNode[] { root })); treeTable.getTree().updateUI(); TreePath path = new TreePath(dmtn.getPath()); treeTable.getTree().expandPath(path); treeTable.getTree().scrollPathToVisible(path); treeTable.doLayout(); // this is necessary because valueChanged is not fired above focusNetworkNode(network_id); } }