Author: scooter
Date: 2012-06-14 16:51:02 -0700 (Thu, 14 Jun 2012)
New Revision: 29576
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ArbitraryGraphicsCanvas.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/ArrowAnnotationImpl.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/Annotation.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ArrowAnnotationDialog.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/ShapeAnnotationDialog.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/listeners/CanvasMouseListener.java
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/tasks/LayerAnnotationTask.java
Log:
Bug fixes
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ArbitraryGraphicsCanvas.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ArbitraryGraphicsCanvas.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/ArbitraryGraphicsCanvas.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -41,6 +41,9 @@
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.awt.image.VolatileImage;
+
+import java.util.Arrays;
+import java.util.Comparator;
import java.util.HashMap;
import java.util.Map;
@@ -241,6 +244,7 @@
// get list of child components
Component[] components = getComponents();
+ zSort(components); // Since we're doing this because we're
doing the draw on our own
// no components, outta here
if (components.length == 0)
@@ -284,12 +288,6 @@
// now paint children
if (m_isVisible){
- /*
- int num=this.getComponentCount();
- for(int i=0;i<num;i++){
- this.getComponent(i).paint(image2D);
- }
- */
this.paintChildren(image2D);
}
image2D.dispose();
@@ -386,4 +384,26 @@
if (lis != null)
lis.contentChanged();
}
+
+ // Sort the components by z order
+ private void zSort(Component[] components) {
+ Arrays.sort(components, new ZComparator());
+ return;
+ }
+
+ class ZComparator implements Comparator<Component> {
+ public int compare(Component o1, Component o2) {
+ if (getComponentZOrder(o1) > getComponentZOrder(o2))
+ return -1;
+ else if (getComponentZOrder(o1) <
getComponentZOrder(o2))
+ return 1;
+ else
+ return 0;
+ }
+
+ public boolean equals(Component o1, Component o2) {
+ return (getComponentZOrder(o1) ==
getComponentZOrder(o2));
+ }
+ }
+
}
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-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/AbstractAnnotation.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -177,6 +177,7 @@
@Override
public void addComponent(JComponent cnvs) {
if (cnvs == null && canvas != null) {
+
} else if (cnvs == null) {
setCanvas(FOREGROUND);
} else {
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/ArrowAnnotationImpl.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -353,6 +353,12 @@
}
}
+ @Override
+ public void update() {
+ updateBounds();
+ super.update();
+ }
+
public void setSize(double width, double height) {
shapeWidth = width;
shapeHeight = height;
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-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/annotations/TextAnnotationImpl.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -179,8 +179,7 @@
int yLoc = (int)(y*scaleFactor + halfHeight);
g2.setFont(tFont);
- // g2.drawString(text, xLoc, yLoc);
- g2.drawString(text, (int)x, (int)y);
+ g2.drawString(text, xLoc, yLoc);
}
public Rectangle getBounds() {
@@ -202,7 +201,6 @@
return;
}
- // g2.drawString(text, getX()+halfWidth, getY()+halfHeight);
g2.drawString(text, halfWidth, halfHeight);
if(isSelected()) {
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/Annotation.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/Annotation.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/api/Annotation.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -58,6 +58,7 @@
public void setUsedForPreviews(boolean v);
public void update();
+ public void contentChanged();
public JFrame getModifyDialog();
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ArrowAnnotationDialog.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ArrowAnnotationDialog.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ArrowAnnotationDialog.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -123,14 +123,13 @@
return;
}
- //
mAnnotation.getComponent().setLocation((int)startingLocation.getX(),
(int)startingLocation.getY());
mAnnotation.addComponent(null);
+ mAnnotation.setSource(this.source);
+ mAnnotation.update();
// Update the canvas
view.getCanvas(DGraphView.Canvas.FOREGROUND_CANVAS).repaint();
- mAnnotation.setSource(this.source);
-
// Set this shape to be resized
cyAnnotator.positionArrow(mAnnotation);
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-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/BoundedTextAnnotationDialog.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -131,6 +131,7 @@
mAnnotation.getComponent().setLocation((int)startingLocation.getX(),
(int)startingLocation.getY());
mAnnotation.addComponent(null);
+ mAnnotation.update();
// Update the canvas
view.getCanvas(DGraphView.Canvas.FOREGROUND_CANVAS).repaint();
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ShapeAnnotationDialog.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ShapeAnnotationDialog.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/ShapeAnnotationDialog.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -118,6 +118,7 @@
mAnnotation.getComponent().setLocation((int)startingLocation.getX(),
(int)startingLocation.getY());
mAnnotation.addComponent(null);
+ mAnnotation.update();
// Update the canvas
view.getCanvas(DGraphView.Canvas.FOREGROUND_CANVAS).repaint();
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-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/dialogs/TextAnnotationDialog.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -115,7 +115,14 @@
//Apply
mAnnotation.addComponent(null);
+
mAnnotation.getComponent().setLocation((int)startingLocation.getX(),
(int)startingLocation.getY());
+ // We need to have bounds or it won't render
+
mAnnotation.getComponent().setBounds(mAnnotation.getComponent().getBounds());
+
+ mAnnotation.update();
+ mAnnotation.contentChanged();
+
// Update the canvas
view.getCanvas(DGraphView.Canvas.FOREGROUND_CANVAS).repaint();
}
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasMouseListener.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasMouseListener.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/listeners/CanvasMouseListener.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -33,21 +33,23 @@
public void mouseClicked(MouseEvent e) {
// Check to see if we're resizing
if (cyAnnotator.getResizeShape() != null) {
+ cyAnnotator.getResizeShape().contentChanged();
cyAnnotator.resizeShape(null);
return;
}
if (cyAnnotator.getRepositioningArrow() != null) {
+ cyAnnotator.getRepositioningArrow().contentChanged();
cyAnnotator.positionArrow(null);
return;
}
if (cyAnnotator.getMovingAnnotation() != null) {
+ cyAnnotator.getMovingAnnotation().contentChanged();
cyAnnotator.moveAnnotation(null);
return;
}
-
Annotation annotation = cyAnnotator.getAnnotationAt(new
Point(e.getX(), e.getY()));
if (annotation == null) {
cyAnnotator.clearSelectedAnnotations();
Modified:
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/tasks/LayerAnnotationTask.java
===================================================================
---
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/tasks/LayerAnnotationTask.java
2012-06-14 23:20:08 UTC (rev 29575)
+++
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/cyannotator/tasks/LayerAnnotationTask.java
2012-06-14 23:51:02 UTC (rev 29576)
@@ -37,5 +37,6 @@
JComponent canvas = annotation.getCanvas();
canvas.setComponentZOrder(annotation.getComponent(), zorder);
canvas.repaint();
+ annotation.contentChanged(); // We need to do this to update
the Bird's Eye View
}
}
--
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.