Author: rozagh
Date: 2012-06-12 14:18:24 -0700 (Tue, 12 Jun 2012)
New Revision: 29536
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
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/DNodeView.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderingEngineFactory.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingViewModelFactory.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/ding/NetworkViewTestSupport.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNetworkViewTest.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNodeViewTest.java
Log:
fixes #1086 set the nestednetworkview in the DNodeView, for this
CyNetworkViewManager needed to be passed to DNodeView and consequently all
preceding classes (i.e. DGrahView, DingRenderingEngineFactory and
DingViewModelFactory)
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -61,6 +61,8 @@
import org.cytoscape.model.CyNetworkManager;
import org.cytoscape.model.CyNetworkTableManager;
import org.cytoscape.model.CyTableFactory;
+import org.cytoscape.model.events.SetNetworkPointerListener;
+import org.cytoscape.model.events.UnsetNetworkPointerListener;
import org.cytoscape.model.subnetwork.CyRootNetworkManager;
import org.cytoscape.property.CyProperty;
import org.cytoscape.property.PropertyUpdatedListener;
@@ -75,6 +77,7 @@
import org.cytoscape.view.model.CyNetworkViewFactory;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.model.events.NetworkViewChangedListener;
import org.cytoscape.view.presentation.RenderingEngineManager;
import org.cytoscape.view.presentation.property.values.BendFactory;
import org.cytoscape.view.presentation.property.values.HandleFactory;
@@ -139,7 +142,7 @@
cyDataTableFactoryServiceRef,
cyRootNetworkFactoryServiceRef, undoSupportServiceRef,
spacialIndex2DFactoryServiceRef,
dVisualLexicon, dialogTaskManager,
cyServiceRegistrarRef,
cyNetworkTableManagerServiceRef, cyEventHelperServiceRef,
- vtfListener, annotationFactoryManager,
dingGraphLOD, vmmServiceRef);
+ vtfListener, annotationFactoryManager,
dingGraphLOD, vmmServiceRef,cyNetworkViewManagerServiceRef);
DingNavigationRenderingEngineFactory
dingNavigationRenderingEngineFactory = new DingNavigationRenderingEngineFactory(
cyServiceRegistrarServiceRef, dVisualLexicon,
renderingEngineManagerServiceRef,
applicationManagerServiceRef);
@@ -153,7 +156,7 @@
DingViewModelFactory dingNetworkViewFactory = new
DingViewModelFactory(cyDataTableFactoryServiceRef,
cyRootNetworkFactoryServiceRef,
undoSupportServiceRef, spacialIndex2DFactoryServiceRef, dVisualLexicon,
dialogTaskManager, cyServiceRegistrarRef,
cyNetworkTableManagerServiceRef,
- cyEventHelperServiceRef, vtfListener,
annotationFactoryManager, dingGraphLOD, vmmServiceRef);
+ cyEventHelperServiceRef, vtfListener,
annotationFactoryManager, dingGraphLOD, vmmServiceRef,
cyNetworkViewManagerServiceRef);
// Edge Bend editor
EdgeBendValueEditor edgeBendValueEditor = new
EdgeBendValueEditor(cyNetworkFactory, dingNetworkViewFactory,
@@ -397,6 +400,7 @@
final CustomGraphicsSizeDependencyFactory
customGraphicsSizeDependencyFactory = new
CustomGraphicsSizeDependencyFactory(dVisualLexicon);
registerService(bc, customGraphicsSizeDependencyFactory,
VisualPropertyDependencyFactory.class, new Properties());
+
}
private void startCustomGraphicsMgr(BundleContext bc) {
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-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -120,6 +120,7 @@
import org.cytoscape.util.intr.LongHash;
import org.cytoscape.util.intr.LongStack;
import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.View;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.model.VisualProperty;
@@ -406,6 +407,8 @@
private final VisualMappingManager vmm;
+ private final CyNetworkViewManager netViewMgr;
+
/**
* Create presentation from View Model
*
@@ -418,10 +421,11 @@
DialogTaskManager manager,
CyEventHelper eventHelper,
CyNetworkTableManager tableMgr,
- AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
+ AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm,
+ final CyNetworkViewManager netViewMgr) {
this(view.getModel(), dataFactory, cyRoot, undo,
spacialFactory, dingLexicon,
- vtfl, manager, eventHelper, tableMgr, annMgr,
dingGraphLOD, vmm);
+ vtfl, manager, eventHelper, tableMgr, annMgr,
dingGraphLOD, vmm, netViewMgr);
}
@@ -448,7 +452,8 @@
DialogTaskManager manager,
CyEventHelper cyEventHelper,
CyNetworkTableManager tableMgr,
- AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
+ AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm,
+ final CyNetworkViewManager netViewMgr) {
super(model);
this.props = new Properties();
this.vmm = vmm;
@@ -464,6 +469,7 @@
this.cyEdgeViewContextMenuFactory =
vtfl.cyEdgeViewContextMenuFactory;
this.cyNodeViewContextMenuFactory =
vtfl.cyNodeViewContexMenuFactory;
+ this.netViewMgr = netViewMgr;
this.manager = manager;
this.cyEventHelper = cyEventHelper;
this.annMgr = annMgr;
@@ -819,7 +825,7 @@
m_drawPersp.addNode(node);
- final DNodeView dNodeView = new DNodeView(dingLexicon, this,
nodeInx, node, vmm);
+ final DNodeView dNodeView = new DNodeView(dingLexicon, this,
nodeInx, node, vmm, netViewMgr);
m_nodeViewMap.put(node, dNodeView);
m_spacial.insert(nodeInx, m_defaultNodeXMin, m_defaultNodeYMin,
m_defaultNodeXMax, m_defaultNodeYMax);
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -41,6 +41,7 @@
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -69,6 +70,8 @@
import org.cytoscape.graph.render.immed.GraphGraphics;
import org.cytoscape.graph.render.stateful.CustomGraphic;
import org.cytoscape.model.CyNode;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.model.VisualLexiconNode;
import org.cytoscape.view.model.VisualProperty;
@@ -197,7 +200,10 @@
private final VisualMappingManager vmm;
- public DNodeView(final VisualLexicon lexicon, final DGraphView
graphView, long inx, final CyNode model, final VisualMappingManager vmm) {
+ private final CyNetworkViewManager netViewMgr;
+
+ public DNodeView(final VisualLexicon lexicon, final DGraphView
graphView, long inx, final CyNode model, final VisualMappingManager vmm,
+ final CyNetworkViewManager netViewMgr) {
super(model);
if (graphView == null)
@@ -209,6 +215,8 @@
this.vmm = vmm;
this.labelPosition = new ObjectPositionImpl();
+ this.netViewMgr = netViewMgr;
+
// Initialize custom graphics pool.
cgMap = new HashMap<VisualProperty<?>, Set<CustomGraphic>>();
@@ -1065,13 +1073,15 @@
IMAGE_HEIGHT);
return new
TexturePaint(RECURSIVE_NESTED_NETWORK_IMAGE, rect);
}
- if (nestedNetworkView != null) {
+ //if (nestedNetworkView == null) //to avoid
performance penalty
+ setNestedNetworkView();
+ if (nestedNetworkView != null) {
final double scaleFactor =
graphView.getGraphLOD().getNestedNetworkImageScaleFactor();
return
nestedNetworkView.getSnapshot(IMAGE_WIDTH * scaleFactor, IMAGE_HEIGHT *
scaleFactor);
} else {
if (DEFAULT_NESTED_NETWORK_IMAGE ==
null)
return null;
-
+
final Rectangle2D rect = new
Rectangle2D.Double(-IMAGE_WIDTH / 2, -IMAGE_HEIGHT / 2, IMAGE_WIDTH,
IMAGE_HEIGHT);
return new
TexturePaint(DEFAULT_NESTED_NETWORK_IMAGE, rect);
@@ -1082,8 +1092,18 @@
}
}
- public void setNestedNetworkView(final DGraphView nestedNetworkView) {
- this.nestedNetworkView = nestedNetworkView;
+ public void setNestedNetworkView() {
+
+ if(this.getModel().getNetworkPointer() == null)
+ this.nestedNetworkView = null;
+ else{
+ List<CyNetworkView> netviews = new
ArrayList<CyNetworkView>(netViewMgr.getNetworkViews(this.getModel().getNetworkPointer())
);
+ if (netviews!= null && !netviews.isEmpty() )
+ this.nestedNetworkView = (DGraphView)
netviews.get(netviews.size() -1 );
+ else
+ this.nestedNetworkView = null;
+ }
+
}
/**
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderingEngineFactory.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderingEngineFactory.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderingEngineFactory.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -18,6 +18,7 @@
import org.cytoscape.service.util.CyServiceRegistrar;
import org.cytoscape.spacial.SpacialIndex2DFactory;
import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.View;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.presentation.RenderingEngine;
@@ -51,6 +52,8 @@
private DingGraphLOD dingGraphLOD;
private final VisualMappingManager vmm;
+ private final CyNetworkViewManager netViewMgr;
+
public DingRenderingEngineFactory(CyTableFactory dataTableFactory,
CyRootNetworkManager rootNetworkManager, UndoSupport
undo,
SpacialIndex2DFactory spacialFactory, VisualLexicon
dingLexicon,
@@ -59,7 +62,8 @@
CyNetworkTableManager tableMgr,
CyEventHelper eventHelper,
ViewTaskFactoryListener vtfListener,
- AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
+ AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm,
+ final CyNetworkViewManager netViewMgr) {
this.dataTableFactory = dataTableFactory;
this.rootNetworkManager = rootNetworkManager;
@@ -73,6 +77,8 @@
this.annMgr = annMgr;
this.vmm=vmm;
+ this.netViewMgr = netViewMgr;
+
this.vtfListener = vtfListener;
this.dingGraphLOD = dingGraphLOD;
@@ -114,7 +120,7 @@
else
dgv = new DGraphView(targetView,
dataTableFactory,
rootNetworkManager, undo,
spacialFactory, dingLexicon,
- vtfListener,dialogTaskManager,
eventHelper, tableMgr, annMgr, dingGraphLOD, vmm);
+ vtfListener,dialogTaskManager,
eventHelper, tableMgr, annMgr, dingGraphLOD, vmm, netViewMgr);
logger.info("DGraphView created as a presentation for
view model: "
+ targetView.getSUID());
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingViewModelFactory.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingViewModelFactory.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingViewModelFactory.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -13,6 +13,7 @@
import org.cytoscape.spacial.SpacialIndex2DFactory;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
@@ -40,12 +41,15 @@
private final DingGraphLOD dingGraphLOD;
private final VisualMappingManager vmm;
+ private final CyNetworkViewManager netViewMgr;
+
public DingViewModelFactory(CyTableFactory dataTableFactory,
CyRootNetworkManager rootNetworkManager,
UndoSupport undo, SpacialIndex2DFactory spacialFactory,
VisualLexicon dingLexicon,
DialogTaskManager dialogTaskManager,
CyServiceRegistrar registrar, CyNetworkTableManager
tableMgr, CyEventHelper eventHelper,
ViewTaskFactoryListener vtfListener,
- AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
+ AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm,
+ final CyNetworkViewManager netViewMgr) {
this.dataTableFactory = dataTableFactory;
this.rootNetworkManager = rootNetworkManager;
@@ -60,6 +64,8 @@
this.annMgr = annMgr;
this.dingGraphLOD = dingGraphLOD;
this.vmm=vmm;
+
+ this.netViewMgr = netViewMgr;
}
@Override
@@ -68,7 +74,7 @@
throw new IllegalArgumentException("Cannot create view
without model.");
final DGraphView dgv = new DGraphView(network,
dataTableFactory, rootNetworkManager, undo, spacialFactory, dingLexicon,
- vtfListener, dialogTaskManager, eventHelper,
tableMgr, annMgr, dingGraphLOD, vmm);
+ vtfListener, dialogTaskManager, eventHelper,
tableMgr, annMgr, dingGraphLOD, vmm, netViewMgr);
registrar.registerAllServices(dgv, new Properties());
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/ding/NetworkViewTestSupport.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/ding/NetworkViewTestSupport.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/ding/NetworkViewTestSupport.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -15,6 +15,7 @@
import org.cytoscape.spacial.internal.rtree.RTreeFactory;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
@@ -41,7 +42,8 @@
mock(CyEventHelper.class),
mock(ViewTaskFactoryListener.class),
mock(AnnotationFactoryManager.class),
-
mock(DingGraphLOD.class), mock(VisualMappingManager.class));
+
mock(DingGraphLOD.class), mock(VisualMappingManager.class),
+
mock(CyNetworkViewManager.class));
}
public CyNetworkView getNetworkView() {
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNetworkViewTest.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNetworkViewTest.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNetworkViewTest.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -22,6 +22,7 @@
import org.cytoscape.task.NetworkViewTaskFactory;
import org.cytoscape.task.NodeViewTaskFactory;
import org.cytoscape.view.model.AbstractCyNetworkViewTest;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
@@ -65,6 +66,10 @@
@Mock
private VisualMappingManager vmm;
+ @Mock
+ private CyNetworkViewManager netViewMgr;
+
+
private final TableTestSupport tableSupport = new TableTestSupport();
private final NetworkTestSupport netSupport = new NetworkTestSupport();
@@ -82,7 +87,7 @@
vtfl,
/*nodeViewTFs, edgeViewTFs, emptySpaceTFs,
dropNodeViewTFs,
dropEmptySpaceTFs, */
- manager, eventHelper, tableMgr,annMgr,
dingGRaphLOD, vmm);
+ manager, eventHelper, tableMgr,annMgr,
dingGRaphLOD, vmm, netViewMgr);
}
@Override
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNodeViewTest.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNodeViewTest.java
2012-06-12 20:39:21 UTC (rev 29535)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNodeViewTest.java
2012-06-12 21:18:24 UTC (rev 29536)
@@ -36,6 +36,7 @@
import org.cytoscape.task.EdgeViewTaskFactory;
import org.cytoscape.task.NetworkViewTaskFactory;
import org.cytoscape.task.NodeViewTaskFactory;
+import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
import org.cytoscape.view.presentation.property.values.NodeShape;
@@ -88,6 +89,9 @@
private DingGraphLOD dingGraphLOD;
@Mock
+ private CyNetworkViewManager netViewMgr;
+
+ @Mock
private VisualMappingManager vmm;
private final TableTestSupport tableSupport = new TableTestSupport();
@@ -119,7 +123,7 @@
networkView = new DGraphView(network, dataFactory, cyRoot,
undo, spacialFactory, lexicon,
vtfl,
/*nodeViewTFs, edgeViewTFs, emptySpaceTFs,
dropNodeViewTFs,
- dropEmptySpaceTFs,*/ manager, eventHelper,
tableMgr, annMgr, dingGraphLOD, vmm);
+ dropEmptySpaceTFs,*/ manager, eventHelper,
tableMgr, annMgr, dingGraphLOD, vmm, netViewMgr);
dnv1 = (DNodeView) networkView.getDNodeView(node1);
dnv2 = (DNodeView) networkView.getDNodeView(node2);
--
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.