Author: paperwing
Date: 2011-06-08 11:48:58 -0700 (Wed, 08 Jun 2011)
New Revision: 25673
Added:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindMapRenderingEngineFactory.java
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/KeyboardMonitor.java
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/MouseMonitor.java
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/SampleAction.java
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/TestGraphics.java
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngine.java
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngineFactory.java
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Updated RenderingEngineFactory, RenderingEngine, also plans created for
organizing the RenderingEngine
Property changes on: csplugins/trunk/toronto/yuedong/paperwing-impl
___________________________________________________________________
Added: svn:ignore
+ target
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/KeyboardMonitor.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/KeyboardMonitor.java
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/KeyboardMonitor.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -1,11 +1,13 @@
package org.cytoscape.paperwing.internal;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Set;
import java.util.TreeSet;
-public class KeyboardMonitor implements KeyListener {
+public class KeyboardMonitor implements KeyListener, FocusListener {
private TreeSet<Integer> justPressed;
private TreeSet<Integer> keysDown;
@@ -68,6 +70,19 @@
justReleased.clear();
hasNew = false;
}
+
+ @Override
+ public void focusGained(FocusEvent event) {
+
+ }
+
+ @Override
+ public void focusLost(FocusEvent event) {
+ // Release all keys
+ justReleased.addAll(keysDown);
+ keysDown.clear();
+ hasNew = true;
+ }
}
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/MouseMonitor.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/MouseMonitor.java
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/MouseMonitor.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -1,6 +1,8 @@
package org.cytoscape.paperwing.internal;
import java.awt.AWTException;
import java.awt.Robot;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
@@ -10,7 +12,7 @@
import java.util.TreeSet;
-public class MouseMonitor implements MouseListener, MouseMotionListener,
MouseWheelListener {
+public class MouseMonitor implements MouseListener, MouseMotionListener,
MouseWheelListener, FocusListener {
private int prevX;
private int prevY;
private int currentX;
@@ -144,6 +146,19 @@
}
}
+
+ @Override
+ public void focusGained(FocusEvent event) {
+ }
+
+ @Override
+ public void focusLost(FocusEvent event) {
+ // Release all keys
+ justReleased.addAll(buttonsDown);
+ buttonsDown.clear();
+ ignoreNext = true;
+ hasNew = true;
+ }
}
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/SampleAction.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/SampleAction.java
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/SampleAction.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -59,7 +59,6 @@
// applicationManager.
canvas.addGLEventListener(graphics);
- graphics.getKeyListener();
frame.add(canvas);
frame.addWindowListener(new WindowAdapter() {
@@ -72,11 +71,7 @@
frame.setVisible(true);
- frame.addKeyListener(graphics.getKeyListener());
- canvas.addKeyListener(graphics.getKeyListener());
- canvas.addMouseListener(graphics.getMouseListener());
-
canvas.addMouseMotionListener(graphics.getMouseMotionListener());
- canvas.addMouseWheelListener(graphics.getMouseWheelListener());
+ graphics.trackInput(canvas);
FPSAnimator animator = new FPSAnimator(60);
animator.add(canvas);
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/TestGraphics.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/TestGraphics.java
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/TestGraphics.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -1,4 +1,5 @@
package org.cytoscape.paperwing.internal;
+import java.awt.Component;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
@@ -26,6 +27,7 @@
import org.cytoscape.session.CyApplicationManager;
import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.presentation.RenderingEngineManager;
@@ -42,9 +44,6 @@
private static final int EDGE_SLICES_DETAIL = 3;
private static final int EDGE_STACKS_DETAIL = 1;
- private DrawnNode[] nodes;
- private DrawnEdge[] edges;
-
private class DrawnNode {
public float x;
public float y;
@@ -61,6 +60,9 @@
public float rotateAngle;
public float length;
}
+
+ private DrawnNode[] nodes;
+ private DrawnEdge[] edges;
private int nodeListIndex;
private int edgeListIndex;
@@ -81,6 +83,15 @@
private CyNetworkViewManager networkViewManager;
private RenderingEngineManager renderingEngineManager;
+ static {
+
+ }
+
+ public static void initSingleton() {
+ GLProfile.initSingleton(false);
+ System.out.println("initSingleton called");
+ }
+
public TestGraphics() {
keys = new KeyboardMonitor();
mouse = new MouseMonitor();
@@ -90,22 +101,16 @@
new Vector3(0, 1, 0), 0.04, 0.003, 0.01, 0.01,
0.4);
}
- public KeyListener getKeyListener() {
- return keys;
+ public void trackInput(Component component) {
+ component.addMouseListener(mouse);
+ component.addMouseMotionListener(mouse);
+ component.addMouseWheelListener(mouse);
+ component.addFocusListener(mouse);
+
+ component.addKeyListener(keys);
+ component.addFocusListener(keys);
}
- public MouseListener getMouseListener() {
- return mouse;
- }
-
- public MouseMotionListener getMouseMotionListener() {
- return mouse;
- }
-
- public MouseWheelListener getMouseWheelListener() {
- return mouse;
- }
-
public void setManagers(CyApplicationManager applicationManager,
CyNetworkManager networkManager,
CyNetworkViewManager networkViewManager,
@@ -130,7 +135,6 @@
TestGraphics graphics = new TestGraphics();
canvas.addGLEventListener(graphics);
- graphics.getKeyListener();
frame.add(canvas);
frame.addWindowListener(new WindowAdapter() {
@@ -142,15 +146,12 @@
frame.setVisible(true);
- frame.addKeyListener(graphics.getKeyListener());
- canvas.addKeyListener(graphics.getKeyListener());
- canvas.addMouseListener(graphics.getMouseListener());
-
canvas.addMouseMotionListener(graphics.getMouseMotionListener());
- canvas.addMouseWheelListener(graphics.getMouseWheelListener());
+ graphics.trackInput(frame.getContentPane());
FPSAnimator animator = new FPSAnimator(60);
animator.add(canvas);
animator.start();
+ // animator.pause()
}
@Override
@@ -280,6 +281,11 @@
if (pressed.contains(KeyEvent.VK_N)) {
System.out.println("current rendering
engine: "
+
applicationManager.getCurrentRenderingEngine().getClass().getName());
+
+ System.out.println("number of rendering
engines: "
+ +
renderingEngineManager.getAllRenderingEngines().size());
+
+
}
if (pressed.contains(KeyEvent.VK_M)) {
@@ -291,7 +297,13 @@
}
if (pressed.contains(KeyEvent.VK_COMMA)) {
+ System.out.println("networkViewSet: " +
networkViewManager.getNetworkViewSet());
+ for (CyNetworkView view :
networkViewManager.getNetworkViewSet()) {
+ System.out.println("current
model: " + view.getModel());
+ System.out.println("current
model suid: " + view.getModel().getSUID());
+ System.out.println("current
suid: " + view.getSUID());
+ }
}
@@ -325,7 +337,7 @@
}
if (mouse.hasMoved() || mouse.hasNew()) {
- if (mouse.getHeld().contains(MouseEvent.BUTTON1)) {
+ if (keys.getHeld().contains(KeyEvent.VK_SHIFT)) {
camera.turnRight(mouse.dX());
camera.turnUp(mouse.dY());
}
Added:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindMapRenderingEngineFactory.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindMapRenderingEngineFactory.java
(rev 0)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindMapRenderingEngineFactory.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -0,0 +1,145 @@
+package org.cytoscape.paperwing.internal;
+
+import java.awt.BorderLayout;
+import java.awt.Container;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+
+import javax.media.opengl.GLCapabilities;
+import javax.media.opengl.GLProfile;
+import javax.media.opengl.awt.GLCanvas;
+import javax.media.opengl.awt.GLJPanel;
+import javax.swing.JComponent;
+import javax.swing.JInternalFrame;
+
+import org.cytoscape.model.CyNetwork;
+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;
+import org.cytoscape.view.presentation.RenderingEngineFactory;
+import org.cytoscape.view.presentation.RenderingEngineManager;
+
+import com.jogamp.opengl.util.FPSAnimator;
+
+public class WindMapRenderingEngineFactory implements
RenderingEngineFactory<CyNetwork> {
+
+ private CyNetworkViewManager networkViewManager;
+ private RenderingEngineManager renderingEngineManager;
+ private final VisualLexicon visualLexicon;
+
+ public WindMapRenderingEngineFactory(CyNetworkViewManager
networkViewManager, RenderingEngineManager renderingEngineManager,
VisualLexicon lexicon) {
+ this.networkViewManager = networkViewManager;
+ this.renderingEngineManager = renderingEngineManager;
+ this.visualLexicon = lexicon;
+ }
+
+ @Override
+ public RenderingEngine<CyNetwork> getInstance(
+ Object container, View<CyNetwork> viewModel) {
+
+ if (container instanceof JComponent) {
+ System.out.println("map getInstance called");
+
+ JComponent component = (JComponent) container;
+ // component.removeAll();
+ // System.out.println("number of components in
container after remove: " + component.getComponents().length);
+
+ // Use the system's default version of OpenGL
+ GLProfile profile = GLProfile.getDefault();
+
+ // TODO: changed true to false, check for performance
difference
+ // GLProfile.initSingleton(false);
+
+ GLCapabilities capabilities = new
GLCapabilities(profile);
+
+ // TODO: check whether to use GLCanvas or GLJPanel
+ // GLCanvas canvas = new GLCanvas(capabilities);
+ GLJPanel canvas = new GLJPanel(capabilities);
+ // canvas.setBorder(BorderFactory.createEmptyBorder(5,
5, 5, 5));
+
+ TestGraphics graphics = new TestGraphics();
+
+ canvas.addGLEventListener(graphics);
+
+ if (container instanceof JInternalFrame) {
+ JInternalFrame frame = (JInternalFrame)
container;
+ Container pane = frame.getContentPane();
+
+ graphics.trackInput(pane);
+
+ /*
+ JPanel panel = new JPanel();
+ panel.setLayout(new BorderLayout());
+ panel.add(canvas, BorderLayout.CENTER);
+ component.add(panel, BorderLayout.CENTER);
+ */
+
+ pane.setLayout(new BorderLayout());
+ pane.add(canvas, BorderLayout.CENTER);
+
+ // TODO: check if this line needed
+ pane.setVisible(true);
+ } else {
+ graphics.trackInput(component);
+ // graphics.trackInput(canvas);
+
+ component.setLayout(new BorderLayout());
+ // component.add(canvas, BorderLayout.CENTER);
+ }
+
+ graphics.setManagers(null, null, networkViewManager,
renderingEngineManager);
+
+ //FPSAnimator animator = new FPSAnimator(60);
+ //animator.add(canvas);
+ //animator.start();
+
+ // Animator animator = new Animator(canvas);
+ // animator.setRunAsFastAsPossible(true);
+ // animator.start();
+ }
+
+ /* For code below, seems that NetworkViewManager does not
contain references to all available NetworkViews
+ */
+ System.out.println("map given model: " + viewModel.getModel());
+ System.out.println("map given model suid: " +
viewModel.getModel().getSUID());
+ System.out.println("map given suid: " + viewModel.getSUID());
+ System.out.println("map networkViewSet: " +
networkViewManager.getNetworkViewSet());
+
+ /*
+ // CyNetworkView networkView =
networkViewManager.getNetworkView(viewModel.getSUID());
+ CyNetworkView networkView = null;
+ for (CyNetworkView view :
networkViewManager.getNetworkViewSet()) {
+ if (view.getModel() == viewModel.getModel()) {
+ networkView = view;
+ }
+ System.out.println("current model: " + view.getModel());
+ System.out.println("current model suid: " +
view.getModel().getSUID());
+ System.out.println("current suid: " + view.getSUID());
+
+
+ }
+ // viewModel.getModel().
+
+ System.out.println("Returning networkView: " + networkView);
+ */
+
+ //TODO: NetworkViewManager does not contain all instances of
CyNetworkView, so wait
+ WindRenderingEngine engine = new
WindRenderingEngine(networkViewManager, viewModel, visualLexicon);
+ System.out.println("map returning engine: " + engine);
+ renderingEngineManager.addRenderingEngine(engine);
+
+
+ // TODO Auto-generated method stub
+ return engine;
+ }
+
+ @Override
+ public VisualLexicon getVisualLexicon() {
+ // System.out.println("getVisualLexicon call");
+
+ return visualLexicon;
+ }
+
+}
Property changes on:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindMapRenderingEngineFactory.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngine.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngine.java
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngine.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -1,35 +1,128 @@
package org.cytoscape.paperwing.internal;
+import java.awt.BorderLayout;
import java.awt.Color;
+import java.awt.Container;
import java.awt.Image;
+import java.awt.event.FocusEvent;
+import java.awt.event.FocusListener;
import java.awt.image.BufferedImage;
import java.awt.print.Printable;
import java.util.Properties;
+import javax.media.opengl.GLCapabilities;
+import javax.media.opengl.GLProfile;
+import javax.media.opengl.awt.GLJPanel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+import javax.swing.JInternalFrame;
import org.cytoscape.model.CyNetwork;
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;
import org.cytoscape.view.presentation.RenderingEngine;
+import com.jogamp.opengl.util.FPSAnimator;
+
public class WindRenderingEngine implements RenderingEngine<CyNetwork> {
+ private static CyNetworkViewManager networkViewManager;
+
+ private CyNetworkView networkView;
private View<CyNetwork> viewModel;
- private VisualLexicon lexicon;
+ private VisualLexicon visualLexicon;
- public WindRenderingEngine(View<CyNetwork> viewModel, VisualLexicon
lexicon) {
+ private FPSAnimator animator;
+
+ private boolean active;
+
+ public WindRenderingEngine(Object container, View<CyNetwork> viewModel,
VisualLexicon visualLexicon) {
+ // this.networkView = networkView;
+
this.viewModel = viewModel;
- this.lexicon = lexicon;
+ this.visualLexicon = visualLexicon;
+ this.active = false;
- //System.out.println("renderingengine viewMondel: " +
viewModel);
- //System.out.println("renderingengine visualLexicon: " +
lexicon);
- //System.out.println("");
+ if (networkViewManager != null) {
+ this.networkView =
networkViewManager.getNetworkView(viewModel.getModel().getSUID());
+ }
+
+ if (this.networkView != null) {
+ System.out.println("Setting up canvas..");
+ setUpCanvas(container);
+ }
}
+ public static void setNetworkViewManager(CyNetworkViewManager
networkViewManager) {
+ WindRenderingEngine.networkViewManager = networkViewManager;
+ }
+
+ public boolean isActive() {
+ return active;
+ }
+
+ private void setUpCanvas(Object container) {
+ if (container instanceof JComponent) {
+ JComponent component = (JComponent) container;
+ Container focus = component;
+
+ // Use the system's default version of OpenGL
+ GLProfile profile = GLProfile.getDefault();
+ GLCapabilities capabilities = new
GLCapabilities(profile);
+
+ // TODO: check whether to use GLCanvas or GLJPanel
+ GLJPanel panel = new GLJPanel(capabilities);
+
+ TestGraphics graphics = new TestGraphics();
+
+ panel.addGLEventListener(graphics);
+
+ if (container instanceof JInternalFrame) {
+ JInternalFrame frame = (JInternalFrame)
container;
+ Container pane = frame.getContentPane();
+
+ focus = pane;
+ graphics.trackInput(pane);
+
+ pane.setLayout(new BorderLayout());
+ pane.add(panel, BorderLayout.CENTER);
+ } else {
+ graphics.trackInput(component);
+
+ component.setLayout(new BorderLayout());
+ component.add(panel, BorderLayout.CENTER);
+ }
+
+ animator = new FPSAnimator(60);
+ animator.add(panel);
+
+ focus.addFocusListener(new FocusListener() {
+
+ @Override
+ public void focusGained(FocusEvent event) {
+ if (!event.isTemporary()) {
+ System.out.println("Animator
started for: " + this);
+ animator.start();
+ }
+ }
+
+ @Override
+ public void focusLost(FocusEvent event) {
+ if (!event.isTemporary()) {
+ System.out.println("Animator
stopped for: " + this);
+ animator.stop();
+ }
+ }
+ });
+
+ active = true;
+ }
+ }
+
@Override
public View<CyNetwork> getViewModel() {
return viewModel;
@@ -37,7 +130,7 @@
@Override
public VisualLexicon getVisualLexicon() {
- return lexicon;
+ return visualLexicon;
}
@Override
@@ -55,14 +148,16 @@
@Override
public Image createImage(int width, int height) {
// TODO Auto-generated method stub
- return new BufferedImage(0, width, height);
+ return null;
+ //return new BufferedImage(0, width, height);
}
@Override
public <V> Icon createIcon(VisualProperty<V> vp, V value, int width,
int height) {
// TODO Auto-generated method stub
- return new ImageIcon();
+ return null;
+ //return new ImageIcon();
}
}
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngineFactory.java
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngineFactory.java
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/WindRenderingEngineFactory.java
2011-06-08 18:48:58 UTC (rev 25673)
@@ -1,79 +1,87 @@
package org.cytoscape.paperwing.internal;
+import java.awt.BorderLayout;
+import java.awt.Container;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
+import javax.media.opengl.awt.GLJPanel;
+import javax.swing.BorderFactory;
+import javax.swing.JButton;
import javax.swing.JComponent;
+import javax.swing.JInternalFrame;
+import javax.swing.JPanel;
import org.cytoscape.model.CyNetwork;
+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;
import org.cytoscape.view.presentation.RenderingEngineFactory;
import org.cytoscape.view.presentation.RenderingEngineManager;
+import com.jogamp.opengl.util.Animator;
import com.jogamp.opengl.util.FPSAnimator;
public class WindRenderingEngineFactory implements
RenderingEngineFactory<CyNetwork> {
- private final VisualLexicon lexicon;
- private RenderingEngineManager manager;
+ private CyNetworkViewManager networkViewManager;
+ private RenderingEngineManager renderingEngineManager;
+ private final VisualLexicon visualLexicon;
- public WindRenderingEngineFactory(RenderingEngineManager manager,
VisualLexicon lexicon) {
+ public WindRenderingEngineFactory(CyNetworkViewManager
networkViewManager, RenderingEngineManager renderingEngineManager,
VisualLexicon lexicon) {
+ this.networkViewManager = networkViewManager;
+ this.renderingEngineManager = renderingEngineManager;
+ this.visualLexicon = lexicon;
- this.lexicon = lexicon;
- this.manager = manager;
-
+ TestGraphics.initSingleton();
+ WindRenderingEngine.setNetworkViewManager(networkViewManager);
}
@Override
public RenderingEngine<CyNetwork> getInstance(
Object container, View<CyNetwork> viewModel) {
- //if (container instanceof JComponent) {
- if (false) {
- System.out.println("Adding canvas");
-
- JComponent component = (JComponent) container;
- component.removeAll();
-
- // Use the system's default version of OpenGL
- GLProfile profile = GLProfile.getDefault();
- GLProfile.initSingleton(true);
-
- GLCapabilities capabilities = new
GLCapabilities(profile);
- GLCanvas canvas = new GLCanvas(capabilities);
-
- TestGraphics graphics = new TestGraphics();
-
- canvas.addGLEventListener(graphics);
- graphics.getKeyListener();
-
- canvas.addKeyListener(graphics.getKeyListener());
- canvas.addMouseListener(graphics.getMouseListener());
-
canvas.addMouseMotionListener(graphics.getMouseMotionListener());
-
canvas.addMouseWheelListener(graphics.getMouseWheelListener());
-
- component.add(canvas);
- component.addKeyListener(graphics.getKeyListener());
-
- FPSAnimator animator = new FPSAnimator(60);
- animator.add(canvas);
- animator.start();
+ /* For code below, seems that NetworkViewManager does not
contain references to all available NetworkViews
+ */
+ System.out.println("given model: " + viewModel.getModel());
+ System.out.println("given model suid: " +
viewModel.getModel().getSUID());
+ System.out.println("given suid: " + viewModel.getSUID());
+ System.out.println("networkViewSet: " +
networkViewManager.getNetworkViewSet());
+
+ /*
+ // CyNetworkView networkView =
networkViewManager.getNetworkView(viewModel.getSUID());
+ CyNetworkView networkView = null;
+ for (CyNetworkView view :
networkViewManager.getNetworkViewSet()) {
+ if (view.getModel() == viewModel.getModel()) {
+ networkView = view;
+ }
+ System.out.println("current model: " + view.getModel());
+ System.out.println("current model suid: " +
view.getModel().getSUID());
+ System.out.println("current suid: " + view.getSUID());
+
}
+ */
- // TODO Auto-generated method stub
- return new WindRenderingEngine(viewModel, lexicon);
+ //TODO: NetworkViewManager does not contain all instances of
CyNetworkView, so wait
+ WindRenderingEngine engine = new WindRenderingEngine(container,
viewModel, visualLexicon);
+ System.out.println("returning engine: " + engine);
+ renderingEngineManager.addRenderingEngine(engine);
+
+ System.out.println("Engine active?: " + engine.isActive());
+
+ return engine;
}
@Override
public VisualLexicon getVisualLexicon() {
// System.out.println("getVisualLexicon call");
- return lexicon;
+ return visualLexicon;
}
}
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context-osgi.xml
2011-06-08 18:48:58 UTC (rev 25673)
@@ -28,17 +28,27 @@
</osgi:interfaces>
<osgi:service-properties>
<entry key="serviceType" value="presentationFactory" />
- <entry key="id" value="Wind" />
+ <entry key="id" value="wind" />
</osgi:service-properties>
</osgi:service>
+ <osgi:service id="windMapRenderingEngineFactoryService"
ref="windMapRenderingEngineFactory">
+ <osgi:interfaces>
+
<value>org.cytoscape.view.presentation.RenderingEngineFactory</value>
+ </osgi:interfaces>
+ <osgi:service-properties>
+ <entry key="serviceType" value="presentationFactory" />
+ <entry key="id" value="windMap" />
+ </osgi:service-properties>
+ </osgi:service>
+
<osgi:service id="windVisualLexiconService" ref="windVisualLexicon">
<osgi:interfaces>
<value>org.cytoscape.view.model.VisualLexicon</value>
</osgi:interfaces>
<osgi:service-properties>
<entry key="serviceType" value="visualLexicon" />
- <entry key="id" value="Wind" />
+ <entry key="id" value="wind" />
</osgi:service-properties>
</osgi:service>
Modified:
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context.xml
2011-06-08 04:38:48 UTC (rev 25672)
+++
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/resources/META-INF/spring/bundle-context.xml
2011-06-08 18:48:58 UTC (rev 25673)
@@ -32,10 +32,18 @@
<bean name="windRenderingEngineFactory"
class="org.cytoscape.paperwing.internal.WindRenderingEngineFactory">
+ <constructor-arg ref="cyNetworkViewManagerRef"/>
<constructor-arg ref="cyRenderingEngineManagerRef"/>
<constructor-arg ref="windVisualLexicon"/>
</bean>
+ <bean name="windMapRenderingEngineFactory"
+
class="org.cytoscape.paperwing.internal.WindMapRenderingEngineFactory">
+ <constructor-arg ref="cyNetworkViewManagerRef"/>
+ <constructor-arg ref="cyRenderingEngineManagerRef"/>
+ <constructor-arg ref="windVisualLexicon"/>
+ </bean>
+
<bean name="windVisualLexicon"
class="org.cytoscape.paperwing.internal.WindVisualLexicon">
</bean>
--
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.