uses jalviewfilechooser
[jalview.git] / src / jalview / gui / AlignViewport.java
index 1324c1e..2f40de4 100755 (executable)
@@ -4,6 +4,7 @@ import java.awt.*;
 import jalview.io.*;\r
 import jalview.analysis.NJTree;\r
 import jalview.datamodel.*;\r
+import jalview.schemes.*;\r
 import java.util.*;\r
 \r
 public class AlignViewport\r
@@ -14,31 +15,33 @@ public class AlignViewport
   int startSeq;\r
   int endSeq;\r
 \r
-  boolean showScores;\r
-  boolean showText;\r
-  boolean showColourText;\r
-  boolean showBoxes;\r
-  boolean wrapAlignment;\r
+  boolean showScores=false;\r
+  boolean showText=true;\r
+  boolean showColourText=false;\r
+  boolean showBoxes=true;\r
+  boolean wrapAlignment=false;\r
+  boolean renderGaps = true;\r
+  boolean showSequenceFeatures = false;\r
 \r
-  boolean groupEdit    = false;\r
+  boolean colourAppliesToAllGroups = true;\r
+  ColourSchemeI globalColourScheme = null;\r
+  boolean conservationColourSelected = false;\r
+  boolean abovePIDThreshold = false;\r
 \r
-  RendererI renderer = new SequenceRenderer();\r
+  SequenceGroup selectionGroup = new SequenceGroup();\r
+\r
+  RendererI renderer = new SequenceRenderer(this);\r
 \r
   int             charHeight;\r
-  double          charWidth;\r
+  int             charWidth;\r
   int             chunkWidth;\r
   int             chunkHeight;\r
 \r
-  Color           backgroundColour;\r
-\r
   Font            font = new Font("SansSerif",Font.PLAIN,10);\r
   AlignmentI      alignment;\r
 \r
-  Selection       sel    = new Selection();\r
   ColumnSelection colSel = new ColumnSelection();\r
 \r
-  OutputGenerator og;\r
-\r
   String visibleConsensus;\r
 \r
   int threshold;\r
@@ -46,10 +49,6 @@ public class AlignViewport
 \r
   NJTree currentTree = null;\r
 \r
-  int window   = 50;\r
-  int baseline = 30;\r
-\r
-  Vector kmers;\r
 \r
   public AlignViewport(AlignmentI da,\r
                        boolean showScores,\r
@@ -86,18 +85,10 @@ public class AlignViewport
     setFont( font );\r
  }\r
 \r
-  public AlignViewport(int startRes, int endRes,\r
-                       int startSeq, int endSeq,\r
-                       boolean showScores,\r
-                       boolean showText,\r
-                       boolean showBoxes,\r
-                       boolean wrapAlignment,\r
-                       Color backgroundColour) {\r
-    this(startRes,endRes,startSeq,endSeq,showScores,showText,showBoxes,wrapAlignment);\r
-\r
-    this.backgroundColour = backgroundColour;\r
-  }\r
-\r
+ public void showSequenceFeatures(boolean b)\r
+ {\r
+   showSequenceFeatures = b;\r
+ }\r
 \r
   public String getVisibleConsensus()\r
   {\r
@@ -105,7 +96,6 @@ public class AlignViewport
   }\r
 \r
   Vector consensus = new Vector();\r
-\r
   public Vector getConsensus(boolean recalculate)\r
   {\r
     if(recalculate || consensus.size()<1)\r
@@ -125,6 +115,36 @@ public class AlignViewport
     return consensus;\r
   }\r
 \r
+  public SequenceGroup getSelectionGroup()\r
+  {\r
+    return selectionGroup;\r
+  }\r
+\r
+  public void setSelectionGroup(SequenceGroup sg)\r
+  {\r
+    selectionGroup = sg;\r
+  }\r
+\r
+\r
+ public boolean getConservationSelected()\r
+ {\r
+   return conservationColourSelected;\r
+ }\r
+\r
+ public void setConservationSelected(boolean b)\r
+ {\r
+   conservationColourSelected = b;\r
+ }\r
+\r
+ public boolean getAbovePIDThreshold()\r
+ {\r
+   return abovePIDThreshold;\r
+ }\r
+\r
+ public void setAbovePIDThreshold(boolean b)\r
+ {\r
+   abovePIDThreshold = b;\r
+ }\r
 \r
   public int getStartRes() {\r
     return startRes;\r
@@ -138,6 +158,16 @@ public class AlignViewport
     return startSeq;\r
   }\r
 \r
