Author: kono
Date: 2012-06-08 17:40:52 -0700 (Fri, 08 Jun 2012)
New Revision: 29517
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/main/java/org/cytoscape/ding/impl/visualproperty/CustomGraphicsVisualProperty.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 #1098 Fit custom graphics size dependency had been fixed.
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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -102,6 +102,7 @@
private void startPresentationImpl(BundleContext bc) {
+ VisualMappingManager vmmServiceRef = getService(bc,
VisualMappingManager.class);
CyServiceRegistrar cyServiceRegistrarServiceRef =
getService(bc, CyServiceRegistrar.class);
CyApplicationManager applicationManagerServiceRef =
getService(bc, CyApplicationManager.class);
CustomGraphicsManager customGraphicsManagerServiceRef =
getService(bc, CustomGraphicsManager.class);
@@ -138,7 +139,7 @@
cyDataTableFactoryServiceRef,
cyRootNetworkFactoryServiceRef, undoSupportServiceRef,
spacialIndex2DFactoryServiceRef,
dVisualLexicon, dialogTaskManager,
cyServiceRegistrarRef,
cyNetworkTableManagerServiceRef, cyEventHelperServiceRef,
- vtfListener, annotationFactoryManager,
dingGraphLOD);
+ vtfListener, annotationFactoryManager,
dingGraphLOD, vmmServiceRef);
DingNavigationRenderingEngineFactory
dingNavigationRenderingEngineFactory = new DingNavigationRenderingEngineFactory(
cyServiceRegistrarServiceRef, dVisualLexicon,
renderingEngineManagerServiceRef,
applicationManagerServiceRef);
@@ -152,7 +153,7 @@
DingViewModelFactory dingNetworkViewFactory = new
DingViewModelFactory(cyDataTableFactoryServiceRef,
cyRootNetworkFactoryServiceRef,
undoSupportServiceRef, spacialIndex2DFactoryServiceRef, dVisualLexicon,
dialogTaskManager, cyServiceRegistrarRef,
cyNetworkTableManagerServiceRef,
- cyEventHelperServiceRef, vtfListener,
annotationFactoryManager, dingGraphLOD);
+ cyEventHelperServiceRef, vtfListener,
annotationFactoryManager, dingGraphLOD, vmmServiceRef);
// Edge Bend editor
EdgeBendValueEditor edgeBendValueEditor = new
EdgeBendValueEditor(cyNetworkFactory, dingNetworkViewFactory,
@@ -406,8 +407,9 @@
CyApplicationConfiguration cyApplicationConfigurationServiceRef
= getService(bc,
CyApplicationConfiguration.class);
CyEventHelper eventHelperServiceRef = getService(bc,
CyEventHelper.class);
+
VisualMappingManager vmmServiceRef = getService(bc,
VisualMappingManager.class);
-
+
CustomGraphicsManagerImpl customGraphicsManager = new
CustomGraphicsManagerImpl(coreCyPropertyServiceRef,
dialogTaskManagerServiceRef,
cyApplicationConfigurationServiceRef, eventHelperServiceRef,
vmmServiceRef, cyApplicationManagerServiceRef,
getdefaultImageURLs(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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DGraphView.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -132,6 +132,7 @@
import org.cytoscape.view.model.events.UpdateNetworkPresentationEvent;
import org.cytoscape.view.presentation.RenderingEngine;
import org.cytoscape.view.presentation.property.BasicVisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
import org.slf4j.Logger;
@@ -402,6 +403,8 @@
private final AnnotationFactoryManager annMgr;
private boolean annotationsLoaded = false;
+
+ private final VisualMappingManager vmm;
/**
* Create presentation from View Model
@@ -415,10 +418,10 @@
DialogTaskManager manager,
CyEventHelper eventHelper,
CyNetworkTableManager tableMgr,
- AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD) {
+ AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
this(view.getModel(), dataFactory, cyRoot, undo,
spacialFactory, dingLexicon,
- vtfl, manager, eventHelper, tableMgr, annMgr,
dingGraphLOD);
+ vtfl, manager, eventHelper, tableMgr, annMgr,
dingGraphLOD, vmm);
}
@@ -445,9 +448,10 @@
DialogTaskManager manager,
CyEventHelper cyEventHelper,
CyNetworkTableManager tableMgr,
- AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD) {
+ AnnotationFactoryManager annMgr, final DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
super(model);
this.props = new Properties();
+ this.vmm = vmm;
long start = System.currentTimeMillis();
logger.debug("Phase 1: rendering start.");
@@ -815,7 +819,7 @@
m_drawPersp.addNode(node);
- final DNodeView dNodeView = new DNodeView(dingLexicon, this,
nodeInx, node);
+ final DNodeView dNodeView = new DNodeView(dingLexicon, this,
nodeInx, node, vmm);
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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DNodeView.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -76,6 +76,8 @@
import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
import org.cytoscape.view.presentation.property.values.LineType;
import org.cytoscape.view.presentation.property.values.NodeShape;
+import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.view.vizmap.VisualPropertyDependency;
/**
* DING implementation of View Model and Presentation.
@@ -193,8 +195,9 @@
// Visual Properties used in this node view.
private final VisualLexicon lexicon;
+ private final VisualMappingManager vmm;
- public DNodeView(final VisualLexicon lexicon, final DGraphView
graphView, long inx, final CyNode model) {
+ public DNodeView(final VisualLexicon lexicon, final DGraphView
graphView, long inx, final CyNode model, final VisualMappingManager vmm) {
super(model);
if (graphView == null)
@@ -203,6 +206,7 @@
throw new NullPointerException("Lexicon must never be
null!");
this.lexicon = lexicon;
+ this.vmm = vmm;
this.labelPosition = new ObjectPositionImpl();
// Initialize custom graphics pool.
@@ -1256,8 +1260,14 @@
// Check dependency. Sync size or not.
final VisualProperty<?> cgSizeVP =
DVisualLexicon.getAssociatedCustomGraphicsSizeVP(vp);
- final VisualLexiconNode sizeTreeNode =
lexicon.getVisualLexiconNode(cgSizeVP);
- //boolean sync = sizeTreeNode.isDepend();
+ Set<VisualPropertyDependency<?>> dependencies =
vmm.getCurrentVisualStyle().getAllVisualPropertyDependencies();
+ boolean sync = false;
+ for(VisualPropertyDependency dep:dependencies) {
+
if(dep.getIdString().equals("nodeCustomGraphicsSizeSync")) {
+ sync = dep.isDependencyEnabled();
+ break;
+ }
+ }
final VisualProperty<ObjectPosition> cgPositionVP =
DVisualLexicon.getAssociatedCustomGraphicsPositionVP(vp);
final ObjectPosition positionValue =
getVisualProperty(cgPositionVP);
@@ -1267,12 +1277,10 @@
CustomGraphic newCG = layer.getLayerObject();
CustomGraphic finalCG = newCG;
- //FIXME
-// if (sync) {
-// // Size is locked to node size.
-// finalCG = syncSize(customGraphics, newCG,
lexicon.getVisualLexiconNode(BasicVisualLexicon.NODE_WIDTH)
-// .isDepend());
-// }
+ if (sync) {
+ // Size is locked to node size.
+ finalCG = syncSize(customGraphics, newCG);
+ }
finalCG = moveCustomGraphicsToNewPosition(finalCG,
positionValue);
addCustomGraphic(finalCG);
@@ -1318,7 +1326,7 @@
this.cgMap.put(parent, currentCG);
}
- private CustomGraphic syncSize(CyCustomGraphics<?> graphics, final
CustomGraphic cg, final boolean whLock) {
+ private CustomGraphic syncSize(CyCustomGraphics<?> graphics, final
CustomGraphic cg) {
final double nodeW = this.getWidth();
final double nodeH = this.getHeight();
@@ -1335,16 +1343,11 @@
final AffineTransform scale;
final float fit = graphics.getFitRatio();
- if (whLock || graphics instanceof VectorCustomGraphics) {
- scale = AffineTransform.getScaleInstance(fit * nodeW /
cgW, fit * nodeH / cgH);
+ // Case 1: node height value is larger than width
+ if (nodeW >= nodeH) {
+ scale = AffineTransform.getScaleInstance(fit * (nodeW /
cgW) * (nodeH / nodeW), fit * nodeH / cgH);
} else {
- // Case 1: node height value is larger than width
- if (nodeW >= nodeH) {
- scale = AffineTransform.getScaleInstance(fit *
(nodeW / cgW) * (nodeH / nodeW), fit * nodeH / cgH);
- } else {
- scale = AffineTransform.getScaleInstance(fit *
nodeW / cgW, fit * (nodeH / cgH) * (nodeW / nodeH));
- }
-
+ scale = AffineTransform.getScaleInstance(fit * nodeW /
cgW, fit * (nodeH / cgH) * (nodeW / nodeH));
}
return new
CustomGraphic(scale.createTransformedShape(originalShape),
cg.getPaintFactory());
}
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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingRenderingEngineFactory.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -23,6 +23,7 @@
import org.cytoscape.view.presentation.RenderingEngine;
import org.cytoscape.view.presentation.RenderingEngineFactory;
import org.cytoscape.view.presentation.RenderingEngineManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
import org.slf4j.Logger;
@@ -48,6 +49,7 @@
private ViewTaskFactoryListener vtfListener;
private DingGraphLOD dingGraphLOD;
+ private final VisualMappingManager vmm;
public DingRenderingEngineFactory(CyTableFactory dataTableFactory,
CyRootNetworkManager rootNetworkManager, UndoSupport
undo,
@@ -57,7 +59,7 @@
CyNetworkTableManager tableMgr,
CyEventHelper eventHelper,
ViewTaskFactoryListener vtfListener,
- AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD) {
+ AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
this.dataTableFactory = dataTableFactory;
this.rootNetworkManager = rootNetworkManager;
@@ -69,6 +71,7 @@
this.tableMgr = tableMgr;
this.eventHelper = eventHelper;
this.annMgr = annMgr;
+ this.vmm=vmm;
this.vtfListener = vtfListener;
@@ -111,7 +114,7 @@
else
dgv = new DGraphView(targetView,
dataTableFactory,
rootNetworkManager, undo,
spacialFactory, dingLexicon,
- vtfListener,dialogTaskManager,
eventHelper, tableMgr, annMgr, dingGraphLOD);
+ vtfListener,dialogTaskManager,
eventHelper, tableMgr, annMgr, dingGraphLOD, vmm);
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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/DingViewModelFactory.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -14,6 +14,7 @@
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewFactory;
import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
import org.slf4j.Logger;
@@ -37,13 +38,14 @@
private final AnnotationFactoryManager annMgr;
private final DingGraphLOD dingGraphLOD;
+ private final VisualMappingManager vmm;
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) {
+ AnnotationFactoryManager annMgr, DingGraphLOD
dingGraphLOD, final VisualMappingManager vmm) {
this.dataTableFactory = dataTableFactory;
this.rootNetworkManager = rootNetworkManager;
@@ -57,6 +59,7 @@
this.vtfListener = vtfListener;
this.annMgr = annMgr;
this.dingGraphLOD = dingGraphLOD;
+ this.vmm=vmm;
}
@Override
@@ -65,7 +68,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);
+ vtfListener, dialogTaskManager, eventHelper,
tableMgr, annMgr, dingGraphLOD, vmm);
registrar.registerAllServices(dgv, new Properties());
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/visualproperty/CustomGraphicsVisualProperty.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/visualproperty/CustomGraphicsVisualProperty.java
2012-06-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/visualproperty/CustomGraphicsVisualProperty.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -26,7 +26,6 @@
if(NullCustomGraphics.getNullObject().toString().equals(value)
|| value.contains("NullCustomGraphics")) {
return NullCustomGraphics.getNullObject();
} else {
- System.out.println("CG String = " + value);
final String[] parts = value.split(",");
return new
DummyCustomGraphics(Long.parseLong(parts[1]), parts[2]);
}
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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/ding/NetworkViewTestSupport.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -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.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
@@ -40,7 +41,7 @@
mock(CyEventHelper.class),
mock(ViewTaskFactoryListener.class),
mock(AnnotationFactoryManager.class),
-
mock(DingGraphLOD.class));
+
mock(DingGraphLOD.class), mock(VisualMappingManager.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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNetworkViewTest.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -23,6 +23,7 @@
import org.cytoscape.task.NodeViewTaskFactory;
import org.cytoscape.view.model.AbstractCyNetworkViewTest;
import org.cytoscape.view.model.VisualLexicon;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
import org.junit.Before;
@@ -61,6 +62,9 @@
@Mock
private DingGraphLOD dingGRaphLOD;
+ @Mock
+ private VisualMappingManager vmm;
+
private final TableTestSupport tableSupport = new TableTestSupport();
private final NetworkTestSupport netSupport = new NetworkTestSupport();
@@ -78,7 +82,7 @@
vtfl,
/*nodeViewTFs, edgeViewTFs, emptySpaceTFs,
dropNodeViewTFs,
dropEmptySpaceTFs, */
- manager, eventHelper, tableMgr,annMgr,
dingGRaphLOD);
+ manager, eventHelper, tableMgr,annMgr,
dingGRaphLOD, vmm);
}
@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-09 00:24:51 UTC (rev 29516)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/test/java/org/cytoscape/view/DNodeViewTest.java
2012-06-09 00:40:52 UTC (rev 29517)
@@ -39,6 +39,7 @@
import org.cytoscape.view.model.VisualLexicon;
import org.cytoscape.view.presentation.property.NodeShapeVisualProperty;
import org.cytoscape.view.presentation.property.values.NodeShape;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.swing.DialogTaskManager;
import org.cytoscape.work.undo.UndoSupport;
import org.junit.After;
@@ -86,6 +87,9 @@
@Mock
private DingGraphLOD dingGraphLOD;
+ @Mock
+ private VisualMappingManager vmm;
+
private final TableTestSupport tableSupport = new TableTestSupport();
private final NetworkTestSupport netSupport = new NetworkTestSupport();
@@ -115,7 +119,7 @@
networkView = new DGraphView(network, dataFactory, cyRoot,
undo, spacialFactory, lexicon,
vtfl,
/*nodeViewTFs, edgeViewTFs, emptySpaceTFs,
dropNodeViewTFs,
- dropEmptySpaceTFs,*/ manager, eventHelper,
tableMgr, annMgr, dingGraphLOD);
+ dropEmptySpaceTFs,*/ manager, eventHelper,
tableMgr, annMgr, dingGraphLOD, vmm);
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.