This constructor is never called
[jalview.git] / src / jalview / appletgui / AlignFrame.java
index 1059dc7..479d771 100755 (executable)
@@ -337,7 +337,7 @@ public class AlignFrame extends Frame implements ActionListener,
 \r
         if(toggleSeqs)\r
         {\r
-          if (sg != null && sg.getSize(false) != viewport.alignment.getHeight())\r
+          if (sg != null && sg.getSize() != viewport.alignment.getHeight())\r
           {\r
             hide = true;\r
             viewport.hideAllSelectedSeqs();\r
@@ -504,7 +504,7 @@ public void itemStateChanged(ItemEvent evt)
     else if (source == outputAnnotations)\r
       outputAnnotations();\r
     else if(source == outputFeatures)\r
-      outputFeatures();\r
+      outputFeatures(true, "Jalview");\r
     else if(source==closeMenuItem)\r
       closeMenuItem_actionPerformed();\r
     else if(source==copy)\r
@@ -655,7 +655,7 @@ public void itemStateChanged(ItemEvent evt)
                                      "Alignment output - " + e.getActionCommand(),\r
                                      600, 500);\r
     cap.setText(new AppletFormatAdapter().formatSequences(e.getActionCommand(),\r
-                                              viewport.getAlignment().getSequences(),\r
+                                              viewport.getAlignment(),\r
                                                       viewport.showJVSuffix));\r
   }\r
 \r
@@ -672,7 +672,7 @@ public void itemStateChanged(ItemEvent evt)
 \r
   public void outputAnnotations()\r
   {\r
-    CutAndPasteTransfer cap = new CutAndPasteTransfer(true, this);\r
+    CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this);\r
     Frame frame = new Frame();\r
     frame.add(cap);\r
     jalview.bin.JalviewLite.addFrame(frame,\r
@@ -682,18 +682,32 @@ public void itemStateChanged(ItemEvent evt)
       viewport.alignment.getAlignmentAnnotation() ) );\r
   }\r
 \r
-  public void outputFeatures()\r
+  public String outputFeatures(boolean displayTextbox, String format)\r
   {\r
-    CutAndPasteTransfer cap = new CutAndPasteTransfer(true, this);\r
-    Frame frame = new Frame();\r
-    frame.add(cap);\r
-    jalview.bin.JalviewLite.addFrame(frame,\r
-                                     "Features",\r
-                                     600, 500);\r
+    String features;\r
+    if (format.equalsIgnoreCase("Jalview"))\r
+      features = new FeaturesFile().printJalviewFormat(\r
+              viewport.alignment.getSequencesArray(),\r
+              viewport.featuresDisplayed);\r
+    else\r
+      features = new FeaturesFile().printGFFFormat(\r
+             viewport.alignment.getSequencesArray(),\r
+             viewport.featuresDisplayed);\r
+\r
+\r
+    if(displayTextbox)\r
+    {\r
+      CutAndPasteTransfer cap = new CutAndPasteTransfer(false, this);\r
+      Frame frame = new Frame();\r
+      frame.add(cap);\r
+      jalview.bin.JalviewLite.addFrame(frame,\r
+                                       "Features",\r
+                                       600, 500);\r
+\r
+      cap.setText(features);\r
+    }\r
 \r
-    cap.setText(new FeaturesFile().printJalviewFormat(\r
-                viewport.alignment.getSequencesArray(),\r
-                viewport.featuresDisplayed));\r
+    return features;\r
   }\r
 \r
   void launchFullApplication()\r
