Author: scooter
Date: 2012-06-01 22:08:43 -0700 (Fri, 01 Jun 2012)
New Revision: 29432

Added:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedTextAnnotationFactory.java
Removed:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedAnnotationFactory.java
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/cyannotator/annotations/AbstractAnnotation.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ImageAnnotationImpl.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ShapeAnnotationImpl.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/BoundedTextAnnotation.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ImageAnnotationFactory.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ShapeAnnotationFactory.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/TextAnnotationFactory.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/BoundedTextAnnotationDialog.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationDialog.java
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationPanel.java
Log:
Bounded text (mostly) working...


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-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/CyActivator.java
 2012-06-02 05:08:43 UTC (rev 29432)
@@ -37,7 +37,7 @@
 import org.cytoscape.ding.impl.cyannotator.create.AnnotationFactoryManager;
 import org.cytoscape.ding.impl.cyannotator.create.ImageAnnotationFactory;
 import org.cytoscape.ding.impl.cyannotator.create.ShapeAnnotationFactory;
-import org.cytoscape.ding.impl.cyannotator.create.BoundedAnnotationFactory;
+import org.cytoscape.ding.impl.cyannotator.create.BoundedTextAnnotationFactory;
 import org.cytoscape.ding.impl.cyannotator.create.TextAnnotationFactory;
 // Annotation edits and changes
 import org.cytoscape.ding.impl.cyannotator.tasks.AddAnnotationTaskFactory;
@@ -225,7 +225,7 @@
                registerService(bc, addTextTaskFactory, 
NetworkViewLocationTaskFactory.class, addTextTaskFactoryProps);
 
                // Bounded Text annotation
-               AnnotationFactory boundedAnnotationFactory = new 
BoundedAnnotationFactory();
+               AnnotationFactory boundedAnnotationFactory = new 
BoundedTextAnnotationFactory();
                
annotationFactoryManager.addAnnotationFactory(boundedAnnotationFactory, null);
                AddAnnotationTaskFactory addBoundedTextTaskFactory = 
                        new AddAnnotationTaskFactory(boundedAnnotationFactory);

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/AbstractAnnotation.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/AbstractAnnotation.java
     2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/AbstractAnnotation.java
     2012-06-02 05:08:43 UTC (rev 29432)
@@ -193,20 +193,17 @@
        public double getZoom() { return globalZoom; }
        public void setZoom(double zoom) { 
                globalZoom = zoom; 
-               updateAnnotationAttributes(); 
        }
       
        public double getSpecificZoom() {return myZoom; }
        public void setSpecificZoom(double zoom) {
                myZoom = zoom; 
-               updateAnnotationAttributes(); 
        }
 
        public boolean isSelected() { return selected; }
        public void setSelected(boolean selected) {
                this.selected = selected;
                cyAnnotator.setSelectedAnnotation(this, selected);
-               updateAnnotationAttributes(); 
        }
 
        public void addArrow(ArrowAnnotation arrow) {
@@ -242,6 +239,7 @@
        }
 
        public void update() {
+               updateAnnotationAttributes();
                getCanvas().repaint();
        }
 

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
      2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/BoundedTextAnnotationImpl.java
      2012-06-02 05:08:43 UTC (rev 29432)
@@ -27,6 +27,7 @@
 public class BoundedTextAnnotationImpl extends ShapeAnnotationImpl 
                                        implements BoundedTextAnnotation, 
