smooth font gone, setFileName and close open alignPanel
authoramwaterhouse <Andrew Waterhouse>
Thu, 9 Nov 2006 18:15:12 +0000 (18:15 +0000)
committeramwaterhouse <Andrew Waterhouse>
Thu, 9 Nov 2006 18:15:12 +0000 (18:15 +0000)
src/jalview/gui/AlignFrame.java

index 637a266..e38d96d 100755 (executable)
@@ -58,9 +58,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
 
   /** DOCUMENT ME!! */
-  public String currentFileFormat = null;
+  String currentFileFormat = null;
 
-  public String fileName = null;
+  String fileName = null;
 
   private int treeCount = 0;
 
@@ -146,7 +146,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
    addKeyListener();
 
+  }
 
+  public void setFileName(String file, String format)
+  {
+     fileName = file;
+     currentFileFormat = format;
+     reload.setEnabled(true);
   }
 
   void addKeyListener()
@@ -165,26 +171,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
 
           switch (evt.getKeyCode())
           {
-            case KeyEvent.VK_V:
-              if (!evt.isControlDown())
-              {
-                AlignmentPanel newap =
-                    new Jalview2XML().copyAlignPanel(alignPanel, true);
-
-                if(viewport.viewName==null)
-                  viewport.viewName="View 1";
-
-                newap.av.historyList = viewport.historyList;
-                newap.av.redoList = viewport.redoList;
-                newap.av.viewName = "View " +
-                    (Desktop.getViewCount(viewport.getSequenceSetId())+1);
-
-                addAlignmentPanel(newap, false);
-
-                tabbedPane.setSelectedIndex(tabbedPane.getTabCount()-1);
-
-              }
-              break;
             case KeyEvent.VK_G:
               Desktop.instance.gatherViews(af);
               break;
@@ -450,7 +436,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
       {
         // System.out.println("deregistering discoverer listener");
         Desktop.discoverer.removePropertyChangeListener(thisListener);
-        closeMenuItem_actionPerformed(null);
+        closeMenuItem_actionPerformed(true);
       }
       ;
     });
@@ -492,7 +478,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     showSeqFeatures.setSelected(av.showSequenceFeatures);
     hiddenMarkers.setState(av.showHiddenMarkers);
     applyToAllGroups.setState(av.colourAppliesToAllGroups);
-    smoothFont.setState(av.antiAlias);
 
     updateEditMenuBar();
   }
@@ -567,16 +552,30 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
   {
     if(fileName!=null)
     {
-      viewport.alignment.deleteAllGroups();
-      while (viewport.alignment.getHeight() > 0)
+      if(currentFileFormat.equals("Jalview"))
       {
-        viewport.alignment.deleteSequence(0);
+        this.closeMenuItem_actionPerformed(true);
       }
+      else
+      {
+        viewport.alignment.deleteAllGroups();
+        while (viewport.alignment.getHeight() > 0)
+        {
+          viewport.alignment.deleteSequence(0);
+        }
 
-      viewport.historyList.clear();
-      viewport.redoList.clear();
+        viewport.historyList.clear();
+        viewport.redoList.clear();
+        Alignment dset = viewport.alignment.getDataset();
+        while (dset.getHeight() > 0)
+        {
+          dset.deleteSequence(0);
+        }
 
-      updateEditMenuBar();
+        firePropertyChange("Alignment", null, null);
+
+        updateEditMenuBar();
+      }
 
       FileLoader loader = new FileLoader();
       loader.LoadFile(viewport, fileName, "File", currentFileFormat);
@@ -745,6 +744,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     }
 
     CutAndPasteTransfer cap = new CutAndPasteTransfer();
+    cap.setForInput(null);
     Desktop.addInternalFrame(cap,
                              "Alignment output - " + e.getActionCommand(), 600,
                              500);
@@ -847,28 +847,45 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
    *
    * @param e DOCUMENT ME!
    */
-  public void closeMenuItem_actionPerformed(ActionEvent e)
+  public void closeMenuItem_actionPerformed(boolean closeAllTabs)
   {
+    if(alignPanels!=null && alignPanels.size()<2)
+      closeAllTabs = true;
+
     try
     {
       if(alignPanels!=null)
       {
-        for (int i = 0; i < alignPanels.size(); i++)
+        if (closeAllTabs)
+          for (int i = 0; i < alignPanels.size(); i++)
+          {
+            AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);
+            PaintRefresher.RemoveComponent(ap.seqPanel.seqCanvas);
+            PaintRefresher.RemoveComponent(ap.idPanel.idCanvas);
+            PaintRefresher.RemoveComponent(ap);
+          }
+        else
         {
-          AlignmentPanel ap = (AlignmentPanel) alignPanels.elementAt(i);
-          PaintRefresher.RemoveComponent(ap.seqPanel.seqCanvas);
-          PaintRefresher.RemoveComponent(ap.idPanel.idCanvas);
-          PaintRefresher.RemoveComponent(ap);
+          int index = tabbedPane.getSelectedIndex();
+
+          tabbedPane.removeTabAt(index);
+          alignPanels.removeElement(alignPanel);
+          PaintRefresher.RemoveComponent(alignPanel.seqPanel.seqCanvas);
+          PaintRefresher.RemoveComponent(alignPanel.idPanel.idCanvas);
+          PaintRefresher.RemoveComponent(alignPanel);
+          alignPanel = null;
+          viewport = null;
+          tabbedPane.validate();
+
+          if(index==tabbedPane.getTabCount())
+            index --;
+
+          this.tabSelectionChanged(index);
         }
-      //  alignPanels = null;
       }
-    //  else
-     //   System.out.println("null one here");
 
-    //  alignPanel = null;
-    //  viewport = null;
-
-      this.setClosed(true);
+      if (closeAllTabs)
+        this.setClosed(true);
     }
     catch (Exception ex)
     {
@@ -1661,6 +1678,30 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     Desktop.addInternalFrame(frame, "Find", 340, 110);
   }
 
+  public void newView_actionPerformed(ActionEvent e)
+  {
+    AlignmentPanel newap =
+        new Jalview2XML().copyAlignPanel(alignPanel, true);
+
+    if (viewport.viewName == null)
+      viewport.viewName = "View 1";
+
+    newap.av.historyList = viewport.historyList;
+    newap.av.redoList = viewport.redoList;
+    newap.av.viewName = "View " +
+        (Desktop.getViewCount(viewport.getSequenceSetId()) + 1);
+
+    addAlignmentPanel(newap, false);
+
+    if(alignPanels.size()==2)
+    {
+      System.out.println("set gather once2");
+      viewport.gatherViewsHere = true;
+    }
+    tabbedPane.setSelectedIndex(tabbedPane.getTabCount() - 1);
+  }
+
+
   /**
    * DOCUMENT ME!
    *
@@ -1671,13 +1712,6 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener
     new FontChooser(alignPanel);
   }
 
-  public void smoothFont_actionPerformed(ActionEvent e)
-  {
-    viewport.antiAlias = smoothFont.isSelected();
-    alignPanel.annotationPanel.image = null;
-    alignPanel.repaint();
-  }
-
 
   /**
    * DOCUMENT ME!