Author: clopes
Date: 2012-09-17 12:49:23 -0700 (Mon, 17 Sep 2012)
New Revision: 30373
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyRootNetworkImpl.java
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/NetworkNameSetListener.java
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/NetworkViewManager.java
Log:
Fixes #1460: Now the root-network's name is not overwritten by the base
network's name (when the base network is created) if the root name is already
set, so the original name that was saved in the session file is displayed.
Also making sure that the visual property NETWORK_TITLE is set to the view
model when a network's name is changed, in order to keep the view-XGMML files
consistent.
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyRootNetworkImpl.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyRootNetworkImpl.java
2012-09-14 21:52:04 UTC (rev 30372)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/CyRootNetworkImpl.java
2012-09-17 19:49:23 UTC (rev 30373)
@@ -370,7 +370,7 @@
@Override
public String toString() {
- return "CyRootNetwork: " + suid + " name: " +
getRow(this).get("name", String.class);
+ return "CyRootNetwork: " + suid + " name: " +
getRow(this).get(NAME, String.class);
}
private synchronized int getNextNodeIndex() {
Modified:
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/NetworkNameSetListener.java
===================================================================
---
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/NetworkNameSetListener.java
2012-09-14 21:52:04 UTC (rev 30372)
+++
core3/impl/trunk/model-impl/impl/src/main/java/org/cytoscape/model/internal/NetworkNameSetListener.java
2012-09-17 19:49:23 UTC (rev 30373)
@@ -3,6 +3,7 @@
import java.util.Collection;
import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyRow;
import org.cytoscape.model.CyTable;
import org.cytoscape.model.events.NetworkAddedEvent;
import org.cytoscape.model.events.NetworkAddedListener;
@@ -82,30 +83,29 @@
edgeTable.setTitle(name + " edge");
networkTable.setTitle(name + " network");
nodeTable.setTitle(name + " node");
-
}
//=========================NetworkAddedListener
Implementation========================
@Override
public void handleEvent(NetworkAddedEvent e) {
-
CyNetwork sourceNetwork = e.getNetwork();
String name =
sourceNetwork.getRow(sourceNetwork).get(CyNetwork.NAME, String.class);
- if (sourceNetwork.equals( rootNetwork.getBaseNetwork())){
+ if (sourceNetwork.equals( rootNetwork.getBaseNetwork()))
setRootNetworkName(name);
- }
- if(rootNetwork.containsNetwork(sourceNetwork))
+ if (rootNetwork.containsNetwork(sourceNetwork))
updateSubNetworkTableNames(sourceNetwork, name);
}
private void setRootNetworkName(String name) {
- rootNetwork.getRow(rootNetwork).set(CyRootNetwork.NAME, name);
+ CyRow row = rootNetwork.getRow(rootNetwork);
+
+ if (!row.isSet(CyNetwork.NAME) || row.get(CyNetwork.NAME,
String.class).isEmpty())
+ rootNetwork.getRow(rootNetwork).set(CyNetwork.NAME,
name);
}
private void updateSubNetworkTableNames(CyNetwork net, String name){
-
net.getDefaultEdgeTable().setTitle(name + " default edge");
net.getDefaultNetworkTable().setTitle(name + " default
network");
net.getDefaultNodeTable().setTitle(name + " default node");
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-09-14 21:52:04 UTC (rev 30372)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkPanel.java
2012-09-17 19:49:23 UTC (rev 30373)
@@ -472,13 +472,13 @@
return;
final CyTable table = e.getSource();
- final CyNetwork updateNetworkName = nameTables.get(table);
+ final CyNetwork network = nameTables.get(table);
// Case 1: Network name/title updated
- if (updateNetworkName != null &&
record.getColumn().equals(CyNetwork.NAME)) {
+ if (network != null &&
record.getColumn().equals(CyNetwork.NAME)) {
final CyRow row = payload.iterator().next().getRow();
final String newTitle = row.get(CyNetwork.NAME,
String.class);
- final NetworkTreeNode node =
this.network2nodeMap.get(updateNetworkName);
+ final NetworkTreeNode node =
this.network2nodeMap.get(network);
final String oldTitle = treeTableModel.getValueAt(node,
0).toString();
if (newTitle.equals(oldTitle) == false) {
@@ -561,9 +561,9 @@
private void addNetwork(final CyNetwork network) {
// first see if it is not in the tree already
if (this.network2nodeMap.get(network) == null) {
-
NetworkTreeNode parentTreeNode = null;
CyRootNetwork parentNetwork = null;
+
// In current version, ALL networks are created as
Subnetworks.
// So, this should be always true.
if (network instanceof CySubNetwork) {
@@ -572,7 +572,8 @@
}
if (parentTreeNode == null){
- parentTreeNode = new
NetworkTreeNode(parentNetwork.getRow(parentNetwork).get(CyNetwork.NAME,
String.class) , parentNetwork);
+ final String rootNetName =
parentNetwork.getRow(parentNetwork).get(CyNetwork.NAME, String.class);
+ parentTreeNode = new
NetworkTreeNode(rootNetName, parentNetwork);
nameTables.put(parentNetwork.getDefaultNetworkTable(), parentNetwork);
network2nodeMap.put(parentNetwork,
parentTreeNode);
}
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-09-14 21:52:04 UTC (rev 30372)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2012-09-17 19:49:23 UTC (rev 30373)
@@ -524,18 +524,27 @@
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
- updateNetworkNameColumn(records, source);
+ updateNetworkViewTitle(records, source);
}
});
}
- private final void updateNetworkNameColumn(final
Collection<RowSetRecord> records, final CyTable source) {
+ private final void updateNetworkViewTitle(final
Collection<RowSetRecord> records, final CyTable source) {
for (final RowSetRecord record : records) {
- // assume payload collection is for same column
- for (JInternalFrame targetIF : iFrameMap.keySet()) {
- if
(iFrameMap.get(targetIF).getModel().getDefaultNetworkTable().equals(source)) {
-
targetIF.setTitle(record.getRow().get(CyNetwork.NAME, String.class));
- return; // assuming just one row is set.
+ if (CyNetwork.NAME.equals(record.getColumn())) {
+ // assume payload collection is for same column
+ for (final JInternalFrame targetIF :
iFrameMap.keySet()) {
+ final CyNetworkView view =
iFrameMap.get(targetIF);
+ final CyNetwork net = view.getModel();
+
+ if
(net.getDefaultNetworkTable().equals(source)) {
+ final String title =
record.getRow().get(CyNetwork.NAME, String.class);
+ targetIF.setTitle(title);
+ // We should guarantee this
visual property is up to date as well
+
view.setVisualProperty(BasicVisualLexicon.NETWORK_TITLE, title);
+
+ return; // assuming just one
row is set.
+ }
}
}
}
--
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.