Author: scooter
Date: 2010-11-11 13:59:51 -0800 (Thu, 11 Nov 2010)
New Revision: 22821

Added:
   csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.1.jar.save
   csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.6.jar
Removed:
   csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.1.jar
Modified:
   csplugins/trunk/ucsf/scooter/chemViz/resources/plugin.props
   csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ChemViz.java
   csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/menus/AttributesMenu.java
   csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/model/Compound.java
   
csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/tasks/CreateNodeGraphicsTask.java
   csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundPopup.java
   csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundTable.java
Log:
Moved to cdk-1.3.6 and cleaned up printing support a little.



Deleted: csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.1.jar
===================================================================
(Binary files differ)

Copied: csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.1.jar.save (from rev 
22715, csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.1.jar)
===================================================================
(Binary files differ)

Added: csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.6.jar
===================================================================
(Binary files differ)


Property changes on: csplugins/trunk/ucsf/scooter/chemViz/lib/cdk-1.3.6.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: csplugins/trunk/ucsf/scooter/chemViz/resources/plugin.props
===================================================================
--- csplugins/trunk/ucsf/scooter/chemViz/resources/plugin.props 2010-11-11 
19:21:08 UTC (rev 22820)
+++ csplugins/trunk/ucsf/scooter/chemViz/resources/plugin.props 2010-11-11 
21:59:51 UTC (rev 22821)
@@ -13,10 +13,10 @@
 pluginDescription=This plugin provides cheminformatics tools to cytoscape
 
 # Plugin version number, this must be two numbers separated by a decimlal.  
Ex. 0.2, 14.03
-pluginVersion=1.1
+pluginVersion=1.2
 
 # Compatible Cytoscape version
-cytoscapeVersion=2.6.3,2.7
+cytoscapeVersion=2.7,2.8
 
 # Category, use one of the categories listed on the website or create your own
 pluginCategory=Analysis
@@ -31,4 +31,4 @@
 pluginAuthorsIntsitutions=John "Scooter" Morris:UCSF;Dazhi Jiao:Indiana 
University School of Informatics
 
 # Date this plugin/plugin version was released
-releaseDate=February 4th, 2010
+releaseDate=December 1th, 2010

Modified: csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ChemViz.java
===================================================================
--- csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ChemViz.java       
2010-11-11 19:21:08 UTC (rev 22820)
+++ csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ChemViz.java       
2010-11-11 21:59:51 UTC (rev 22821)
@@ -36,29 +36,17 @@
 package chemViz;
 
 import giny.model.Node;
-import giny.view.EdgeView;
-import giny.view.NodeView;
 
 import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
-import java.util.Set;
 
 import javax.swing.JMenu;
-import javax.swing.JMenuItem;
 
-import cytoscape.CyEdge;
-import cytoscape.CyNetwork;
-import cytoscape.CyNode;
 import cytoscape.Cytoscape;
 import cytoscape.logger.CyLogger;
 import cytoscape.plugin.CytoscapePlugin;
-import cytoscape.task.Task;
 import cytoscape.task.util.TaskManager;
 import cytoscape.view.CyNetworkView;
 import cytoscape.view.CytoscapeDesktop;
@@ -66,7 +54,6 @@
 
 import chemViz.menus.ChemVizMenu;
 import chemViz.menus.ChemVizContextMenu;
-import chemViz.model.Compound;
 import chemViz.tasks.CreateNodeGraphicsTask;
 import chemViz.ui.ChemInfoSettingsDialog;
 

Modified: 
csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/menus/AttributesMenu.java
===================================================================
--- csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/menus/AttributesMenu.java  
2010-11-11 19:21:08 UTC (rev 22820)
+++ csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/menus/AttributesMenu.java  
2010-11-11 21:59:51 UTC (rev 22821)
@@ -48,7 +48,6 @@
 import cytoscape.CyEdge;
 import cytoscape.CyNode;
 import cytoscape.Cytoscape;
-import cytoscape.data.CyAttributes;
 
 import giny.view.EdgeView;
 import giny.view.NodeView;
@@ -109,7 +108,7 @@
 
                // Populating popup menu
                JMenu thisNodeMenu = new 
