From 22b4c26b5d96f5f7a90e3de0eb1057cc3877ca83 Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Thu, 2 Dec 2004 16:52:55 +0000
Subject: [PATCH] fix colour legend

git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@2093 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
 uk/ac/sanger/artemis/plot/BaseAlgorithm.java  | 51 +++----------
 .../plot/Codon12CorrelationAlgorithm.java     | 59 +--------------
 .../sanger/artemis/plot/GCFrameAlgorithm.java | 74 ++++++++++++++++++-
 uk/ac/sanger/artemis/plot/MRIAlgorithm.java   |  9 +--
 4 files changed, 86 insertions(+), 107 deletions(-)

diff --git a/uk/ac/sanger/artemis/plot/BaseAlgorithm.java b/uk/ac/sanger/artemis/plot/BaseAlgorithm.java
index e83516fa6..20cd71a29 100644
--- a/uk/ac/sanger/artemis/plot/BaseAlgorithm.java
+++ b/uk/ac/sanger/artemis/plot/BaseAlgorithm.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/plot/BaseAlgorithm.java,v 1.5 2004-11-30 11:27:50 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/plot/BaseAlgorithm.java,v 1.6 2004-12-02 16:52:54 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.plot;
@@ -38,7 +38,7 @@ import java.awt.BasicStroke;
  *  Strand of DNA, meaning the algorithm can't change strand part way along.
  *
  *  @author Kim Rutherford
- *  @version $Id: BaseAlgorithm.java,v 1.5 2004-11-30 11:27:50 tjc Exp $
+ *  @version $Id: BaseAlgorithm.java,v 1.6 2004-12-02 16:52:54 tjc Exp $
  **/
 
 public abstract class BaseAlgorithm extends Algorithm 
@@ -138,9 +138,6 @@ public abstract class BaseAlgorithm extends Algorithm
     }
     else
     {
-      int frame = strand.getSequenceLength() % 3;
-
-//    System.out.println("MOD "+frame);
       g2d.setColor(Color.black);
       g2d.drawString("4",0,font_height);
       g2d.drawString("5",font_width*5,font_height);
@@ -148,43 +145,15 @@ public abstract class BaseAlgorithm extends Algorithm
 
       BasicStroke stroke = (BasicStroke)g2d.getStroke();
       g2d.setStroke(new BasicStroke(3.f));
+      g2d.setColor(frameColour[0]);
+      g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
 
-      switch(frame)
-      {
-        case 0:
-          g2d.setColor(frameColour[0]);
-          g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
- 
-          g2d.setColor(frameColour[2]);
-          g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
-
-          g2d.setColor(frameColour[1]);
-          g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
-          g2d.setStroke(stroke);
-          return;
-        case 1:
-          g2d.setColor(frameColour[2]);
-          g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
-
-          g2d.setColor(frameColour[1]);
-          g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
-
-          g2d.setColor(frameColour[0]);
-          g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
-          g2d.setStroke(stroke);
-          return;
-        case 2:
-          g2d.setColor(frameColour[1]);
-          g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
-
-          g2d.setColor(frameColour[0]);
-          g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
-
-          g2d.setColor(frameColour[2]);
-          g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
-          g2d.setStroke(stroke);
-          return;
-      } 
+      g2d.setColor(frameColour[2]);
+      g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
+
+      g2d.setColor(frameColour[1]);
+      g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
+      g2d.setStroke(stroke);
     }
   }
 
diff --git a/uk/ac/sanger/artemis/plot/Codon12CorrelationAlgorithm.java b/uk/ac/sanger/artemis/plot/Codon12CorrelationAlgorithm.java
index 74b894a74..d0359ea34 100644
--- a/uk/ac/sanger/artemis/plot/Codon12CorrelationAlgorithm.java
+++ b/uk/ac/sanger/artemis/plot/Codon12CorrelationAlgorithm.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/plot/Codon12CorrelationAlgorithm.java,v 1.2 2004-11-30 10:52:38 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/plot/Codon12CorrelationAlgorithm.java,v 1.3 2004-12-02 16:52:55 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.plot;
@@ -38,7 +38,7 @@ import java.awt.*;
  *  the given strand.  The Strand to use is set in the constructor.
  *
  *  @author Kim Rutherford
