Reorganize the class structure, unfortunately breaks the VARNA-Frame
[jalview.git] / src / jalview / gui / PopupMenu.java
index a2b4ee3..948f684 100644 (file)
@@ -161,8 +161,8 @@ public class PopupMenu extends JPopupMenu
    * @param links
    * @param groupLinks
    */
-  public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links,
-          Vector groupLinks)
+  public PopupMenu(final AlignmentPanel ap, final Sequence seq, final Vector links,
+          final Vector groupLinks)
   {
     // /////////////////////////////////////////////////////////
     // If this is activated from the sequence panel, the user may want to
@@ -253,25 +253,37 @@ public class PopupMenu extends JPopupMenu
         }
       }
       else
-      {
-         //TODO: Something to check if it's an RNA
-         //like: if(seq.getAnnotation()[0].annotations[0].secondaryStructure == 'S')
-         menuItem = new JMenuItem();
-         menuItem.setText("RNA structure");
-          menuItem.addActionListener(new java.awt.event.ActionListener()
-          {
-            public void actionPerformed(ActionEvent e)
-            {
-               System.out.println("Call Varna");
-               new AppVarna();
-               
-            }
-          });
-          viewStructureMenu.add(menuItem);
-         
-        //JAN structureMenu.remove(viewStructureMenu);
+      {        
+         if(ap.av.alignment.isNucleotide()==false){
+                 structureMenu.remove(viewStructureMenu);
+         }
         // structureMenu.remove(colStructureMenu);
       }
+      
+      if(ap.av.alignment.isNucleotide()==true){
+         AlignmentAnnotation[] aa = ap.av.alignment.getAlignmentAnnotation();
+         String rnastruc=new String();
+         for(int i=0; i<aa.length;i++){
+                 if(aa[i]._rnasecstr != null){
+                         rnastruc=aa[i].getRNAStruc();
+                         break;
+                 }
+         }
+         //TODO: make rnastrucF a bit more nice
+         final String rnastrucF=rnastruc;
+         menuItem = new JMenuItem();
+         menuItem.setText("RNA structure");
+         menuItem.addActionListener(new java.awt.event.ActionListener()
+         {
+                 public void actionPerformed(ActionEvent e)
+                 {
+                         System.out.println("Call Varna "+seq.getSequenceAsString()+" "+seq.getName());
+                         //TODO: VARNA does'nt print gaps in the sequence
+                         new AppVarna(seq.getSequenceAsString(),rnastrucF,seq.getName());
+                 }
+                       });       
+                       viewStructureMenu.add(menuItem);
+       }
 
       menuItem = new JMenuItem("Hide Sequences");
       menuItem.addActionListener(new java.awt.event.ActionListener()