@@ -916,13 +930,13 @@ public void itemStateChanged(ItemEvent evt)
       for (int i = 1; i < viewport.alignment.getHeight(); i++)\r
       {\r
         SequenceI seq = viewport.alignment.getSequenceAt(i);\r
-        if (!sg.getSequences(false).contains(seq))\r
+        if (!sg.getSequences(null).contains(seq))\r
         {\r
           continue;\r
         }\r
 \r
         SequenceI temp = viewport.alignment.getSequenceAt(i - 1);\r
-        if (sg.getSequences(false).contains(temp))\r
+        if (sg.getSequences(null).contains(temp))\r
         {\r
           continue;\r
         }\r
@@ -936,13 +950,13 @@ public void itemStateChanged(ItemEvent evt)
       for (int i = viewport.alignment.getHeight() - 2; i > -1; i--)\r
       {\r
         SequenceI seq = viewport.alignment.getSequenceAt(i);\r
-        if (!sg.getSequences(true).contains(seq))\r
+        if (!sg.getSequences(viewport.hiddenRepSequences).contains(seq))\r
         {\r
           continue;\r
         }\r
 \r
         SequenceI temp = viewport.alignment.getSequenceAt(i + 1);\r
-        if (sg.getSequences(true).contains(temp))\r
+        if (sg.getSequences(viewport.hiddenRepSequences).contains(temp))\r
         {\r
           continue;\r
         }\r
@@ -967,7 +981,7 @@ public void itemStateChanged(ItemEvent evt)
     SequenceGroup sg = viewport.getSelectionGroup();\r
     copiedSequences = new StringBuffer();\r
     Hashtable orderedSeqs = new Hashtable();\r
-    for (int i = 0; i < sg.getSize(false); i++)\r
+    for (int i = 0; i < sg.getSize(); i++)\r
     {\r
       SequenceI seq = sg.getSequenceAt(i);\r
       int index = viewport.alignment.findIndex(seq);\r
@@ -996,7 +1010,7 @@ public void itemStateChanged(ItemEvent evt)
       copiedHiddenColumns = null;\r
 \r
 \r
-    for (int i = 0; i < sg.getSize(false); i++)\r
+    for (int i = 0; i < sg.getSize(); i++)\r
     {\r
         SequenceI seq = null;\r
 \r
@@ -1161,7 +1175,7 @@ public void itemStateChanged(ItemEvent evt)
 \r
     Vector seqs = new Vector();\r
     SequenceI seq;\r
-    for (int i = 0; i < sg.getSize(false); i++)\r
+    for (int i = 0; i < sg.getSize(); i++)\r
     {\r
       seq = sg.getSequenceAt(i);\r
       seqs.addElement(seq);\r
@@ -1169,7 +1183,7 @@ public void itemStateChanged(ItemEvent evt)
 \r
 \r
    // If the cut affects all sequences, remove highlighted columns\r
-   if (sg.getSize(false) == viewport.alignment.getHeight())\r
+   if (sg.getSize() == viewport.alignment.getHeight())\r
    {\r
      viewport.getColumnSelection().removeElements(sg.getStartRes(),\r
          sg.getEndRes() + 1);\r
@@ -1267,7 +1281,7 @@ public void itemStateChanged(ItemEvent evt)
 \r
       SequenceI [] seqs;\r
       if(viewport.getSelectionGroup()!=null)\r
-        seqs = viewport.getSelectionGroup().getSequencesAsArray(true);\r
+        seqs = viewport.getSelectionGroup().getSequencesAsArray(viewport.hiddenRepSequences);\r
       else\r
         seqs = viewport.alignment.getSequencesArray();\r
 \r
@@ -1326,7 +1340,7 @@ public void itemStateChanged(ItemEvent evt)
     SequenceI[] seqs;\r
     if (viewport.getSelectionGroup() != null)\r
     {\r
-      seqs = viewport.getSelectionGroup().getSequencesAsArray(true);\r
+      seqs = viewport.getSelectionGroup().getSequencesAsArray(viewport.hiddenRepSequences);\r
       start = viewport.getSelectionGroup().getStartRes();\r
       end = viewport.getSelectionGroup().getEndRes();\r
     }\r
@@ -1365,7 +1379,7 @@ public void itemStateChanged(ItemEvent evt)
     SequenceI[] seqs;\r
     if (viewport.getSelectionGroup() != null)\r
     {\r
-      seqs = viewport.getSelectionGroup().getSequencesAsArray(true);\r
+      seqs = viewport.getSelectionGroup().getSequencesAsArray(viewport.hiddenRepSequences);\r
       start = viewport.getSelectionGroup().getStartRes();\r
       end = viewport.getSelectionGroup().getEndRes();\r
     }\r
@@ -1557,7 +1571,9 @@ public void itemStateChanged(ItemEvent evt)
         }\r
         if (cs instanceof ClustalxColourScheme)\r
         {\r
-          sg.cs = new ClustalxColourScheme(sg.getSequences(true), sg.getWidth());\r
+          sg.cs = new ClustalxColourScheme(\r
+              sg.getSequences(viewport.hiddenRepSequences),\r
+              sg.getWidth());\r
         }\r
         else\r
         {\r
@@ -1577,7 +1593,8 @@ public void itemStateChanged(ItemEvent evt)
             || cs instanceof Blosum62ColourScheme)\r
         {\r
           sg.cs.setThreshold(threshold, viewport.getIgnoreGapsConsensus());\r
-          sg.cs.setConsensus(AAFrequency.calculate(sg.getSequences(true), 0, sg.getWidth()));\r
+          sg.cs.setConsensus(AAFrequency.calculate(\r
+              sg.getSequences(viewport.hiddenRepSequences), 0, sg.getWidth()));\r
         }\r
         else\r
           sg.cs.setThreshold(0, viewport.getIgnoreGapsConsensus());\r
@@ -1586,7 +1603,7 @@ public void itemStateChanged(ItemEvent evt)
         {\r
           Conservation c = new Conservation("Group",\r
                                             ResidueProperties.propHash, 3,\r
-                                            sg.getSequences(true), 0,\r
+                                            sg.getSequences(viewport.hiddenRepSequences), 0,\r
                                             viewport.alignment.getWidth() - 1);\r
           c.calculate();\r
           c.verdict(false, viewport.ConsPercGaps);\r
@@ -1692,7 +1709,7 @@ public void itemStateChanged(ItemEvent evt)
   public void pairwiseAlignmentMenuItem_actionPerformed()\r
   {\r
     if (viewport.getSelectionGroup()!=null\r
-        && viewport.getSelectionGroup().getSize(false) > 1)\r
+        && viewport.getSelectionGroup().getSize() > 1)\r
     {\r
       Frame frame = new Frame();\r
       frame.add(new PairwiseAlignPanel(alignPanel));\r
@@ -1722,8 +1739,8 @@ public void itemStateChanged(ItemEvent evt)
     }\r
 \r
     if ( (viewport.getSelectionGroup() != null &&\r
-          viewport.getSelectionGroup().getSize(false) < 4 &&\r
-          viewport.getSelectionGroup().getSize(false) > 0)\r
+          viewport.getSelectionGroup().getSize() < 4 &&\r
+          viewport.getSelectionGroup().getSize() > 0)\r
         || viewport.getAlignment().getHeight() < 4)\r
     {\r
       return;\r
@@ -1782,7 +1799,7 @@ public void itemStateChanged(ItemEvent evt)
     }\r
 \r
     if ( (viewport.getSelectionGroup() != null &&\r
-          viewport.getSelectionGroup().getSize(false) > 1)\r
+          viewport.getSelectionGroup().getSize() > 1)\r
       || (viewport.getSelectionGroup() == null\r
           && viewport.alignment.getHeight() > 1))\r
     {\r