TextAnnotation {
        private String text;
+       private boolean shapeIsFit = false;
 
        public static final String NAME="BOUNDED";
        public static final String FONTCOLOR="fontColor";
@@ -44,6 +45,14 @@
        protected int initialFontSize=12;
        protected Color textColor = Color.BLACK;
        
+       public BoundedTextAnnotationImpl(CyAnnotator cyAnnotator, DGraphView 
view) { 
+               super(cyAnnotator, view, 100, 100);
+               this.font=new Font("Arial", Font.PLAIN, initialFontSize);
+               this.fontSize = (float)initialFontSize;
+               this.text = "Text Annotation";
+               super.setSize(getTextWidth(null)+4, getTextHeight(null)+4);
+       }
+
        public BoundedTextAnnotationImpl(CyAnnotator cyAnnotator, DGraphView 
view, double width, double height) { 
                super(cyAnnotator, view, width, height);
                this.font=new Font("Arial", Font.PLAIN, initialFontSize);
@@ -51,8 +60,8 @@
                this.text = "Text Annotation";
        }
 
-       public BoundedTextAnnotationImpl(BoundedTextAnnotationImpl c, double 
width, double height) { 
-               super(c, width, height);
+       public BoundedTextAnnotationImpl(BoundedTextAnnotationImpl c) { 
+               super(c, 100, 100);
                this.text = c.getText();
                this.textColor = c.getTextColor();
                this.fontSize = (float)c.getFontSize();
@@ -68,7 +77,6 @@
                this.text=text;
                this.font=new Font("Arial", Font.PLAIN, initialFontSize);
                this.fontSize = (float)initialFontSize;
-               updateAnnotationAttributes();
        }
 
        public BoundedTextAnnotationImpl(CyAnnotator cyAnnotator, DGraphView 
view, 
@@ -78,7 +86,11 @@
                this.textColor = getColor(argMap.get(COLOR));
                this.text = argMap.get(TEXT);
                this.fontSize = font.getSize2D();
-               updateAnnotationAttributes();
+               if (!argMap.containsKey(ShapeAnnotationImpl.WIDTH)) {
+                       double width = getTextWidth(null)+8;
+                       double height = getTextHeight(null)+8;
+                       super.setSize(width, height);
+               }
        }
 
        public Map<String,String> getArgMap() {
@@ -91,6 +103,34 @@
                argMap.put(FONTSTYLE,Integer.toString(this.font.getStyle()));
                return argMap;
        }
+
+       public void fitShapeToText() {
+               double width = getTextWidth(null)+8;
+               double height = getTextHeight(null)+8;
+               shapeIsFit = true;
+
+               // Different depending on the type...
+               switch (getShapeType()) {
+               case ELLIPSE:
+                       width = getTextWidth(null)*3/2+8;
+                       height = getTextHeight(null)*2;
+                       break;
+               case TRIANGLE:
+                       width = getTextWidth(null)*3/2+8;
+                       height = getTextHeight(null)*2;
+                       break;
+               case PENTAGON:
+               case HEXAGON:
+               case STAR5:
+               case STAR6:
+                       width = getTextWidth(null)*9/7+8;
+                       height = width;
+                       break;
+               }
+
+               super.setSize(width, height);
+               setSize((int)width+2, (int)height+2);
+       }
        
        public JFrame getModifyDialog() {
                        return new BoundedTextAnnotationDialog(this);
@@ -123,14 +163,14 @@
 
                if(usedForPreviews) {
                        g2.drawChars(getText().toCharArray(), 0, 
getText().length(),
-                                    
getX()+(int)(getWidth()-getTextWidth(g2))/2,
-                                    
getY()+(int)(getHeight()+getTextHeight(g2))/2 );
+                                    (int)(getWidth()-getTextWidth(g2))/2,
+                                    (int)(getHeight())/2 );
                        return;
                }
 
                g2.drawChars(getText().toCharArray(), 0, getText().length(),
                                   getX()+(int)(getWidth()-getTextWidth(g2))/2,
-                                  
getY()+(int)(getHeight()+getTextHeight(g2))/2 );
+                                  getY()+(int)(getHeight())/2 );
        }
 
        @Override
@@ -148,7 +188,10 @@
        @Override
        public void setText(String text) {
                this.text = text;
-               updateAnnotationAttributes();
+               if (shapeIsFit)
+                       fitShapeToText();
+
+               updateBounds();
        }
 
        @Override
