Author: clopes
Date: 2012-06-07 12:23:12 -0700 (Thu, 07 Jun 2012)
New Revision: 29499
Modified:
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
Log:
Fixed a couple of bugs that could prevent the Bird's-Eye View from being
updated when importing networks or creating a new empty 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-06-07 17:44:10 UTC (rev 29498)
+++
core3/impl/trunk/application-impl/src/main/java/org/cytoscape/application/internal/CyApplicationManagerImpl.java
2012-06-07 19:23:12 UTC (rev 29499)
@@ -276,7 +276,6 @@
@Override
public void setCurrentRenderingEngine(RenderingEngine<CyNetwork>
engine) {
boolean changed = (engine == null && currentRenderer != null)
- || (engine != null && currentRenderer == null)
|| (engine != null &&
!engine.equals(currentRenderer));
this.currentRenderer = engine;
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-06-07 17:44:10 UTC (rev 29498)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-06-07 19:23:12 UTC (rev 29499)
@@ -97,7 +97,6 @@
import org.cytoscape.model.CyNetwork;
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyTable;
import org.cytoscape.model.CyTableFactory;
import org.cytoscape.model.events.AboutToRemoveEdgesEvent;
import org.cytoscape.model.events.AboutToRemoveEdgesListener;
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-06-07 17:44:10 UTC (rev 29498)
+++
core3/impl/trunk/session-impl/impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
2012-06-07 19:23:12 UTC (rev 29499)
@@ -484,7 +484,8 @@
// Clear undo stack
undo.reset();
- // Reset current table
+ // Reset current table and rendering engine
appMgr.setCurrentTable(null);
+ appMgr.setCurrentRenderingEngine(null);
}
}
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
2012-06-07 17:44:10 UTC (rev 29498)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/CyActivator.java
2012-06-07 19:23:12 UTC (rev 29499)
@@ -108,13 +108,11 @@
import org.cytoscape.task.NetworkViewCollectionTaskFactory;
import org.cytoscape.task.NetworkViewTaskFactory;
import org.cytoscape.task.TableTaskFactory;
-import org.cytoscape.task.visualize.ApplyVisualStyleTaskFactory;
import org.cytoscape.task.write.SaveSessionAsTaskFactory;
import org.cytoscape.util.swing.OpenBrowser;
import org.cytoscape.view.layout.CyLayoutAlgorithm;
import org.cytoscape.view.layout.CyLayoutAlgorithmManager;
import org.cytoscape.view.model.CyNetworkViewManager;
-import org.cytoscape.view.model.events.NetworkViewChangedListener;
import org.cytoscape.view.model.events.NetworkViewDestroyedListener;
import org.cytoscape.view.presentation.RenderingEngineFactory;
import org.cytoscape.view.presentation.RenderingEngineManager;
@@ -199,7 +197,8 @@
cytoscapePropertiesServiceRef,
cyHelpBroker);
BirdsEyeViewHandler birdsEyeViewHandler = new
BirdsEyeViewHandler(cyApplicationManagerServiceRef,
-
dingNavigationPresentationFactoryServiceRef);
+
dingNavigationPresentationFactoryServiceRef,
+
cyNetworkViewManagerServiceRef);
NetworkPanel networkPanel = new
NetworkPanel(cyApplicationManagerServiceRef,
cyNetworkManagerServiceRef,
cyNetworkViewManagerServiceRef,
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
2012-06-07 17:44:10 UTC (rev 29498)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/BirdsEyeViewHandler.java
2012-06-07 19:23:12 UTC (rev 29499)
@@ -77,6 +77,7 @@
private final JPanel bevPanel;
private final Map<CyNetworkView, RenderingEngine<?>> viewToEngineMap;
private final CyApplicationManager appManager;
+ private final CyNetworkViewManager netViewManager;
private final Map<CyNetworkView, JPanel> presentationMap;
/**
@@ -86,13 +87,16 @@
* @param defaultFactory
*/
public BirdsEyeViewHandler(final CyApplicationManager appManager,
- final RenderingEngineFactory<CyNetwork> defaultFactory)
{
+ final
RenderingEngineFactory<CyNetwork> defaultFactory,
+ final
CyNetworkViewManager netViewManager) {
this.appManager = appManager;
+ this.netViewManager = netViewManager;
this.viewToEngineMap = new WeakHashMap<CyNetworkView,
RenderingEngine<?>>();
- presentationMap = new WeakHashMap<CyNetworkView, JPanel>();
+ this.presentationMap = new WeakHashMap<CyNetworkView, JPanel>();
this.bevPanel = new JPanel();
+ this.bevPanel.setLayout(new BorderLayout());
this.bevPanel.setPreferredSize(DEF_PANEL_SIZE);
this.bevPanel.setSize(DEF_PANEL_SIZE);
this.bevPanel.setBackground(DEF_BACKGROUND_COLOR);
@@ -112,7 +116,7 @@
@Override
public void handleEvent(final SetCurrentRenderingEngineEvent e) {
final RenderingEngine<CyNetwork> newEngine =
e.getRenderingEngine();
-
+
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
@@ -121,57 +125,61 @@
});
}
+ @Override
+ public void handleEvent(final NetworkViewDestroyedEvent e) {
+ final CyNetworkViewManager manager = e.getSource();
+
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ removeView(manager);
+ }
+ });
+ }
+
private final void updateBEV(final RenderingEngine<CyNetwork>
newEngine) {
JPanel presentationPanel = null;
if (newEngine != null) {
- final CyNetworkView newViewModel = (CyNetworkView)
newEngine.getViewModel();
- presentationPanel = presentationMap.get(newViewModel);
-
- if (presentationPanel == null) {
- logger.debug("Creating new BEV for network
SUID: " + newViewModel.getModel().getSUID());
- presentationPanel = new JPanel();
- viewToEngineMap.put(newViewModel,
bevFactory.createRenderingEngine(presentationPanel, newViewModel));
- presentationMap.put((CyNetworkView)
newViewModel, presentationPanel);
+ final CyNetworkView newView = (CyNetworkView)
newEngine.getViewModel();
+
+ if
(netViewManager.getNetworkViewSet().contains(newView)) {
+ presentationPanel =
presentationMap.get(newView);
+
+ if (presentationPanel == null) {
+ logger.debug("Creating new BEV for: " +
newView);
+ presentationPanel = new JPanel();
+ viewToEngineMap.put(newView,
bevFactory.createRenderingEngine(presentationPanel, newView));
+ presentationMap.put((CyNetworkView)
newView, presentationPanel);
+ }
+
+ final Dimension currentPanelSize =
bevPanel.getSize();
+ presentationPanel.setSize(currentPanelSize);
+
presentationPanel.setPreferredSize(currentPanelSize);
}
-
- final Dimension currentPanelSize = bevPanel.getSize();
- bevPanel.setLayout(new BorderLayout());
- presentationPanel.setSize(currentPanelSize);
- presentationPanel.setPreferredSize(currentPanelSize);
}
bevPanel.removeAll();
- if (presentationPanel != null)
+ if (presentationPanel != null) {
bevPanel.add(presentationPanel, BorderLayout.CENTER);
+ bevPanel.revalidate(); // without this, the BEV might
not be updated right away
+ }
bevPanel.repaint();
}
- @Override
- public void handleEvent(final NetworkViewDestroyedEvent e) {
- final CyNetworkViewManager manager = e.getSource();
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- removeView(manager);
- }
- });
- }
-
private final void removeView(final CyNetworkViewManager manager) {
Set<CyNetworkView> toBeRemoved = new HashSet<CyNetworkView>();
- for (CyNetworkView view : this.presentationMap.keySet()) {
+
+ for (CyNetworkView view : presentationMap.keySet()) {
if (manager.getNetworkViewSet().contains(view) == false)
toBeRemoved.add(view);
}
for (CyNetworkView view : toBeRemoved) {
- JPanel panel = presentationMap.remove(view);
- RenderingEngine<?> engine =
viewToEngineMap.remove(view);
- panel = null;
- engine = null;
+ presentationMap.remove(view);
+ viewToEngineMap.remove(view);
}
toBeRemoved.clear();
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-06-07 17:44:10 UTC (rev 29498)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/NetworkViewManager.java
2012-06-07 19:23:12 UTC (rev 29499)
@@ -222,11 +222,13 @@
if (view != null) {
final RenderingEngine<CyNetwork> currentEngine =
appMgr.getCurrentRenderingEngine();
- if (netViewMgr.getNetworkViewSet().contains(view) &&
!view.equals(appMgr.getCurrentNetworkView()))
- appMgr.setCurrentNetworkView(view);
+ if (netViewMgr.getNetworkViewSet().contains(view)) {
+ if
(!view.equals(appMgr.getCurrentNetworkView()))
+ appMgr.setCurrentNetworkView(view);
- if (currentEngine == null ||
currentEngine.getViewModel() != view)
-
appMgr.setCurrentRenderingEngine(presentationMap.get(view));
+ if (currentEngine == null ||
currentEngine.getViewModel() != view)
+
appMgr.setCurrentRenderingEngine(presentationMap.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.