Merge develop to Release_2_8_3_Branch
[jalview.git] / src / jalview / gui / AppVarnaBinding.java
index 8164691..7894ee2 100644 (file)
@@ -1,23 +1,28 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
  *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
- * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
  * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.gui;
 
+import jalview.structure.AtomSpec;
+import jalview.util.MessageManager;
+
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
@@ -44,20 +49,14 @@ import java.util.List;
 
 import javax.swing.DefaultListModel;
 import javax.swing.DefaultListSelectionModel;
-import javax.swing.Icon;
 import javax.swing.JButton;
-import javax.swing.JFrame;
 import javax.swing.JLabel;
 import javax.swing.JList;
-import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JScrollPane;
-import javax.swing.JSplitPane;
 import javax.swing.JTextField;
 import javax.swing.ListModel;
 import javax.swing.ListSelectionModel;
-import javax.swing.UIManager;
-import javax.swing.UnsupportedLookAndFeelException;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
 
@@ -105,17 +104,23 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
 
   private JTextField _seq = new JTextField();
 
-  private JLabel _strLabel = new JLabel(" Str:");
+  private JLabel _strLabel = new JLabel(
+          MessageManager.getString("label.str"));
 
-  private JLabel _seqLabel = new JLabel(" Seq:");
+  private JLabel _seqLabel = new JLabel(
+          MessageManager.getString("label.seq"));
 
-  private JButton _createButton = new JButton("Create");
+  private JButton _createButton = new JButton(
+          MessageManager.getString("action.create"));
 
-  private JButton _updateButton = new JButton("Update");
+  private JButton _updateButton = new JButton(
+          MessageManager.getString("action.update"));
 
-  private JButton _deleteButton = new JButton("Delete");
+  private JButton _deleteButton = new JButton(
+          MessageManager.getString("action.delete"));
 
-  private JButton _duplicateButton = new JButton("Snapshot");
+  private JButton _duplicateButton = new JButton(
+          MessageManager.getString("action.snapshot"));
 
   protected JPanel _listPanel = new JPanel();
 
@@ -147,16 +152,19 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
   {
     // super("VARNA in Jalview");
     initVarna(seq, struc);
+
   }
 
   public AppVarnaBinding(ArrayList<RNA> rnaList)
   {
+
     // super("VARNA in Jalview");
     initVarnaEdit(rnaList);
   }
 
   private void initVarna(String seq, String str)
   {
+
     DefaultListModel dlm = new DefaultListModel();
 
     DefaultListSelectionModel m = new DefaultListSelectionModel();
@@ -189,6 +197,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
 
     try
     {
+
       vp = new VARNAPanel("0", ".");
       _RNA1.setRNA(seq, str);
       _RNA1.drawRNARadiate(vp.getConfig());
@@ -217,6 +226,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
 
   private void initVarnaEdit(ArrayList<RNA> rnaInList)
   {
+
     DefaultListModel dlm = new DefaultListModel();
 
     int marginTools = 40;
@@ -240,7 +250,8 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
           FullBackup sel = (FullBackup) _sideList.getSelectedValue();
           Mapping map = Mapping.DefaultOutermostMapping(vp.getRNA()
                   .getSize(), sel.rna.getSize());
-          vp.showRNAInterpolated(sel.rna, sel.config, map);
+          // vp.showRNAInterpolated(sel.rna, sel.config, map);
+          vp.showRNA(sel.rna, sel.config);
           // _seq.setText(sel.rna.getSeq());
           _str.setText(sel.rna.getStructDBN());
         }
@@ -250,10 +261,12 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
 
     try
     {
+
       vp = new VARNAPanel("0", ".");
       for (int i = 0; i < rnaInList.size(); i++)
       {
         rnaInList.get(i).drawRNARadiate(vp.getConfig());
+
       }
     } catch (ExceptionNonEqualLength e)
     {
@@ -340,7 +353,9 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
     ops.add(_deleteButton);
     ops.add(_duplicateButton);
 
-    JLabel j = new JLabel("Structures Manager", JLabel.CENTER);
+    JLabel j = new JLabel(
+            MessageManager.getString("label.structures_manager"),
+            JLabel.CENTER);
     _listPanel.setLayout(new BorderLayout());
 
     // _listPanel.add(ops, BorderLayout.SOUTH);
@@ -802,13 +817,17 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
 
   public void onUINewStructure(VARNAConfig v, RNA r)
   {
-    _rnaList.add(v, r, "", true);
+    // patch to fix infinite loop
+    // The problem is that onUINewStructure is called when user clicks
+    // check with Yann about whether Jalview should do anything with this event.
+    // e.g. if user has used VARNA's menu to import a structure .. Jalview may
+    // need to be told which structure is displayed.
+
+    // _rnaList.add(v, r, "", true);
   }
 
   public void onWarningEmitted(String s)
   {
-    // TODO Auto-generated method stub
-
   }
 
   public void mouseClicked(MouseEvent e)
@@ -832,113 +851,73 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding
 
   public void mouseEntered(MouseEvent arg0)
   {
-    // TODO Auto-generated method stub
-
   }
 
   public void mouseExited(MouseEvent arg0)
   {
-    // TODO Auto-generated method stub
-
   }
 
   public void mousePressed(MouseEvent arg0)
   {
-    // TODO Auto-generated method stub
-
   }
 
   public void mouseReleased(MouseEvent arg0)
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public Color getColour(int atomIndex, int pdbResNum, String chain,
-          String pdbId)
+  public String[] getPdbFile()
   {
-    // TODO Auto-generated method stub
     return null;
   }
 
   @Override
-  public String[] getPdbFile()
+  public void releaseReferences(Object svl)
   {
-    // TODO Auto-generated method stub
-    return null;
   }
 
   @Override
-  public void highlightAtom(int atomIndex, int pdbResNum, String chain,
-          String pdbId)
+  public void updateColours(Object source)
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void mouseOverStructure(int atomIndex, String strInfo)
+  public void componentHidden(ComponentEvent e)
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void releaseReferences(Object svl)
+  public void componentMoved(ComponentEvent e)
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void updateColours(Object source)
+  public void componentResized(ComponentEvent e)
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void componentHidden(ComponentEvent e)
+  public void componentShown(ComponentEvent e)
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void componentMoved(ComponentEvent e)
+  public void onStructureRedrawn()
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void componentResized(ComponentEvent e)
+  public void onZoomLevelChanged()
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void componentShown(ComponentEvent e)
+  public void onTranslationChanged()
   {
-    // TODO Auto-generated method stub
-
   }
 
   @Override
-  public void onStructureRedrawn()
+  public void highlightAtoms(List<AtomSpec> atoms)
   {
-    // TODO Auto-generated method stub
-
   }
 }
-
-/*
- * public static void main(String[] args) { JTextField str = new
- * JTextField("ATGC");
- * 
- * AppVarnaBinding vab = new AppVarnaBinding(); vab.varnagui.set_seq(str);
- * vab.varnagui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- * vab.varnagui.pack(); vab.varnagui.setVisible(true); } }
- */