Author: kono
Date: 2011-05-09 17:02:32 -0700 (Mon, 09 May 2011)
New Revision: 24986
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
Log:
Broken formats are fixed.
Modified:
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
===================================================================
---
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2011-05-09 23:34:54 UTC (rev 24985)
+++
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2011-05-10 00:02:32 UTC (rev 24986)
@@ -86,469 +86,469 @@
*
*/
public class NetworkViewManager extends InternalFrameAdapter implements
NetworkViewAddedListener,
- NetworkViewAboutToBeDestroyedListener, SetCurrentNetworkViewListener,
SetCurrentNetworkListener,
- SessionLoadedListener {
+ NetworkViewAboutToBeDestroyedListener,
SetCurrentNetworkViewListener, SetCurrentNetworkListener,
+ SessionLoadedListener {
- private static final Logger logger =
LoggerFactory.getLogger(NetworkViewManager.class);
+ private static final Logger logger =
LoggerFactory.getLogger(NetworkViewManager.class);
- // TODO Where should we store these property constants?
- private static final String VIEW_THRESHOLD = "viewThreshold";
- private static final int DEF_VIEW_THRESHOLD = 10000;
+ // TODO Where should we store these property constants?
+ private static final String VIEW_THRESHOLD = "viewThreshold";
+ private static final int DEF_VIEW_THRESHOLD = 10000;
- private static final int MINIMUM_WIN_WIDTH = 200;
- private static final int MINIMUM_WIN_HEIGHT = 200;
+ private static final int MINIMUM_WIN_WIDTH = 200;
+ private static final int MINIMUM_WIN_HEIGHT = 200;
- private final JDesktopPane desktopPane;
+ private final JDesktopPane desktopPane;
- // Key is MODEL ID
- private final Map<Long, JInternalFrame> presentationContainerMap;
- private final Map<Long, RenderingEngine<CyNetwork>> presentationMap;
+ // Key is MODEL ID
+ private final Map<Long, JInternalFrame> presentationContainerMap;
+ private final Map<Long, RenderingEngine<CyNetwork>> presentationMap;
- private final Map<JInternalFrame, Long> iFrameMap;
- private final Properties props;
+ private final Map<JInternalFrame, Long> iFrameMap;
+ private final Properties props;
- private Long currentPresentationContainerID;
+ private Long currentPresentationContainerID;
- // Supports multiple presentations
- private final Map<String, RenderingEngineFactory<CyNetwork>> factories;
- private RenderingEngineFactory<CyNetwork> currentRenderingEngineFactory;
+ // Supports multiple presentations
+ private final Map<String, RenderingEngineFactory<CyNetwork>> factories;
+ private RenderingEngineFactory<CyNetwork> currentRenderingEngineFactory;
- // TODO: discuss the name and key of props.
- private static final String ID = "id";
+ // TODO: discuss the name and key of props.
+ private static final String ID = "id";
- // TODO: for now, use this as default. But in the future, we should provide
- // UI to select presentation.
- private static final String DEFAULT_PRESENTATION = "ding";
+ // TODO: for now, use this as default. But in the future, we should
provide
+ // UI to select presentation.
+ private static final String DEFAULT_PRESENTATION = "ding";
- private final Map<CyNetworkView, NetworkViewChangeMicroListener>
netViewChangeListeners;
- private final Map<CyNetwork, RowSetMicroListener> nameListeners;
+ private final Map<CyNetworkView, NetworkViewChangeMicroListener>
netViewChangeListeners;
+ private final Map<CyNetwork, RowSetMicroListener> nameListeners;
- private final CyEventHelper eventHelper;
- private final CyNetworkViewManager networkViewManager;
- private final CyApplicationManager applicationManager;
+ private final CyEventHelper eventHelper;
+ private final CyNetworkViewManager networkViewManager;
+ private final CyApplicationManager applicationManager;
- /**
- * Creates a new NetworkViewManager object.
- *
- * @param desktop
- * DOCUMENT ME!
- */
- public NetworkViewManager(CyApplicationManager appMgr,
CyNetworkViewManager netViewMgr,
- CyProperty<Properties> cyProps, CyHelpBroker help, CyEventHelper
eventHelper) {
+ /**
+ * Creates a new NetworkViewManager object.
+ *
+ * @param desktop
+ * DOCUMENT ME!
+ */
+ public NetworkViewManager(CyApplicationManager appMgr,
CyNetworkViewManager netViewMgr,
+ CyProperty<Properties> cyProps, CyHelpBroker help,
CyEventHelper eventHelper) {
- if (appMgr == null)
- throw new NullPointerException("CyApplicationManager is null.");
- if (eventHelper == null)
- throw new NullPointerException("CyEventHelper is null.");
- if (netViewMgr == null)
- throw new NullPointerException("CyNetworkViewManager is null.");
+ if (appMgr == null)
+ throw new NullPointerException("CyApplicationManager is
null.");
+ if (eventHelper == null)
+ throw new NullPointerException("CyEventHelper is
null.");
+ if (netViewMgr == null)
+ throw new NullPointerException("CyNetworkViewManager is
null.");
- this.factories = new HashMap<String,
RenderingEngineFactory<CyNetwork>>();
+ this.factories = new HashMap<String,
RenderingEngineFactory<CyNetwork>>();
- this.networkViewManager = netViewMgr;
- this.applicationManager = appMgr;
- this.props = cyProps.getProperties();
- this.eventHelper = eventHelper;
+ this.networkViewManager = netViewMgr;
+ this.applicationManager = appMgr;
+ this.props = cyProps.getProperties();
+ this.eventHelper = eventHelper;
- this.desktopPane = new JDesktopPane();
+ this.desktopPane = new JDesktopPane();
- // add Help hooks
- help.getHelpBroker().enableHelp(desktopPane, "network-view-manager",
null);
+ // add Help hooks
+ help.getHelpBroker().enableHelp(desktopPane,
"network-view-manager", null);
- presentationContainerMap = new HashMap<Long, JInternalFrame>();
- presentationMap = new HashMap<Long, RenderingEngine<CyNetwork>>();
- iFrameMap = new HashMap<JInternalFrame, Long>();
- currentPresentationContainerID = null;
+ presentationContainerMap = new HashMap<Long, JInternalFrame>();
+ presentationMap = new HashMap<Long,
RenderingEngine<CyNetwork>>();
+ iFrameMap = new HashMap<JInternalFrame, Long>();
+ currentPresentationContainerID = null;
- netViewChangeListeners = new HashMap<CyNetworkView,
NetworkViewChangeMicroListener>();
- nameListeners = new HashMap<CyNetwork, RowSetMicroListener>();
- }
+ netViewChangeListeners = new HashMap<CyNetworkView,
NetworkViewChangeMicroListener>();
+ nameListeners = new HashMap<CyNetwork, RowSetMicroListener>();
+ }
- /**
- * Dynamically add rendering engine factories. Will be used by Spring DM.
- *
- * @param factory
- * @param props
- */
- public void addPresentationFactory(RenderingEngineFactory<CyNetwork>
factory,
- @SuppressWarnings("rawtypes") Map props) {
- logger.info("Adding New Rendering Engine Factory...");
+ /**
+ * Dynamically add rendering engine factories. Will be used by Spring
DM.
+ *
+ * @param factory
+ * @param props
+ */
+ public void addPresentationFactory(RenderingEngineFactory<CyNetwork>
factory,
+ @SuppressWarnings("rawtypes") Map props) {
+ logger.info("Adding New Rendering Engine Factory...");
- Object rendererID = props.get(ID);
- if (rendererID == null)
- throw new IllegalArgumentException("Renderer ID is null.");
+ Object rendererID = props.get(ID);
+ if (rendererID == null)
+ throw new IllegalArgumentException("Renderer ID is
null.");
- factories.put(rendererID.toString(), factory);
- if (currentRenderingEngineFactory == null &&
rendererID.equals(DEFAULT_PRESENTATION)) {
- currentRenderingEngineFactory = factory;
- logger.info(rendererID + " is registered as the default rendering
engine.");
+ factories.put(rendererID.toString(), factory);
+ if (currentRenderingEngineFactory == null &&
rendererID.equals(DEFAULT_PRESENTATION)) {
+ currentRenderingEngineFactory = factory;
+ logger.info(rendererID + " is registered as the default
rendering engine.");
+ }
+
+ logger.info("New Rendering Engine is Available: " + rendererID);
}
- logger.info("New Rendering Engine is Available: " + rendererID);
- }
+ public void removePresentationFactory(RenderingEngineFactory<CyNetwork>
factory,
+ @SuppressWarnings("rawtypes") Map props) {
+ factories.remove(props.get(ID));
+ }
- public void removePresentationFactory(RenderingEngineFactory<CyNetwork>
factory,
- @SuppressWarnings("rawtypes") Map props) {
- factories.remove(props.get(ID));
- }
+ /**
+ * Desktop for JInternalFrames which contains actual network
presentations.
+ *
+ * @return DOCUMENT ME!
+ */
+ public JDesktopPane getDesktopPane() {
+ return desktopPane;
+ }
- /**
- * Desktop for JInternalFrames which contains actual network presentations.
- *
- * @return DOCUMENT ME!
- */
- public JDesktopPane getDesktopPane() {
- return desktopPane;
- }
+ /**
+ * Given a CyNetworkView, returns the internal frame.
+ *
+ * @param view
+ * CyNetworkView
+ * @return JInternalFrame
+ * @throws IllegalArgumentException
+ */
+ public JInternalFrame getInternalFrame(CyNetworkView view) throws
IllegalArgumentException {
+ // check args
+ if (view == null) {
+ throw new
IllegalArgumentException("NetworkViewManager.getInternalFrame(), argument is
null");
+ }
- /**
- * Given a CyNetworkView, returns the internal frame.
- *
- * @param view
- * CyNetworkView
- * @return JInternalFrame
- * @throws IllegalArgumentException
- */
- public JInternalFrame getInternalFrame(CyNetworkView view) throws
IllegalArgumentException {
- // check args
- if (view == null) {
- throw new
IllegalArgumentException("NetworkViewManager.getInternalFrame(), argument is
null");
+ // outta here
+ return presentationContainerMap.get(view.getModel().getSUID());
}
- // outta here
- return presentationContainerMap.get(view.getModel().getSUID());
- }
+ /**
+ * View switched
+ */
+ public void internalFrameActivated(InternalFrameEvent e) {
+ final Long networkId = iFrameMap.get(e.getInternalFrame());
+ if (networkId == null)
+ return;
- /**
- * View switched
- */
- public void internalFrameActivated(InternalFrameEvent e) {
- final Long networkId = iFrameMap.get(e.getInternalFrame());
- if (networkId == null)
- return;
+ final RenderingEngine<CyNetwork> currentEngine =
applicationManager.getCurrentRenderingEngine();
+ applicationManager.setCurrentNetworkView(networkId);
- final RenderingEngine<CyNetwork> currentEngine =
applicationManager.getCurrentRenderingEngine();
- applicationManager.setCurrentNetworkView(networkId);
+ if (currentEngine == null ||
currentEngine.getViewModel().getModel().getSUID() != networkId)
+
applicationManager.setCurrentRenderingEngine(presentationMap.get(networkId));
+ }
- if (currentEngine == null ||
currentEngine.getViewModel().getModel().getSUID() != networkId)
-
applicationManager.setCurrentRenderingEngine(presentationMap.get(networkId));
- }
+ /**
+ * Fire Events when a Managed Network View gets the Focus.
+ */
+ @Override
+ public void internalFrameOpened(InternalFrameEvent e) {
+ internalFrameActivated(e);
+ }
- /**
- * Fire Events when a Managed Network View gets the Focus.
- */
- @Override
- public void internalFrameOpened(InternalFrameEvent e) {
- internalFrameActivated(e);
- }
+ // // Event Handlers ////
+ public void handleEvent(SetCurrentNetworkViewEvent e) {
+ if (e.getNetworkView() == null) {
+ logger.info("Attempting to set current network view
model: null view ");
+ return;
+ }
- // // Event Handlers ////
- public void handleEvent(SetCurrentNetworkViewEvent e) {
- if (e.getNetworkView() == null) {
- logger.info("Attempting to set current network view model: null
view ");
- return;
+ logger.info("Attempting to set current network view model: View
Model ID = " + e.getNetworkView().getSUID());
+ setFocus(e.getNetworkView().getModel().getSUID());
}
- logger.info("Attempting to set current network view model: View Model
ID = " + e.getNetworkView().getSUID());
- setFocus(e.getNetworkView().getModel().getSUID());
- }
+ public void handleEvent(SetCurrentNetworkEvent e) {
+ if (e.getNetwork() == null) {
+ logger.info("Attempting to set current network : null
network ");
+ return;
+ }
- public void handleEvent(SetCurrentNetworkEvent e) {
- if (e.getNetwork() == null) {
- logger.info("Attempting to set current network : null network ");
- return;
+ logger.info("Attempting to set current network model: Model ID
= " + e.getNetwork().getSUID());
+ setFocus(e.getNetwork().getSUID());
}
- logger.info("Attempting to set current network model: Model ID = " +
e.getNetwork().getSUID());
- setFocus(e.getNetwork().getSUID());
- }
+ public void handleEvent(NetworkViewAboutToBeDestroyedEvent nvde) {
+ logger.info("Network view destroyed: View ID = " +
nvde.getNetworkView());
+ removeView(nvde.getNetworkView());
+ }
- public void handleEvent(NetworkViewAboutToBeDestroyedEvent nvde) {
- logger.info("Network view destroyed: View ID = " +
nvde.getNetworkView());
- removeView(nvde.getNetworkView());
- }
+ /**
+ * Adding new network view model to this manager. Then, render
presentation.
+ */
+ public void handleEvent(final NetworkViewAddedEvent nvae) {
- /**
- * Adding new network view model to this manager. Then, render
presentation.
- */
- public void handleEvent(final NetworkViewAddedEvent nvae) {
+ logger.info("\n\n\nView Manager got Network view added event.
Adding view to manager: NetworkViewManager: View ID = "
+ + nvae.getNetworkView().getSUID() + "\n\n\n");
- logger.info("\n\n\nView Manager got Network view added event. Adding
view to manager: NetworkViewManager: View ID = "
- + nvae.getNetworkView().getSUID() + "\n\n\n");
+ final String viewThresholdString =
props.getProperty(VIEW_THRESHOLD);
+ int viewThreshold;
+ try {
+ viewThreshold = Integer.parseInt(viewThresholdString);
+ } catch (Exception e) {
+ viewThreshold = DEF_VIEW_THRESHOLD;
+ logger.warn("Could not parse view threshold property.
Use default value: " + DEF_VIEW_THRESHOLD);
+ }
- final String viewThresholdString = props.getProperty(VIEW_THRESHOLD);
- int viewThreshold;
- try {
- viewThreshold = Integer.parseInt(viewThresholdString);
- } catch (Exception e) {
- viewThreshold = DEF_VIEW_THRESHOLD;
- logger.warn("Could not parse view threshold property. Use default
value: " + DEF_VIEW_THRESHOLD);
- }
+ CyNetworkView networkView = nvae.getNetworkView();
+ final CyNetwork model = networkView.getModel();
+ final int graphObjectCount = model.getNodeCount() +
model.getEdgeCount();
- CyNetworkView networkView = nvae.getNetworkView();
- final CyNetwork model = networkView.getModel();
- final int graphObjectCount = model.getNodeCount() +
model.getEdgeCount();
+ // Render only when graph size is smaller than threshold.
+ if (graphObjectCount > viewThreshold) {
+ int createFlag = JOptionPane
+ .showConfirmDialog(
+ null,
+ "Network contains "
+ +
graphObjectCount
+ + "
objects.\nDo you still want to create visualization?\nThis is not recommended
for machines with small amount of memory.",
+ "Large Network Data
Loaded", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
+ if (createFlag == JOptionPane.NO_OPTION) {
+
networkViewManager.destroyNetworkView(networkView);
+ networkView = null;
+ return;
+ }
+ }
- // Render only when graph size is smaller than threshold.
- if (graphObjectCount > viewThreshold) {
- int createFlag = JOptionPane
- .showConfirmDialog(
- null,
- "Network contains "
- + graphObjectCount
- + " objects.\nDo you still want to create
visualization?\nThis is not recommended for machines with small amount of
memory.",
- "Large Network Data Loaded",
JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
- if (createFlag == JOptionPane.NO_OPTION) {
- networkViewManager.destroyNetworkView(networkView);
- networkView = null;
- return;
- }
+ render(nvae.getNetworkView());
}
- render(nvae.getNetworkView());
- }
+ protected void removeView(CyNetworkView view) {
+ try {
+ final JInternalFrame frame =
presentationContainerMap.get(view.getModel().getSUID());
+ if (frame != null) {
+ RenderingEngine<CyNetwork> removed =
this.presentationMap.remove(view.getModel().getSUID());
+ logger.debug("#### Removing rendering engine: "
+ removed);
+ removed = null;
+ frame.dispose();
+ }
+ } catch (Exception e) {
+ logger.error("Network View unable to be killed", e);
+ }
- protected void removeView(CyNetworkView view) {
- try {
- final JInternalFrame frame =
presentationContainerMap.get(view.getModel().getSUID());
- if (frame != null) {
- RenderingEngine<CyNetwork> removed =
this.presentationMap.remove(view.getModel().getSUID());
- logger.debug("#### Removing rendering engine: " + removed);
- removed = null;
- frame.dispose();
- }
- } catch (Exception e) {
- logger.error("Network View unable to be killed", e);
- }
+ presentationContainerMap.remove(view.getModel().getSUID());
- presentationContainerMap.remove(view.getModel().getSUID());
+ NetworkViewChangeMicroListener nvcml =
netViewChangeListeners.remove(view);
+ if (nvcml != null)
+ eventHelper.removeMicroListener(nvcml,
NetworkViewChangeMicroListener.class, view);
- NetworkViewChangeMicroListener nvcml =
netViewChangeListeners.remove(view);
- if (nvcml != null)
- eventHelper.removeMicroListener(nvcml,
NetworkViewChangeMicroListener.class, view);
+ RowSetMicroListener rsml =
nameListeners.remove(view.getModel());
+ if (rsml != null)
+ eventHelper.removeMicroListener(rsml,
RowSetMicroListener.class, view.getModel().getCyRow().getTable());
- RowSetMicroListener rsml = nameListeners.remove(view.getModel());
- if (rsml != null)
- eventHelper.removeMicroListener(rsml, RowSetMicroListener.class,
view.getModel().getCyRow().getTable());
+ logger.debug("Network View Model removed.");
+ }
- logger.debug("Network View Model removed.");
- }
+ /**
+ * Create a visualization container and add presentation to it.
+ *
+ */
+ private void render(final CyNetworkView view) {
+ final Long modelID = view.getModel().getSUID();
- /**
- * Create a visualization container and add presentation to it.
- *
- */
- private void render(final CyNetworkView view) {
- final Long modelID = view.getModel().getSUID();
+ // If already registered in this manager, do not render.
+ if (presentationContainerMap.containsKey(modelID))
+ return;
- // If already registered in this manager, do not render.
- if (presentationContainerMap.containsKey(modelID))
- return;
+ // Create a new InternalFrame and put the CyNetworkView
Component into
+ // it
+ final String title =
view.getModel().getCyRow().get(CyTableEntry.NAME, String.class);
+ final JInternalFrame iframe = new JInternalFrame(title, true,
true, true, true);
- // Create a new InternalFrame and put the CyNetworkView Component into
- // it
- final String title = view.getModel().getCyRow().get(CyTableEntry.NAME,
String.class);
- final JInternalFrame iframe = new JInternalFrame(title, true, true,
true, true);
+ iframe.addInternalFrameListener(new InternalFrameAdapter() {
+ public void internalFrameClosing(InternalFrameEvent e) {
+ networkViewManager.destroyNetworkView(view);
- iframe.addInternalFrameListener(new InternalFrameAdapter() {
- public void internalFrameClosing(InternalFrameEvent e) {
- networkViewManager.destroyNetworkView(view);
+ Component[] components = iframe.getComponents();
+ for (Component cp : components) {
+ logger.debug("Removing: " + cp);
+ cp = null;
+ }
+ components = null;
- Component[] components = iframe.getComponents();
- for (Component cp : components) {
- logger.debug("Removing: " + cp);
- cp = null;
- }
- components = null;
+ }
+ });
- }
- });
+ desktopPane.add(iframe);
+ presentationContainerMap.put(modelID, iframe);
+ iFrameMap.put(iframe, modelID);
- desktopPane.add(iframe);
- presentationContainerMap.put(modelID, iframe);
- iFrameMap.put(iframe, modelID);
+ final long start = System.currentTimeMillis();
+ logger.debug("Rendering start: view model = " + view.getSUID());
+ final RenderingEngine<CyNetwork> renderingEngine =
currentRenderingEngineFactory.getInstance(iframe, view);
+ logger.debug("Rendering finished in " +
(System.currentTimeMillis() - start) + " m sec.");
+ presentationMap.put(modelID, renderingEngine);
- final long start = System.currentTimeMillis();
- logger.debug("Rendering start: view model = " + view.getSUID());
- final RenderingEngine<CyNetwork> renderingEngine =
currentRenderingEngineFactory.getInstance(iframe, view);
- logger.debug("Rendering finished in " + (System.currentTimeMillis() -
start) + " m sec.");
- presentationMap.put(modelID, renderingEngine);
+ iframe.pack();
- iframe.pack();
+ // create cascade iframe
+ int x = 0;
+ int y = 0;
+ JInternalFrame refFrame = null;
+ JInternalFrame[] allFrames = desktopPane.getAllFrames();
- // create cascade iframe
- int x = 0;
- int y = 0;
- JInternalFrame refFrame = null;
- JInternalFrame[] allFrames = desktopPane.getAllFrames();
+ // frame Location
+ if (allFrames.length > 1)
+ refFrame = allFrames[0];
- // frame Location
- if (allFrames.length > 1)
- refFrame = allFrames[0];
+ if (refFrame != null) {
+ x = refFrame.getLocation().x + 20;
+ y = refFrame.getLocation().y + 20;
+ }
- if (refFrame != null) {
- x = refFrame.getLocation().x + 20;
- y = refFrame.getLocation().y + 20;
- }
+ if (x > (desktopPane.getWidth() - MINIMUM_WIN_WIDTH))
+ x = desktopPane.getWidth() - MINIMUM_WIN_WIDTH;
+ if (y > (desktopPane.getHeight() - MINIMUM_WIN_HEIGHT))
+ y = desktopPane.getHeight() - MINIMUM_WIN_HEIGHT;
+ if (x < 0)
+ x = 0;
+ if (y < 0)
+ y = 0;
- if (x > (desktopPane.getWidth() - MINIMUM_WIN_WIDTH))
- x = desktopPane.getWidth() - MINIMUM_WIN_WIDTH;
- if (y > (desktopPane.getHeight() - MINIMUM_WIN_HEIGHT))
- y = desktopPane.getHeight() - MINIMUM_WIN_HEIGHT;
- if (x < 0)
- x = 0;
- if (y < 0)
- y = 0;
+ iframe.setLocation(x, y);
- iframe.setLocation(x, y);
+ // maximize the frame if the specified property is set
- // maximize the frame if the specified property is set
+ final String max = props.getProperty("maximizeViewOnCreate");
- final String max = props.getProperty("maximizeViewOnCreate");
+ if ((max != null) && Boolean.parseBoolean(max)) {
+ try {
+ iframe.setMaximum(true);
+ } catch (PropertyVetoException pve) {
+ logger.warn("Could not maximize frame.", pve);
+ }
+ } else {
+ int w =
view.getVisualProperty(MinimalVisualLexicon.NETWORK_WIDTH).intValue();
+ int h =
view.getVisualProperty(MinimalVisualLexicon.NETWORK_HEIGHT).intValue();
+ updateNetworkSize(modelID, w, h);
+ }
- if ((max != null) && Boolean.parseBoolean(max)) {
- try {
- iframe.setMaximum(true);
- } catch (PropertyVetoException pve) {
- logger.warn("Could not maximize frame.", pve);
- }
- } else {
- int w =
view.getVisualProperty(MinimalVisualLexicon.NETWORK_WIDTH).intValue();
- int h =
view.getVisualProperty(MinimalVisualLexicon.NETWORK_HEIGHT).intValue();
- updateNetworkSize(modelID, w, h);
- }
+ // Display it and add listeners
+ iframe.setVisible(true);
+ iframe.addInternalFrameListener(this);
- // Display it and add listeners
- iframe.setVisible(true);
- iframe.addInternalFrameListener(this);
+ NetworkViewChangeMicroListener nvcml = new
NetworkViewChangeMicroListener() {
+ @Override
+ public void networkVisualPropertySet(View<CyNetwork>
target, VisualProperty<?> vp, Object value) {
+ Long id = target.getModel().getSUID();
- NetworkViewChangeMicroListener nvcml = new
NetworkViewChangeMicroListener() {
- @Override
- public void networkVisualPropertySet(View<CyNetwork> target,
VisualProperty<?> vp, Object value) {
- Long id = target.getModel().getSUID();
+ if
(vp.equals(MinimalVisualLexicon.NETWORK_WIDTH)) {
+ int w = ((Double) value).intValue();
+ int h = iframe.getSize().height;
+ updateNetworkSize(id, w, h);
+ } else if
(vp.equals(MinimalVisualLexicon.NETWORK_HEIGHT)) {
+ int w = iframe.getSize().width;
+ int h = ((Double) value).intValue();
+ updateNetworkSize(id, w, h);
+ }
+ }
+ };
- if (vp.equals(MinimalVisualLexicon.NETWORK_WIDTH)) {
- int w = ((Double) value).intValue();
- int h = iframe.getSize().height;
- updateNetworkSize(id, w, h);
- } else if (vp.equals(MinimalVisualLexicon.NETWORK_HEIGHT)) {
- int w = iframe.getSize().width;
- int h = ((Double) value).intValue();
- updateNetworkSize(id, w, h);
- }
- }
- };
+ eventHelper.addMicroListener(nvcml,
NetworkViewChangeMicroListener.class, view);
+ netViewChangeListeners.put(view, nvcml);
- eventHelper.addMicroListener(nvcml,
NetworkViewChangeMicroListener.class, view);
- netViewChangeListeners.put(view, nvcml);
+ RowSetMicroListener rsml = new
AbstractNetworkNameListener(view.getModel()) {
+ @Override
+ public void updateNetworkName(CyNetwork net, String
name) {
+ final String title =
net.getCyRow().get(CyTableEntry.NAME, String.class);
+ updateNetworkTitle(net.getSUID(), title);
+ }
+ };
- RowSetMicroListener rsml = new
AbstractNetworkNameListener(view.getModel()) {
- @Override
- public void updateNetworkName(CyNetwork net, String name) {
- final String title = net.getCyRow().get(CyTableEntry.NAME,
String.class);
- updateNetworkTitle(net.getSUID(), title);
- }
- };
+ eventHelper.addMicroListener(rsml, RowSetMicroListener.class,
view.getModel().getCyRow());
+ nameListeners.put(view.getModel(), rsml);
+ }
- eventHelper.addMicroListener(rsml, RowSetMicroListener.class,
view.getModel().getCyRow());
- nameListeners.put(view.getModel(), rsml);
- }
+ @Override
+ public void handleEvent(SessionLoadedEvent e) {
+ CySession sess = e.getLoadedSession();
- @Override
- public void handleEvent(SessionLoadedEvent e) {
- CySession sess = e.getLoadedSession();
+ if (sess != null) {
+ Cysession cs = sess.getCysession();
- if (sess != null) {
- Cysession cs = sess.getCysession();
+ if (cs != null) {
+ // Restore frames positions
+ if
(cs.getSessionState().getDesktop().getNetworkFrames() != null) {
+ List<NetworkFrame> frames =
cs.getSessionState().getDesktop().getNetworkFrames().getNetworkFrame();
- if (cs != null) {
- // Restore frames positions
- if (cs.getSessionState().getDesktop().getNetworkFrames() !=
null) {
- List<NetworkFrame> frames =
cs.getSessionState().getDesktop().getNetworkFrames().getNetworkFrame();
+ for (NetworkFrame nf : frames) {
+ String frameName =
nf.getFrameID();
+ JInternalFrame[] internalFrames
= desktopPane.getAllFrames();
- for (NetworkFrame nf : frames) {
- String frameName = nf.getFrameID();
- JInternalFrame[] internalFrames =
desktopPane.getAllFrames();
+ for (JInternalFrame iframe :
internalFrames) {
+ if (iframe.getTitle()
!= null && iframe.getTitle().equals(frameName) && nf.getX() != null
+ &&
nf.getY() != null) {
- for (JInternalFrame iframe : internalFrames) {
- if (iframe.getTitle() != null &&
iframe.getTitle().equals(frameName) && nf.getX() != null
- && nf.getY() != null) {
-
- int x = nf.getX().intValue();
- int y = nf.getY().intValue();
- iframe.setLocation(x, y);
- }
+ int x =
nf.getX().intValue();
+ int y =
nf.getY().intValue();
+
iframe.setLocation(x, y);
+ }
+ }
+ }
+ }
}
- }
}
- }
}
- }
- private void updateNetworkTitle(Long networkModelID, String title) {
- JInternalFrame frame = presentationContainerMap.get(networkModelID);
+ private void updateNetworkTitle(Long networkModelID, String title) {
+ JInternalFrame frame =
presentationContainerMap.get(networkModelID);
- if (frame != null) {
- frame.setTitle(title);
- frame.repaint();
+ if (frame != null) {
+ frame.setTitle(title);
+ frame.repaint();
+ }
}
- }
- private void updateNetworkSize(final Long networkModelID, int width, int
height) {
- final JInternalFrame frame =
presentationContainerMap.get(networkModelID);
+ private void updateNetworkSize(final Long networkModelID, int width,
int height) {
+ final JInternalFrame frame =
presentationContainerMap.get(networkModelID);
- if (frame == null)
- return;
+ if (frame == null)
+ return;
- if (width > 0 && height > 0)
- frame.setSize(new Dimension(width, height));
- }
-
- private void setFocus(Long networkModelID) {
- if (networkModelID == null) {
- logger.warn("Set Focus method got a null as target ID.");
- return;
+ if (width > 0 && height > 0)
+ frame.setSize(new Dimension(width, height));
}
- final CyNetworkView targetViewModel =
networkViewManager.getNetworkView(networkModelID);
- if (targetViewModel == null) {
- logger.debug("View model does not exist for model ID: " +
networkModelID);
- return;
- }
+ private void setFocus(Long networkModelID) {
+ if (networkModelID == null) {
+ logger.warn("Set Focus method got a null as target
ID.");
+ return;
+ }
- // make sure we're not redundant
- if (currentPresentationContainerID != null &&
currentPresentationContainerID.equals(networkModelID)) {
- logger.debug("Same as current focus. No need to update focus:
model ID = " + networkModelID);
- return;
- }
+ final CyNetworkView targetViewModel =
networkViewManager.getNetworkView(networkModelID);
+ if (targetViewModel == null) {
+ logger.debug("View model does not exist for model ID: "
+ networkModelID);
+ return;
+ }
- currentPresentationContainerID = networkModelID;
+ // make sure we're not redundant
+ if (currentPresentationContainerID != null &&
currentPresentationContainerID.equals(networkModelID)) {
+ logger.debug("Same as current focus. No need to update
focus: model ID = " + networkModelID);
+ return;
+ }
- // Reset focus on frames
- for (JInternalFrame f : presentationContainerMap.values()) {
- try {
- f.setSelected(false);
- } catch (PropertyVetoException pve) {
- logger.error("Couldn't reset focus for internal frames.", pve);
- }
- }
+ currentPresentationContainerID = networkModelID;
- // Set focus
- if (presentationContainerMap.containsKey(networkModelID)) {
- try {
- logger.debug("Updating JInternalFrame selection");
- final JInternalFrame curr =
presentationContainerMap.get(networkModelID);
+ // Reset focus on frames
+ for (JInternalFrame f : presentationContainerMap.values()) {
+ try {
+ f.setSelected(false);
+ } catch (PropertyVetoException pve) {
+ logger.error("Couldn't reset focus for internal
frames.", pve);
+ }
+ }
- curr.setIcon(false);
- curr.show();
- // fires internalFrameActivated
- curr.setSelected(true);
+ // Set focus
+ if (presentationContainerMap.containsKey(networkModelID)) {
+ try {
+ logger.debug("Updating JInternalFrame
selection");
+ final JInternalFrame curr =
presentationContainerMap.get(networkModelID);
- } catch (Exception ex) {
- logger.error("Could not update focus: ", ex);
- }
- } else {
- logger.debug("Frame was not found. Need to create new frame for
presentation.");
+ curr.setIcon(false);
+ curr.show();
+ // fires internalFrameActivated
+ curr.setSelected(true);
+
+ } catch (Exception ex) {
+ logger.error("Could not update focus: ", ex);
+ }
+ } else {
+ logger.debug("Frame was not found. Need to create new
frame for presentation.");
+ }
}
- }
}
--
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.