- *  @version $Id: Codon12CorrelationAlgorithm.java,v 1.2 2004-11-30 10:52:38 tjc Exp $
+ *  @version $Id: Codon12CorrelationAlgorithm.java,v 1.3 2004-12-02 16:52:55 tjc Exp $
  **/
 public class Codon12CorrelationAlgorithm extends BaseAlgorithm 
 {
@@ -185,61 +185,6 @@ public class Codon12CorrelationAlgorithm extends BaseAlgorithm
     }
   }
 
-  /**
-  *
-  *  Override as reverse strand is not sequence length dependent
-  *
-  */
-  public void drawLegend(Graphics g, int font_height,
-                         int font_width, Color[] frameColour)
-  {
-    Graphics2D g2d = (Graphics2D)g;
-
-    FontMetrics fm = g2d.getFontMetrics();
-    int lineHgt    = 3 * font_height/4; 
-
-    Strand strand = getStrand();
-    if(strand.isForwardStrand())
-    {
-      g2d.setColor(Color.black);
-      g2d.drawString("1",0,font_height);
-      g2d.drawString("2",font_width*5,font_height);
-      g2d.drawString("3",font_width*10,font_height);
-
-      BasicStroke stroke = (BasicStroke)g2d.getStroke();
-      g2d.setStroke(new BasicStroke(3.f));
-      g2d.setColor(frameColour[0]);
-      g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
-     
-      g2d.setColor(frameColour[1]);
-      g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
-
-      g2d.setColor(frameColour[2]);
-      g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
-      g2d.setStroke(stroke);
-    }
-    else
-    {
-//    int frame = strand.getSequenceLength() % 3;
-//    System.out.println("MOD "+frame);
-      g2d.setColor(Color.black);
-      g2d.drawString("4",0,font_height);
-      g2d.drawString("5",font_width*5,font_height);
-      g2d.drawString("6",font_width*10,font_height);
-
-      BasicStroke stroke = (BasicStroke)g2d.getStroke();
-      g2d.setStroke(new BasicStroke(3.f));
-      g2d.setColor(frameColour[0]);
-      g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
-    
-      g2d.setColor(frameColour[2]);
-      g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
-
-      g2d.setColor(frameColour[1]);
-      g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
-      g2d.setStroke(stroke);
-    }
-  }
   /**
    *  Return the number of values a call to getValues () will return - three
    *  in this case.
diff --git a/uk/ac/sanger/artemis/plot/GCFrameAlgorithm.java b/uk/ac/sanger/artemis/plot/GCFrameAlgorithm.java
index d03f66d0a..92b82bcb7 100644
--- a/uk/ac/sanger/artemis/plot/GCFrameAlgorithm.java
+++ b/uk/ac/sanger/artemis/plot/GCFrameAlgorithm.java
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  *
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/plot/GCFrameAlgorithm.java,v 1.2 2004-11-30 11:08:55 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/plot/GCFrameAlgorithm.java,v 1.3 2004-12-02 16:52:55 tjc Exp $
  */
 
 package uk.ac.sanger.artemis.plot;
@@ -29,6 +29,8 @@ import uk.ac.sanger.artemis.sequence.*;
 import uk.ac.sanger.artemis.util.*;
 import uk.ac.sanger.artemis.io.Range;
 
+import java.awt.*;
+
 /**
  *  Objects of this class have one useful method - getValues (), which takes a
  *  range of bases and returns three floating point numbers, which are the
@@ -36,7 +38,7 @@ import uk.ac.sanger.artemis.io.Range;
  *  constructor.
  *
  *  @author Kim Rutherford
- *  @version $Id: GCFrameAlgorithm.java,v 1.2 2004-11-30 11:08:55 tjc Exp $
+ *  @version $Id: GCFrameAlgorithm.java,v 1.3 2004-12-02 16:52:55 tjc Exp $
  **/
 public class GCFrameAlgorithm extends BaseAlgorithm 
 {
@@ -137,6 +139,74 @@ public class GCFrameAlgorithm extends BaseAlgorithm
       values[frame] = 1.0F * gc_counts[frame]/sub_sequence_length * 3 * 100;
   }
 