+  public void setGlobalColourScheme(ColourSchemeI cs)\r
+  {\r
+     globalColourScheme = cs;\r
+  }\r
+\r
+  public ColourSchemeI getGlobalColourScheme()\r
+  {\r
+    return globalColourScheme;\r
+  }\r
+\r
 \r
   public void setStartRes(int res) {\r
     this.startRes = res;\r
@@ -180,10 +210,10 @@ public class AlignViewport
   public Font getFont() {\r
     return font;\r
   }\r
-  public void setCharWidth(double w) {\r
+  public void setCharWidth(int w) {\r
     this.charWidth = w;\r
   }\r
-  public double getCharWidth() {\r
+  public int getCharWidth() {\r
     return charWidth;\r
   }\r
   public void setCharHeight(int h) {\r
@@ -220,6 +250,16 @@ public class AlignViewport
     showText = state;\r
   }\r
 \r
+  public void setRenderGaps(boolean state){\r
+    renderGaps = state;\r
+    if(renderer instanceof SequenceRenderer)\r
+    {\r
+      SequenceRenderer sr = (SequenceRenderer)renderer;\r
+      sr.renderGaps(state);\r
+    }\r
+  }\r
+\r
+\r
   public boolean getColourText()\r
   {\r
     return showColourText;\r
@@ -245,19 +285,11 @@ public class AlignViewport
   public boolean getShowBoxes() {\r
     return showBoxes;\r
   }\r
- // public CommandParser getCommandLog() {\r
- ///   return log;\r
- // }\r
-  public boolean getGroupEdit() {\r
-    return groupEdit;\r
-  }\r
-  public void setGroupEdit(boolean state) {\r
-    groupEdit = state;\r
-  }\r
-  public String getGapCharacter() {\r
+\r
+  public char getGapCharacter() {\r
     return getAlignment().getGapCharacter();\r
   }\r
-  public void setGapCharacter(String gap) {\r
+  public void setGapCharacter(char gap) {\r
     if (getAlignment() != null) {\r
       getAlignment().setGapCharacter(gap);\r
     }\r
@@ -293,15 +325,11 @@ public class AlignViewport
     }\r
     return -1;\r
   }\r
-  public Selection getSelection() {\r
-    return sel;\r
-  }\r
+\r
   public ColumnSelection getColumnSelection() {\r
     return colSel;\r
   }\r
-  public OutputGenerator getOutputGenerator() {\r
-    return og;\r
-  }\r
+\r
   public void resetSeqLimits(int height) {\r
     setStartSeq(0);\r
     setEndSeq(height/getCharHeight());\r
@@ -320,27 +348,12 @@ public class AlignViewport
     public RendererI getRenderer() {\r
        return renderer;\r
     }\r
-    public int getPIDWindow() {\r
-       return window;\r
-    }\r
-    public void setPIDWindow(int window) {\r
-       this.window = window;\r
-    }\r
-\r
-    public int getPIDBaseline() {\r
-       return baseline;\r
-    }\r
-    public void setPIDBaseline(int baseline) {\r
-       this.baseline = baseline;\r
-    }\r
 \r
-    public void setKmers(Vector kmers) {\r
-        this.kmers = kmers;\r
-    }\r
+  public void setColourAppliesToAllGroups(boolean b)\r
+  {   colourAppliesToAllGroups = b; }\r
 \r
-    public Vector getKmers() {\r
-        return this.kmers;\r
-    }\r
+  public boolean getColourAppliesToAllGroups()\r
+  {return colourAppliesToAllGroups; }\r
 \r
 \r
 }\r