@@ -158,7 +201,6 @@
        @Override
        public void setTextColor(Color color) {
                this.textColor = color;
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -168,7 +210,7 @@
        public void setFontSize(double size) {
                this.fontSize = (float)size;
                scaledFont = 
font.deriveFont((float)(fontSize*getSpecificZoom()));
-               updateAnnotationAttributes();
+               updateBounds();
        }
 
        @Override
@@ -179,7 +221,6 @@
        public void setFontStyle(int style) {
                font = font.deriveFont(style, fontSize);
                scaledFont = 
font.deriveFont((float)(fontSize*getSpecificZoom()));
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -191,7 +232,6 @@
        public void setFontFamily(String family) {
                font = new Font(family, font.getStyle(), (int)fontSize);
                scaledFont = 
font.deriveFont((float)(fontSize*getSpecificZoom()));
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -205,6 +245,13 @@
                this.font = font; 
        }
 
+       private void updateBounds() {
+               // Our bounds should be the larger of the shape or the text
+               int xBound = Math.max(getTextWidth(null), (int)shapeWidth);
+               int yBound = Math.max(getTextHeight(null), (int)shapeHeight);
+               setSize(xBound+4, yBound+4);
+       }
+
        int getTextWidth(Graphics2D g2) {
                if (g2 != null) {
                        FontMetrics fontMetrics=g2.getFontMetrics(font);

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ImageAnnotationImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ImageAnnotationImpl.java
    2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ImageAnnotationImpl.java
    2012-06-02 05:08:43 UTC (rev 29432)
@@ -95,7 +95,6 @@
                this.cg = new URLImageCustomGraphics(id, url.toString(), image);
                customGraphicsManager.addCustomGraphics(cg, url);
                customGraphicsManager.setUsedInCurrentSession(cg, true);
-               updateAnnotationAttributes();
        }
 
        public ImageAnnotationImpl(CyAnnotator cyAnnotator, DGraphView view, 
@@ -132,7 +131,6 @@
                if (argMap.containsKey(CONTRAST))
                        contrast = Integer.parseInt(argMap.get(CONTRAST));
 
-               updateAnnotationAttributes();
        }
 
        public Map<String,String> getArgMap() {
@@ -166,8 +164,6 @@
                        return;
                }
                resizedImage=resizeImage((int)imageWidth, (int)imageHeight);
-
-               updateAnnotationAttributes();
        }
 
        public Image getImage() {

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ShapeAnnotationImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ShapeAnnotationImpl.java
    2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ShapeAnnotationImpl.java
    2012-06-02 05:08:43 UTC (rev 29432)
@@ -27,8 +27,8 @@
        private double borderOpacity = 100.0;
        private double fillOpacity = 100.0;
        private Shape shape = null;
-       private double shapeWidth = 0.0;
-       private double shapeHeight = 0.0;
+       protected double shapeWidth = 0.0;
+       protected double shapeHeight = 0.0;
 
        public static final String NAME="SHAPE";
        protected static final String WIDTH="width";
@@ -75,7 +75,6 @@
                this.shapeHeight = height;
                this.shape = GraphicsUtilities.getShape(shapeType, 0.0, 0.0, 
shapeWidth, shapeHeight);
     setSize((int)shapeWidth, (int)shapeHeight);
-    updateAnnotationAttributes();
   }
 
   public ShapeAnnotationImpl(CyAnnotator cyAnnotator, DGraphView view, 
Map<String, String> argMap) {
@@ -86,8 +85,17 @@
                if (argMap.containsKey(FILLOPACITY))
        this.fillOpacity = Double.parseDouble(argMap.get(FILLOPACITY));
 
-    this.shapeWidth = Double.parseDouble(argMap.get(WIDTH));
-    this.shapeHeight = Double.parseDouble(argMap.get(HEIGHT));
+               // If this is an old bounded text, we might not (yet) have a 
width or height
+               if (argMap.containsKey(WIDTH))
+       this.shapeWidth = Double.parseDouble(argMap.get(WIDTH));
+               else
+                       this.shapeWidth = 100;
+
+               if (argMap.containsKey(HEIGHT))
+       this.shapeHeight = Double.parseDouble(argMap.get(HEIGHT));
+               else
+                       this.shapeHeight = 100;
+
     this.borderWidth = Double.parseDouble(argMap.get(EDGETHICKNESS));
 
                if (argMap.containsKey(EDGEOPACITY))
@@ -96,7 +104,6 @@
     this.shapeType = 
GraphicsUtilities.getShapeType(Integer.parseInt(argMap.get(SHAPETYPE)));
                this.shape = GraphicsUtilities.getShape(shapeType, 0.0, 0.0, 
shapeWidth, shapeHeight);
     setSize((int)shapeWidth, (int)shapeHeight);
-    updateAnnotationAttributes();
   }
 
        public Map<String,String> getArgMap() {

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
     2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
     2012-06-02 05:08:43 UTC (rev 29432)
@@ -59,7 +59,6 @@
                this.font=new Font("Arial", Font.PLAIN, initialFontSize);
                this.fontSize = (float)initialFontSize;
                setSize(getAnnotationWidth(), getAnnotationHeight());
-               updateAnnotationAttributes();
        }
 
        // This constructor is used to construct a text annotation from an
@@ -71,7 +70,6 @@
                this.text = argMap.get(TEXT);
                this.fontSize = font.getSize2D();
                setSize(getAnnotationWidth(), getAnnotationHeight());
-               updateAnnotationAttributes();
        }
 
        public Map<String,String> getArgMap() {
@@ -104,7 +102,6 @@
        @Override
        public void setText(String text) {
                this.text = text;
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -114,7 +111,6 @@
        @Override
        public void setTextColor(Color color) {
                this.textColor = color;
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -124,7 +120,6 @@
        public void setFontSize(double size) {
                this.fontSize = (float)size;
                scaledFont = 
font.deriveFont((float)(fontSize*getSpecificZoom()));
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -135,7 +130,6 @@
        public void setFontStyle(int style) {
                font = font.deriveFont(style, fontSize);
                scaledFont = 
font.deriveFont((float)(fontSize*getSpecificZoom()));
-               updateAnnotationAttributes();
        }
 
        @Override
@@ -147,7 +141,6 @@
        public void setFontFamily(String family) {
                font = new Font(family, font.getStyle(), (int)fontSize);
                scaledFont = 
font.deriveFont((float)(fontSize*getSpecificZoom()));
-               updateAnnotationAttributes();
        }
 
        @Override

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/BoundedTextAnnotation.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/BoundedTextAnnotation.java
  2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/BoundedTextAnnotation.java
  2012-06-02 05:08:43 UTC (rev 29432)
@@ -5,6 +5,8 @@
 
 // NOTE: all implementations should implement TextAnnotation also
 public interface BoundedTextAnnotation extends ShapeAnnotation {
+       public void fitShapeToText();
+
        public void setText(String text);
        public String getText();
 

Deleted: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedAnnotationFactory.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedAnnotationFactory.java
    2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedAnnotationFactory.java
    2012-06-02 05:08:43 UTC (rev 29432)
@@ -1,28 +0,0 @@
-
-
-package org.cytoscape.ding.impl.cyannotator.create;
-
-import org.cytoscape.ding.impl.DGraphView;
-import javax.swing.JFrame;
-import java.awt.geom.Point2D;
-import java.util.Map;
-import org.cytoscape.ding.impl.cyannotator.CyAnnotator;
-import org.cytoscape.ding.impl.cyannotator.api.Annotation;
-// import 
org.cytoscape.ding.impl.cyannotator.annotations.BoundedAnnotationImpl;
-
-public class BoundedAnnotationFactory implements AnnotationFactory {
-
-       public JFrame createAnnotationFrame(DGraphView view, Point2D location) {
-               // return new cBoundedAnnotation(view, location);
-               return null;
-       }
-
-       public Annotation createAnnotation(String type, CyAnnotator 
cyAnnotator, DGraphView view, Map<String, String> argMap) {
-/*
-               if ( type.equals(BoundedAnnotation.NAME) ) 
-                       return new BoundedAnnotation(cyAnnotator, view, argMap);
-               else 
-*/
-                       return null;
-       }
-}

Added: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedTextAnnotationFactory.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedTextAnnotationFactory.java
                                (rev 0)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/BoundedTextAnnotationFactory.java
        2012-06-02 05:08:43 UTC (rev 29432)
@@ -0,0 +1,28 @@
+
+
+package org.cytoscape.ding.impl.cyannotator.create;
+
+import org.cytoscape.ding.impl.DGraphView;
+import javax.swing.JFrame;
+import java.awt.geom.Point2D;
+import java.util.Map;
+import org.cytoscape.ding.impl.cyannotator.CyAnnotator;
+import org.cytoscape.ding.impl.cyannotator.api.Annotation;
+import 
org.cytoscape.ding.impl.cyannotator.annotations.BoundedTextAnnotationImpl;
+import org.cytoscape.ding.impl.cyannotator.dialogs.BoundedTextAnnotationDialog;
+
+public class BoundedTextAnnotationFactory implements AnnotationFactory {
+
+       public JFrame createAnnotationFrame(DGraphView view, Point2D location) {
+               return new BoundedTextAnnotationDialog(view, location);
+       }
+
+       public Annotation createAnnotation(String type, CyAnnotator 
cyAnnotator, DGraphView view, Map<String, String> argMap) {
+               if ( type.equals(BoundedTextAnnotationImpl.NAME) ) {
+                       Annotation a = new 
BoundedTextAnnotationImpl(cyAnnotator, view, argMap);
+                       a.update();
+                       return a;
+               } else 
+                       return null;
+       }
+}

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ImageAnnotationFactory.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ImageAnnotationFactory.java
      2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ImageAnnotationFactory.java
      2012-06-02 05:08:43 UTC (rev 29432)
@@ -23,9 +23,11 @@
        }
 
        public Annotation createAnnotation(String type, CyAnnotator 
cyAnnotator, DGraphView view, Map<String, String> argMap) {
-               if ( type.equals(ImageAnnotationImpl.NAME) ) 
-                       return new ImageAnnotationImpl(cyAnnotator, 
view,argMap,customGraphicsManager);
-               else 
+               if ( type.equals(ImageAnnotationImpl.NAME) ) {
+                       Annotation a = new ImageAnnotationImpl(cyAnnotator, 
view,argMap,customGraphicsManager);
+                       a.update();
+                       return a;
+               } else 
                        return null;
        }
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ShapeAnnotationFactory.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ShapeAnnotationFactory.java
      2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/ShapeAnnotationFactory.java
      2012-06-02 05:08:43 UTC (rev 29432)
@@ -18,9 +18,11 @@
        }
 
        public Annotation createAnnotation(String type, CyAnnotator 
cyAnnotator, DGraphView view, Map<String, String> argMap) {
-               if ( type.equals(ShapeAnnotationImpl.NAME) ) 
-                       return new ShapeAnnotationImpl(cyAnnotator, 
view,argMap);
-               else 
+               if ( type.equals(ShapeAnnotationImpl.NAME) ) {
+                       Annotation a = new ShapeAnnotationImpl(cyAnnotator, 
view,argMap);
+                       a.update();
+                       return a;
+               } else 
                        return null;
        }
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/TextAnnotationFactory.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/TextAnnotationFactory.java
       2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/create/TextAnnotationFactory.java
       2012-06-02 05:08:43 UTC (rev 29432)
@@ -18,9 +18,11 @@
        }
 
        public Annotation createAnnotation(String type, CyAnnotator 
cyAnnotator, DGraphView view, Map<String, String> argMap) {
-               if ( type.equals(TextAnnotationImpl.NAME) ) 
-                       return new TextAnnotationImpl(cyAnnotator, view, 
argMap);
-               else 
+               if ( type.equals(TextAnnotationImpl.NAME) ) {
+                       Annotation a = new TextAnnotationImpl(cyAnnotator, 
view, argMap);
+                       a.update();
+                       return a;
+               } else 
                        return null;
        }
 }

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/BoundedTextAnnotationDialog.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/BoundedTextAnnotationDialog.java
        2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/BoundedTextAnnotationDialog.java
        2012-06-02 05:08:43 UTC (rev 29432)
@@ -32,7 +32,7 @@
                this.view = view;
                this.cyAnnotator = view.getCyAnnotator();
                this.startingLocation = start;
-               this.mAnnotation = new BoundedTextAnnotationImpl(cyAnnotator, 
view, 400, 400);
+               this.mAnnotation = new BoundedTextAnnotationImpl(cyAnnotator, 
view);
                this.create = true;
 
                initComponents();                       
@@ -57,9 +57,11 @@
                int PREVIEW_HEIGHT = 220;
 
                // Create the preview panel
-               preview = new BoundedTextAnnotationImpl(cyAnnotator, view, 150, 
150);
+               preview = new BoundedTextAnnotationImpl(cyAnnotator, view);
                preview.setUsedForPreviews(true);
-               preview.getComponent().setSize(150,150);
+               preview.setText(mAnnotation.getText());
+               preview.fitShapeToText();
+               
                PreviewPanel previewPanel = new PreviewPanel(preview, 
PREVIEW_WIDTH, PREVIEW_HEIGHT);
 
                shapeAnnotation1 = new 
ShapeAnnotationPanel((ShapeAnnotation)mAnnotation, previewPanel, SHAPE_WIDTH, 
SHAPE_HEIGHT);
@@ -106,7 +108,7 @@
                cancelButton.setBounds(430, y+20, 
cancelButton.getPreferredSize().width, 23);
 
                pack();
-               setSize(520, 525);
+               setSize(520, y+80 );
                setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        }
 

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationDialog.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationDialog.java
       2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationDialog.java
       2012-06-02 05:08:43 UTC (rev 29432)
@@ -101,6 +101,8 @@
        }
                         
        private void applyButtonActionPerformed(java.awt.event.ActionEvent evt) 
{
+               dispose();
+
                //Apply
                mAnnotation.setFont(textAnnotation1.getNewFont());
                mAnnotation.setTextColor(textAnnotation1.getTextColor());
@@ -116,7 +118,6 @@
 
                // Update the canvas
                view.getCanvas(DGraphView.Canvas.FOREGROUND_CANVAS).repaint();
-               dispose();
        }
 
        private void cancelButtonActionPerformed(java.awt.event.ActionEvent 
evt) {

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationPanel.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationPanel.java
        2012-06-02 02:15:29 UTC (rev 29431)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationPanel.java
        2012-06-02 05:08:43 UTC (rev 29432)
@@ -221,8 +221,8 @@
 
        public void iModifyTAPreview(){
 
-               preview.setFont(getNewFont());
-               preview.setText(annotationText.getText());         
+               preview.setFont(mAnnotation.getFont());
+               preview.setText(mAnnotation.getText());    
                preview.setTextColor(mAnnotation.getTextColor());
 
                previewPanel.repaint();

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