set gap char modified
[jalview.git] / src / jalview / gui / AlignFrame.java
index 80f16a3..1b9ee91 100755 (executable)
@@ -579,8 +579,10 @@ public class AlignFrame extends GAlignFrame
     JInternalFrame frame = new JInternalFrame();\r
     FontChooser fc = new FontChooser( alignPanel, frame );\r
     frame.setContentPane(fc);\r
-    Desktop.addInternalFrame(frame, "Change Font", 480,100);\r
+    Desktop.addInternalFrame(frame, "Change Font", 480,100, false);\r
     frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
+    if(alignPanel.getOverviewPanel()!=null)\r
+      alignPanel.getOverviewPanel().updateOverviewImage();\r
   }\r
 \r
   protected void fullSeqId_actionPerformed(ActionEvent e)\r
@@ -674,27 +676,20 @@ public class AlignFrame extends GAlignFrame
       return;\r
 \r
     JInternalFrame frame = new JInternalFrame();\r
-    OverviewPanel overview = alignPanel.getOverviewPanel();\r
-   try{\r
-     overview = new OverviewPanel(alignPanel, viewport);\r
+    OverviewPanel overview = new OverviewPanel(alignPanel);\r
      frame.setContentPane(overview);\r
     Desktop.addInternalFrame(frame, "Overview " + this.getTitle(),\r
                              frame.getWidth(), frame.getHeight());\r
     frame.pack();\r
+    frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
     frame.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter()\r
     { public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt)\r
       {\r
             alignPanel.setOverviewPanel(null);\r
       };\r
     });\r
-    alignPanel.setOverviewPanel( overview );\r
 \r
-  }catch(java.lang.OutOfMemoryError ex)\r
-   {\r
-     JOptionPane.showInternalMessageDialog(this, "Sequence alignment too large to\nproduce overview image!!"\r
-                                   +"\nTry reducing the font size.",\r
-                                   "Out of memory", JOptionPane.WARNING_MESSAGE);\r
-   }\r
+    alignPanel.setOverviewPanel( overview );\r
 \r
 \r
   }\r
@@ -804,6 +799,8 @@ public class AlignFrame extends GAlignFrame
       ccs.setConsensus( viewport.vconsensus );\r
       viewport.setGlobalColourScheme(ccs);\r
 \r
+      SliderPanel.setConservationSlider(alignPanel, ccs, "Background");\r
+\r
     }\r
     else\r
     {\r
@@ -868,8 +865,8 @@ public class AlignFrame extends GAlignFrame
       }\r
     }\r
 \r
-\r
-\r
+    if(alignPanel.getOverviewPanel()!=null)\r
+      alignPanel.getOverviewPanel().updateOverviewImage();\r
     alignPanel.repaint();\r
   }\r
 \r
@@ -907,9 +904,9 @@ public class AlignFrame extends GAlignFrame
     else\r
       changeColour( cs );\r
 \r
+    modifyConservation_actionPerformed(null);\r
   }\r
 \r
- // boolean coloursChanging = false;\r
   public void abovePIDThreshold_actionPerformed(ActionEvent e)\r
   {\r
     viewport.setAbovePIDThreshold(abovePIDThreshold.isSelected());\r
@@ -923,6 +920,8 @@ public class AlignFrame extends GAlignFrame
         changeColour( ((ConservationColourScheme)cs).cs );\r
     else\r
         changeColour( cs );\r
+\r
+    modifyPID_actionPerformed(null);\r
   }\r
 \r
 \r
@@ -1189,6 +1188,39 @@ public class AlignFrame extends GAlignFrame
 \r
     }\r
   }\r
+  protected void msaAlignMenuItem_actionPerformed(ActionEvent e)\r
+  {\r
+    // TODO:resolve which menu item was actually selected\r
+    // Now, check we have enough sequences\r
+      if (viewport.getSelectionGroup() != null && viewport.getSelectionGroup().getSize()>1)\r
+      {\r
+        // JBPNote UGLY! To prettify, make SequenceGroup and Alignment conform to some common interface!\r
+        SequenceGroup seqs = viewport.getSelectionGroup();\r
+        int sz;\r
+        SequenceI[] msa = new SequenceI[sz=seqs.getSize()];\r
+        for (int i = 0; i < sz; i++)\r
+        {\r
+          msa[i] = (SequenceI) seqs.getSequenceAt(i);\r
+        }\r
+\r
+        MsaWSClient ct = new jalview.ws.MsaWSClient(msa);\r
+      }\r
+      else\r
+      {\r
+        Vector seqs = viewport.getAlignment().getSequences();\r
+\r
+        if (seqs.size() > 1) {\r
+          SequenceI[] msa = new SequenceI[seqs.size()];\r
+          for (int i = 0; i < seqs.size(); i++)\r
+          {\r
+            msa[i] = (SequenceI) seqs.elementAt(i);\r
+          }\r
+\r
+          MsaWSClient ct = new MsaWSClient(msa);\r
+        }\r
+\r
+      }\r
+    }\r
 \r
     protected void LoadtreeMenuItem_actionPerformed(ActionEvent e) {\r
     // Pick the tree file\r