+  /**
+  *
+  *  Override drawLegend() 
+  *
+  */
+  public void drawLegend(Graphics g, int font_height,
+                         int font_width, Color[] frameColour)
+  {
+    final Strand strand = getStrand();
+    if(strand.isForwardStrand())
+      super.drawLegend(g,font_height,font_width,frameColour);
+    else
+    {
+      Graphics2D g2d = (Graphics2D)g;
+
+      FontMetrics fm = g2d.getFontMetrics();
+      int lineHgt    = 3 * font_height/4;
+      int frame = strand.getSequenceLength() % 3;
+
+//    System.out.println("MOD "+frame);
+      g2d.setColor(Color.black);
+      g2d.drawString("4",0,font_height);
+      g2d.drawString("5",font_width*5,font_height);
+      g2d.drawString("6",font_width*10,font_height);
+
+      BasicStroke stroke = (BasicStroke)g2d.getStroke();
+      g2d.setStroke(new BasicStroke(3.f));
+
+      switch(frame)
+      {
+        case 0:
+          g2d.setColor(frameColour[0]);
+          g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
+ 
+          g2d.setColor(frameColour[1]);
+          g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
+
+          g2d.setColor(frameColour[2]);
+          g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
+          g2d.setStroke(stroke);
+          return;
+        case 1:
+          g2d.setColor(frameColour[2]);
+          g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
+
+          g2d.setColor(frameColour[0]);
+          g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
+
+          g2d.setColor(frameColour[1]);
+          g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
+          g2d.setStroke(stroke);
+          return;
+        case 2:
+          g2d.setColor(frameColour[1]);
+          g2d.drawLine(font_width*2, lineHgt, font_width*4, lineHgt);
+
+          g2d.setColor(frameColour[2]);
+          g2d.drawLine(font_width*7, lineHgt, font_width*9, lineHgt);
+
+          g2d.setColor(frameColour[0]);
+          g2d.drawLine(font_width*12, lineHgt, font_width*14, lineHgt);
+          g2d.setStroke(stroke);
+          return;
+      } 
+    }
+  }
+
+
   /**
    *  Return the number of values a call to getValues() will return - three
    *  in this case.
diff --git a/uk/ac/sanger/artemis/plot/MRIAlgorithm.java b/uk/ac/sanger/artemis/plot/MRIAlgorithm.java
index 619498766..3dce8278e 100644
--- a/uk/ac/sanger/artemis/plot/MRIAlgorithm.java
+++ b/uk/ac/sanger/artemis/plot/MRIAlgorithm.java
@@ -34,7 +34,7 @@ import uk.ac.sanger.artemis.sequence.*;
  * Biol Int 43:107-14
  *
  *  @author Derek Gatherer
- *  @version $Id: MRIAlgorithm.java,v 1.2 2004-12-01 16:33:27 tjc Exp $
+ *  @version $Id: MRIAlgorithm.java,v 1.3 2004-12-02 16:52:55 tjc Exp $
  *  original version 10-09-03
  *  revised 01-12-04
  **/
@@ -61,11 +61,7 @@ public class MRIAlgorithm extends BaseAlgorithm
    **/
   public void getValues(int start, int end, final float [] values) 
   {
-    if(getStrand().isForwardStrand())  // rather than isRevCompDisplay()
-    {
-//    System.out.println("isRevCompDisplay does not activate here");
-    }
-    else
+    if(!getStrand().isForwardStrand() || isRevCompDisplay()) 
     {
       final int new_end =
         getStrand().getBases().getComplementPosition(start);
@@ -74,7 +70,6 @@ public class MRIAlgorithm extends BaseAlgorithm
 
       end = new_end;
       start = new_start;
-//      System.out.println("Revcomp, so new start:"+start+"new end:"+end);
     }
     
     final String sub_sequence;
-- 
GitLab