Reorganize the class structure, unfortunately breaks the VARNA-Frame
[jalview.git] / src / jalview / gui / AppVarna.java
index d1772c7..524ac82 100644 (file)
@@ -32,13 +32,21 @@ import jalview.gui.ViewSelectionMenu.ViewSetProvider;
 import jalview.structure.*;
 import jalview.io.*;
 import jalview.schemes.*;
+import fr.orsay.lri.varna.VARNAPanel;
+import fr.orsay.lri.varna.exceptions.ExceptionFileFormatOrSyntax;
+import fr.orsay.lri.varna.exceptions.ExceptionNonEqualLength;
+import fr.orsay.lri.varna.exceptions.ExceptionUnmatchedClosingParentheses;
+import fr.orsay.lri.varna.interfaces.InterfaceVARNAListener;
+import fr.orsay.lri.varna.models.VARNAConfig;
+import fr.orsay.lri.varna.models.rna.RNA;
 
-public class AppVarna extends JInternalFrame // implements Runnable,SequenceStructureBinding, ViewSetProvider
+
+public class AppVarna extends JInternalFrame implements InterfaceVARNAListener// implements Runnable,SequenceStructureBinding, ViewSetProvider
 
 {
   AppVarnaBinding vab;
 
-  JPanel varnaPanel;
+  VARNAPanel varnaPanel;
   
   String name;
 
@@ -50,12 +58,24 @@ public class AppVarna extends JInternalFrame // implements Runnable,SequenceStru
 
   //Vector atomsPicked = new Vector();
   
-  public AppVarna(){
+  /*public AppVarna(){
          vab = new AppVarnaBinding(); 
          initVarna();
-  }
+  }*/
   
   public AppVarna(String seq,String struc,String name){
+         ArrayList<RNA> rnaList = new ArrayList<RNA>();
+         RNA rna1 = new RNA(name);
+         try {
+                 rna1.setRNA(seq,struc);
+        } catch (ExceptionUnmatchedClosingParentheses e2) {
+               e2.printStackTrace();
+         } catch (ExceptionFileFormatOrSyntax e3) {
+               e3.printStackTrace();
+         }
+         rnaList.add(rna1);
+         
+         //vab = new AppVarnaBinding(rnaList);
          vab = new AppVarnaBinding(seq,struc);
          name=this.name;
          initVarna();    
@@ -65,20 +85,23 @@ public class AppVarna extends JInternalFrame // implements Runnable,SequenceStru
          //TODO: Why is it not possible to include varnaPanel in the AppVarna-Jframe?
          //vab.setFinishedInit(false);
          varnaPanel=vab.get_varnaPanel();
+         setBackground(Color.white);
+         System.out.println("vp: "+vab.get_varnaPanel().getName());
          //varnaPanel.setVisible(true);
-         //getContentPane().setLayout(new BorderLayout());
-         //getContentPane().add(varnaPanel, BorderLayout.CENTER);
-         //setVisible(true);
-         //jalview.gui.Desktop.addInternalFrame(this,name,getBounds().width, getBounds().height);  
-         showPanel(true);
+         getContentPane().setLayout(new BorderLayout());
+         getContentPane().add(varnaPanel, BorderLayout.CENTER);
+         setVisible(true);
+         varnaPanel.addVARNAListener(this);
+         jalview.gui.Desktop.addInternalFrame(this,name,getBounds().width, getBounds().height);  
+         //showPanel(true);
   }
   
   public void showPanel(boolean show){
-         vab.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-         vab.pack();
-         vab.setVisible(show);
+         //vab.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+         //vab.pack();
+         //vab.setVisible(show);
            
-         //varnaPanel.setVisible(show);
+         varnaPanel.setVisible(show);
   }
   
   private boolean _started = false;
@@ -97,6 +120,25 @@ public class AppVarna extends JInternalFrame // implements Runnable,SequenceStru
         Cache.log.error("Couldn't open Varna viewer!", ex);
       }
   }
+
+@Override
+public void onLayoutChanged() {
+       // TODO Auto-generated method stub
+       
+}
+
+@Override
+public void onUINewStructure(VARNAConfig v, RNA r) {
+       //TODO _rnaList.add(v, r,"",true);
+       // TODO Auto-generated method stub
+       
+}
+
+@Override
+public void onWarningEmitted(String s) {
+       // TODO Auto-generated method stub
+       
+}
   
 
 }