JMenu(systemProps.getProperty("chemViz.menu.createattributes.thisNode"));
-               List<CyNode> thisNode = new ArrayList();
+               List<CyNode> thisNode = new ArrayList<CyNode>();
                thisNode.add((CyNode)nodeContext.getNode());
                addDescriptors(thisNodeMenu, thisNode, null);
                if (!settingsDialog.hasNodeCompounds(thisNode)) {
@@ -158,7 +157,7 @@
                // Populating popup menu
                JMenu create = new 
JMenu(systemProps.getProperty("chemViz.menu.createattributes"));
                JMenu thisEdgeMenu = new 
JMenu(systemProps.getProperty("chemViz.menu.createattributes.thisEdge"));
-               List<CyEdge> thisEdge = new ArrayList();
+               List<CyEdge> thisEdge = new ArrayList<CyEdge>();
                thisEdge.add((CyEdge)edgeContext.getEdge());
                addDescriptors(thisEdgeMenu, null, thisEdge);
                if (!settingsDialog.hasEdgeCompounds(thisEdge)) {

Modified: csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/model/Compound.java
===================================================================
--- csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/model/Compound.java        
2010-11-11 19:21:08 UTC (rev 22820)
+++ csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/model/Compound.java        
2010-11-11 21:59:51 UTC (rev 22821)
@@ -39,6 +39,7 @@
 import java.awt.Font;
 import java.awt.Graphics2D;
 import java.awt.Image;
+import java.awt.Rectangle;
 import java.awt.geom.AffineTransform;
 import java.awt.geom.Rectangle2D;
 import java.awt.image.AffineTransformOp;
@@ -66,7 +67,9 @@
 import cytoscape.logger.CyLogger;
 import cytoscape.util.URLUtil;
 
+import org.openscience.cdk.ChemModel;
 import org.openscience.cdk.Molecule;
+import org.openscience.cdk.MoleculeSet;
 import org.openscience.cdk.aromaticity.CDKHueckelAromaticityDetector;
 import org.openscience.cdk.atomtype.CDKAtomTypeMatcher;
 import org.openscience.cdk.config.IsotopeFactory;
@@ -79,17 +82,23 @@
 import org.openscience.cdk.inchi.InChIGeneratorFactory;
 import org.openscience.cdk.inchi.InChIToStructure;
 import org.openscience.cdk.interfaces.IAtom;
+import org.openscience.cdk.interfaces.IAtomContainer;
 import org.openscience.cdk.interfaces.IAtomType;
+import org.openscience.cdk.interfaces.IChemModel;
 import org.openscience.cdk.interfaces.IIsotope;
 import org.openscience.cdk.interfaces.IMolecularFormula;
 import org.openscience.cdk.interfaces.IMolecule;
+import org.openscience.cdk.interfaces.IMoleculeSet;
 import org.openscience.cdk.layout.StructureDiagramGenerator;
 import org.openscience.cdk.modeling.builder3d.ModelBuilder3D;
 import org.openscience.cdk.modeling.builder3d.TemplateHandler3D;
-import org.openscience.cdk.renderer.Renderer;
+import org.openscience.cdk.renderer.AtomContainerRenderer;
+import org.openscience.cdk.renderer.ChemModelRenderer;
 import org.openscience.cdk.renderer.RendererModel;
 import org.openscience.cdk.renderer.font.AWTFontManager;
 import org.openscience.cdk.renderer.generators.BasicAtomGenerator;
+import org.openscience.cdk.renderer.generators.BasicBondGenerator;
+import org.openscience.cdk.renderer.generators.BasicSceneGenerator;
 import org.openscience.cdk.renderer.generators.RingGenerator;
 import org.openscience.cdk.renderer.generators.IGenerator;
 import org.openscience.cdk.renderer.visitor.AWTDrawVisitor;
@@ -103,6 +112,7 @@
 import org.openscience.cdk.tools.CDKHydrogenAdder;
 import org.openscience.cdk.tools.manipulator.AtomContainerManipulator;
 import org.openscience.cdk.tools.manipulator.AtomTypeManipulator;
+import org.openscience.cdk.tools.manipulator.ChemModelManipulator;
 import org.openscience.cdk.tools.manipulator.MolecularFormulaManipulator;
 
 import net.sf.jniinchi.INCHI_RET;
@@ -717,6 +727,8 @@
        public Image depictWithCDK(int width, int height, Color background) {
                BufferedImage bufferedImage = null;
 
+               // System.out.println("depictWithCDK("+width+","+height+")");
+
                if (iMolecule == null || width == 0 || height == 0) {
                        return null;
                }
@@ -732,40 +744,41 @@
                        }
 
                        // generators make the image elements
-                       List<IGenerator> generators = new 
ArrayList<IGenerator>();
+                       List<IGenerator<IAtomContainer>> generators = new 
ArrayList<IGenerator<IAtomContainer>>();
+                       generators.add(new BasicSceneGenerator());
+                       generators.add(new BasicBondGenerator());
                        generators.add(new RingGenerator());
                        generators.add(new BasicAtomGenerator());
        
                        // the renderer needs to have a toolkit-specific font 
manager 
-                       Renderer renderer = new Renderer(generators, new 
AWTFontManager());
+                       AtomContainerRenderer renderer = new 
AtomContainerRenderer(generators, new AWTFontManager());
                        RendererModel model = renderer.getRenderer2DModel();
+
+                       if (background == null)
+                               background = new Color(255,255,255,255);
+
+                       // Set up our rendering parameters
+                       model.set(BasicSceneGenerator.UseAntiAliasing.class, 
true);
+                       model.set(BasicSceneGenerator.BackgroundColor.class, 
background);
+                       model.set(BasicBondGenerator.BondWidth.class, 2.0);
+                       model.set(RingGenerator.BondWidth.class, 2.0);
+                       model.set(BasicAtomGenerator.ColorByType.class, true);
+                       
model.set(BasicAtomGenerator.ShowExplicitHydrogens.class, true);
                        
-                       model.setDrawNumbers(false);
-                       model.setUseAntiAliasing(true);
-                       // model.setColorAtomsByType(true); 
-                       model.setShowExplicitHydrogens(true);
-                       model.setShowImplicitHydrogens(true);
-                       model.setShowAromaticity(true); 
-                       model.setShowReactionBoxes(false);
-                       model.setKekuleStructure(false);
-                       // model.setShowAromaticityCDKStyle(true);
-                       model.setBondWidth(model.getBondWidth()*2);
-
                        int renderWidth = width;
                        if (renderWidth < 200) renderWidth = 200;
                        int renderHeight = height;
                        if (renderHeight < 200) renderHeight = 200;
                        Rectangle2D bbox = new 
Rectangle2D.Double(0,0,renderWidth,renderHeight);
+                       renderer.setup(iMolecule, new Rectangle(renderWidth, 
renderHeight));
 
                        bufferedImage = new BufferedImage(renderWidth, 
renderHeight, BufferedImage.TYPE_INT_ARGB);
                        Graphics2D graphics = bufferedImage.createGraphics();
-                       if (background == null)
-                               graphics.setColor(new Color(255, 255, 255, 0));
-                       else
-                               graphics.setColor(background);
+                       graphics.setColor(background);
+                       graphics.setBackground(background);
                        graphics.fillRect(0,0,renderWidth,renderHeight);
 
-                       renderer.paintMolecule(iMolecule, new 
AWTDrawVisitor(graphics), bbox, true);
+                       renderer.paint(iMolecule, new AWTDrawVisitor(graphics), 
bbox, true);
 
                        if (renderWidth != width || renderHeight != height) {
                                AffineTransform tx = new AffineTransform();

Modified: 
csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/tasks/CreateNodeGraphicsTask.java
===================================================================
--- 
csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/tasks/CreateNodeGraphicsTask.java
  2010-11-11 19:21:08 UTC (rev 22820)
+++ 
csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/tasks/CreateNodeGraphicsTask.java
  2010-11-11 21:59:51 UTC (rev 22821)
@@ -52,6 +52,7 @@
 import giny.view.NodeView;
 import ding.view.DGraphView;
 import ding.view.DNodeView;
+import ding.view.InnerCanvas;
 import ding.view.ViewportChangeListener;
 
 import cytoscape.CyEdge;
@@ -164,6 +165,8 @@
        }
 
        public void viewportChanged(int w, int h, double xCenter, double 
yCenter, double scale) {
+               zoom = scale;
+/*
                // System.out.println("viewport: size="+w+"x"+h+", center = 
"+xCenter+", "+yCenter+" scale = "+scale);
                CyNetworkView view = Cytoscape.getCurrentNetworkView();
                double lastScale = zoom;
@@ -186,6 +189,7 @@
                        }
                }
                if (needUpdate) view.updateView();
+*/
        }
 
        /**
@@ -312,14 +316,8 @@
                        x = 0.0; y = 0.0;
                }
 
-               BufferedImage image = (BufferedImage) 
cmpd.getImage((int)(width*zoom), (int)(height*zoom));
-               if (image == null) return null;
+               TexturePaint tp = new MyPaint(nv, cmpd, new 
Rectangle2D.Double(x,y,width,height));
 
-               // Create the image
-               // TODO: Should we extend TexturePaint to get higher resolution 
printing?  How would
-               // we know if we're printing or not???
-               TexturePaint tp = new TexturePaint(image, new 
Rectangle2D.Double(x,y,width,height));
-
                // Add it to the view
                return ((DNodeView)nv).addCustomGraphic(new 
Rectangle2D.Double(x,y,width,height), tp, 
                                                        anchor);
@@ -349,4 +347,34 @@
 
                return true;
        }
+
+       class MyPaint extends TexturePaint {
+               InnerCanvas canvas = null;
+               DGraphView view = null;
+               Compound compound = null;
+               int width;
+               int height;
+               double aspectRatio;
+
+               public MyPaint(NodeView nv, Compound compound, Rectangle2D 
anchor) {
+                       super(new BufferedImage((int)anchor.getWidth(), 
(int)anchor.getHeight(), BufferedImage.TYPE_INT_RGB), anchor);
+                       this.compound = compound;
+                       this.view = (DGraphView)nv.getGraphView();
+                       this.canvas = (InnerCanvas)view.getComponent();
+                       this.width = (int) anchor.getWidth();
+                       this.height = (int) anchor.getHeight();
+                       this.aspectRatio = (double)width/(double)height;
+               }
+
+               public BufferedImage getImage() {
+                       double zoom = view.getZoom();
+                       if (canvas.isPrinting()) {
+                               // System.out.println("Is printing");
+                               return (BufferedImage) 
compound.getImage((int)(512*aspectRatio), (int)(512/aspectRatio));
+                       } else {
+                               return (BufferedImage) 
compound.getImage((int)(this.width*zoom), (int)(this.height*zoom));
+                       }
+               }
+       }
+
 }

Modified: csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundPopup.java
===================================================================
--- csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundPopup.java      
2010-11-11 19:21:08 UTC (rev 22820)
+++ csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundPopup.java      
2010-11-11 21:59:51 UTC (rev 22821)
@@ -94,7 +94,7 @@
                        }
                }
                setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
-               setBackground(Color.WHITE);
+               setBackground(Color.BLACK);
 
                addImages(400);
                pack();
@@ -114,7 +114,7 @@
                        height = height - LABEL_HEIGHT;
                // Is it in our map?
                if (imageMap.containsKey(labelComponent)) {
-                       Image img = 
imageMap.get(labelComponent).getImage(width,height);
+                       Image img = 
imageMap.get(labelComponent).getImage(width,height, Color.WHITE);
                        labelComponent.setIcon(new ImageIcon(img));
                }
        }
@@ -150,6 +150,7 @@
                                label.setVerticalTextPosition(JLabel.BOTTOM);
                                label.setHorizontalTextPosition(JLabel.CENTER);
                        }
+                       label.setBackground(Color.WHITE);
                        label.addComponentListener(this);
                        imageMap.put(label, compound);
                        add (label);

Modified: csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundTable.java
===================================================================
--- csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundTable.java      
2010-11-11 19:21:08 UTC (rev 22820)
+++ csplugins/trunk/ucsf/scooter/chemViz/src/chemViz/ui/CompoundTable.java      
2010-11-11 21:59:51 UTC (rev 22821)
@@ -326,7 +326,7 @@
                        }
                } else if (e.getActionCommand().equals("print")) {
                        try {
-                               table.print();
+                               ((JTable)table).print();
                        } catch (Exception ePrint) {
                                logger.error("Unable to print table: 
"+ePrint.getMessage(), ePrint);
                        }

-- 
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.

Reply via email to