Fire alignment changed if seqs hidden / revealed
[jalview.git] / src / jalview / gui / PopupMenu.java
index 5a98d55..4be63e4 100755 (executable)
@@ -81,7 +81,7 @@ public class PopupMenu extends JPopupMenu
   JMenuItem pdbFromFile = new JMenuItem();\r
   JMenuItem enterPDB = new JMenuItem();\r
   JMenuItem discoverPDB = new JMenuItem();\r
-  JMenuItem jMenuItem1 = new JMenuItem();\r
+  JMenu outputMenu = new JMenu();\r
 \r
   /**\r
      * Creates a new PopupMenu object.\r
@@ -115,11 +115,10 @@ public class PopupMenu extends JPopupMenu
         colours.add(PIDColour);\r
         colours.add(BLOSUM62Colour);\r
 \r
-        for (int i = 0; i < jalview.io.FormatAdapter.formats.size(); i++)\r
+        for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)\r
         {\r
-          JMenuItem item = new JMenuItem( (String) jalview.io.FormatAdapter.formats.\r
-                                         elementAt(\r
-                                             i));\r
+          JMenuItem item = new JMenuItem( jalview.io.FormatAdapter.WRITEABLE_FORMATS[i] );\r
+\r
           item.addActionListener(new java.awt.event.ActionListener()\r
           {\r
             public void actionPerformed(ActionEvent e)\r
@@ -128,7 +127,8 @@ public class PopupMenu extends JPopupMenu
             }\r
           });\r
 \r
-    }\r
+          outputMenu.add(item);\r
+        }\r
 \r
 \r
         try\r
@@ -206,7 +206,6 @@ public class PopupMenu extends JPopupMenu
                 public void actionPerformed(ActionEvent e)\r
                 {\r
                   ap.av.showSequence(index);\r
-                  ap.repaint();\r
                   if (ap.overviewPanel != null)\r
                     ap.overviewPanel.updateOverviewImage();\r
                 }\r
@@ -220,10 +219,9 @@ public class PopupMenu extends JPopupMenu
                   public void actionPerformed(ActionEvent e)\r
                   {\r
                     ap.av.showAllHiddenSeqs();\r
-                    ap.repaint();\r
                     if (ap.overviewPanel != null)\r
                       ap.overviewPanel.updateOverviewImage();\r
-                      }\r
+                    }\r
                 });\r
 \r
             add(menuItem);\r
@@ -352,7 +350,10 @@ public class PopupMenu extends JPopupMenu
 \r
             linkMenu.add(item);\r
           }\r
-          sequenceMenu.add(linkMenu);\r
+          if(sequence!=null)\r
+            sequenceMenu.add(linkMenu);\r
+          else\r
+            add(linkMenu);\r
         }\r
     }\r
 \r
@@ -502,12 +503,12 @@ public class PopupMenu extends JPopupMenu
         discoverPDB_actionPerformed(e);\r
       }\r
     });\r
-    jMenuItem1.setText("Output to Textbox...");\r
+    outputMenu.setText("Output to Textbox...");\r
     add(groupMenu);\r
 \r
     add(sequenceMenu);\r
     groupMenu.add(editMenu);\r
-    groupMenu.add(jMenuItem1);\r
+    groupMenu.add(outputMenu);\r
     groupMenu.addSeparator();\r
     groupMenu.add(groupName);\r
     groupMenu.add(unGroupMenuItem);\r
@@ -1145,8 +1146,6 @@ public class PopupMenu extends JPopupMenu
         }\r
 \r
         ap.av.setSelectionGroup(null);\r
-        ap.repaint();\r
-        refresh();\r
     }\r
 \r
   public void copy_actionPerformed(ActionEvent e)\r
@@ -1274,18 +1273,6 @@ public class PopupMenu extends JPopupMenu
 \r
   public void enterPDB_actionPerformed(ActionEvent e)\r
   {\r
-    int size = (ap.av.getSelectionGroup() == null ? 0 :\r
-                ap.av.getSelectionGroup().getSize(false));\r
-\r
-    if (size == 0 || size > 1)\r
-    {\r
-      JOptionPane.showInternalMessageDialog(\r
-          Desktop.desktop,\r
-          "Select a single sequence to specify a PDB id for first",\r
-          "Select Single Selected", JOptionPane.WARNING_MESSAGE);\r
-      return;\r
-    }\r
-\r
     String id = JOptionPane.showInternalInputDialog(Desktop.desktop,\r
         "Enter PDB Id", "Enter PDB Id", JOptionPane.QUESTION_MESSAGE);\r
 \r
@@ -1293,7 +1280,7 @@ public class PopupMenu extends JPopupMenu
     {\r
       PDBEntry entry = new PDBEntry();\r
       entry.setId(id);\r
-      ap.av.getSelectionGroup().getSequenceAt(0).getDatasetSequence()\r
+      sequence.getDatasetSequence()\r
           .addPDBId(entry);\r
     }\r
   }\r