Author: clopes
Date: 2011-12-06 11:38:22 -0800 (Tue, 06 Dec 2011)
New Revision: 27709
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
Log:
The network view title is now updated from the NETWORK_TITLE visual property,
not from the "name" attribute, in order to make it compatible with the new Cy3
session format (but the title is initially set from the "name" attribute when
importing XGMML files or opening 2.x session files).
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
2011-12-06 19:26:12 UTC (rev 27708)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2011-12-06 19:38:22 UTC (rev 27709)
@@ -41,7 +41,6 @@
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-import java.awt.event.MouseListener;
import java.beans.PropertyVetoException;
import java.math.BigInteger;
import java.util.HashMap;
@@ -51,7 +50,6 @@
import javax.swing.JDesktopPane;
import javax.swing.JInternalFrame;
-import javax.swing.JOptionPane;
import javax.swing.event.InternalFrameAdapter;
import javax.swing.event.InternalFrameEvent;
@@ -62,10 +60,7 @@
import org.cytoscape.application.events.SetCurrentNetworkViewListener;
import org.cytoscape.application.swing.CyHelpBroker;
import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableEntry;
-import org.cytoscape.model.events.RowsSetEvent;
-import org.cytoscape.model.events.RowsSetListener;
import org.cytoscape.property.CyProperty;
import org.cytoscape.property.session.Cysession;
import org.cytoscape.property.session.Desktop;
@@ -97,7 +92,7 @@
*/
public class NetworkViewManager extends InternalFrameAdapter implements
NetworkViewAddedListener,
NetworkViewAboutToBeDestroyedListener,
SetCurrentNetworkViewListener, SetCurrentNetworkListener,
- SessionLoadedListener, SessionAboutToBeSavedListener,
NetworkViewChangedListener, RowsSetListener {
+ SessionLoadedListener, SessionAboutToBeSavedListener,
NetworkViewChangedListener {
private static final Logger logger =
LoggerFactory.getLogger(NetworkViewManager.class);
@@ -130,7 +125,6 @@
// UI to select presentation.
private static final String DEFAULT_PRESENTATION = "ding";
- private final Map<CyTable, CyNetwork> nameTables;
private final CyNetworkViewManager networkViewManager;
private final CyApplicationManager applicationManager;
@@ -163,8 +157,6 @@
presentationMap = new HashMap<CyNetworkView,
RenderingEngine<CyNetwork>>();
iFrameMap = new HashMap<JInternalFrame, CyNetworkView>();
currentView = null;
-
- nameTables = new HashMap<CyTable, CyNetwork>();
}
/**
@@ -225,6 +217,7 @@
/**
* View switched
*/
+ @Override
public void internalFrameActivated(InternalFrameEvent e) {
final CyNetworkView view = iFrameMap.get(e.getInternalFrame());
if (view == null)
@@ -246,6 +239,7 @@
}
// // Event Handlers ////
+ @Override
public void handleEvent(SetCurrentNetworkViewEvent e) {
if (e.getNetworkView() == null) {
logger.info("Attempting to set current network view
model: null view ");
@@ -256,6 +250,7 @@
setFocus(e.getNetworkView());
}
+ @Override
public void handleEvent(SetCurrentNetworkEvent e) {
if (e.getNetwork() == null) {
logger.info("Attempting to set current network : null
network ");
@@ -266,6 +261,7 @@
setFocus(networkViewManager.getNetworkView(e.getNetwork().getSUID()));
}
+ @Override
public void handleEvent(NetworkViewAboutToBeDestroyedEvent nvde) {
logger.info("Network view destroyed: View ID = " +
nvde.getNetworkView());
removeView(nvde.getNetworkView());
@@ -274,6 +270,7 @@
/**
* Adding new network view model to this manager. Then, render
presentation.
*/
+ @Override
public void handleEvent(final NetworkViewAddedEvent nvae) {
logger.info("\n\n\nView Manager got Network view added event.
Adding view to manager: NetworkViewManager: View ID = "
@@ -325,8 +322,6 @@
}
presentationContainerMap.remove(view);
- nameTables.remove(view.getModel().getDefaultNetworkTable());
-
logger.debug("Network View Model removed.");
}
@@ -339,9 +334,8 @@
if (presentationContainerMap.containsKey(view))
return;
- // Create a new InternalFrame and put the CyNetworkView
Component into
- // it
- final String title =
view.getModel().getCyRow().get(CyTableEntry.NAME, String.class);
+ // Create a new InternalFrame and put the CyNetworkView
Component into it
+ final String title = getTitle(view);
final JInternalFrame iframe = new JInternalFrame(title, true,
true, true, true);
// This is for force move title bar to the desktop if it's out
of range.
@@ -349,7 +343,7 @@
@Override
public void mouseReleased(MouseEvent e) {
final Point originalPoint =
iframe.getLocation();
- if(originalPoint.y < 0)
+ if (originalPoint.y < 0)
iframe.setLocation(originalPoint.x, 0);
}
});
@@ -426,21 +420,9 @@
// Display it and add listeners
iframe.setVisible(true);
iframe.addInternalFrameListener(this);
-
- nameTables.put(view.getModel().getDefaultNetworkTable(),
view.getModel());
}
@Override
- public void handleEvent(RowsSetEvent e) {
- CyNetwork n = nameTables.get( e.getSource() );
- if ( n == null )
- return;
-
- final String title = n.getCyRow().get(CyTableEntry.NAME,
String.class);
- updateNetworkTitle(n, title);
- }
-
- @Override
public void handleEvent(NetworkViewChangedEvent e) {
for ( ViewChangeRecord<CyNetwork> record :
e.getPayloadCollection()) {
CyNetworkView view = (CyNetworkView)(record.getView());
@@ -456,6 +438,8 @@
int w = iframe.getSize().width;
int h = ((Double) record.getValue()).intValue();
updateNetworkSize(view, w, h);
+ } else if
(record.getVisualProperty().equals(MinimalVisualLexicon.NETWORK_TITLE)) {
+ updateNetworkTitle(view);
}
}
}
@@ -519,19 +503,25 @@
}
}
- private void updateNetworkTitle(CyNetwork net, String title) {
- CyNetworkView view =
networkViewManager.getNetworkView(net.getSUID());
- if ( view == null )
- return;
-
+ private void updateNetworkTitle(CyNetworkView view) {
JInternalFrame frame = presentationContainerMap.get(view);
- if (frame == null)
- return;
- frame.setTitle(title);
- frame.repaint();
+ if (frame != null) {
+ final String title = getTitle(view);
+ frame.setTitle(title);
+ frame.repaint();
+ }
}
+ private String getTitle(CyNetworkView view) {
+ String title =
view.getVisualProperty(MinimalVisualLexicon.NETWORK_TITLE);
+
+ if (title == null || title.isEmpty())
+ title =
view.getModel().getCyRow().get(CyTableEntry.NAME, String.class);
+
+ return title;
+ }
+
private void updateNetworkSize(final CyNetworkView view, int width, int
height) {
final JInternalFrame frame = presentationContainerMap.get(view);
--
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.