X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FAppVarnaBinding.java;h=38385f0f8b58a97ba1285bbd72c6812e11718910;hb=70f9c4700f20a8fa57ed7eb974277d8bad0723c2;hp=0bc84cec72da137deb817f3fd1068d78b9920678;hpb=d7c00f48b00e3ede57c46ae4daf6a9203b9b6059;p=jalview.git diff --git a/src/jalview/gui/AppVarnaBinding.java b/src/jalview/gui/AppVarnaBinding.java index 0bc84ce..38385f0 100644 --- a/src/jalview/gui/AppVarnaBinding.java +++ b/src/jalview/gui/AppVarnaBinding.java @@ -1,19 +1,22 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.7) - * Copyright (C) 2011 J Procter, AM Waterhouse, J Engelhardt, LM Lui, G Barton, M Clamp, S Searle + * 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 . + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.gui; @@ -37,28 +40,20 @@ import java.awt.event.ComponentEvent; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.io.File; -import java.text.DateFormat; import java.util.ArrayList; import java.util.Collection; -import java.util.Date; 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; @@ -74,6 +69,10 @@ import fr.orsay.lri.varna.models.VARNAConfig; import fr.orsay.lri.varna.models.rna.Mapping; import fr.orsay.lri.varna.models.rna.RNA; +import jalview.datamodel.SequenceI; +import jalview.structure.AtomSpec; +import jalview.util.MessageManager; + public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding implements DropTargetListener, InterfaceVARNAListener, MouseListener @@ -106,17 +105,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(); @@ -148,7 +153,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding { // super("VARNA in Jalview"); initVarna(seq, struc); - + } public AppVarnaBinding(ArrayList rnaList) @@ -160,7 +165,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding private void initVarna(String seq, String str) { - + DefaultListModel dlm = new DefaultListModel(); DefaultListSelectionModel m = new DefaultListSelectionModel(); @@ -193,7 +198,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding try { - + vp = new VARNAPanel("0", "."); _RNA1.setRNA(seq, str); _RNA1.drawRNARadiate(vp.getConfig()); @@ -222,7 +227,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding private void initVarnaEdit(ArrayList rnaInList) { - + DefaultListModel dlm = new DefaultListModel(); int marginTools = 40; @@ -246,7 +251,7 @@ 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()); @@ -257,12 +262,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) { @@ -349,10 +354,12 @@ 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); + // _listPanel.add(ops, BorderLayout.SOUTH); _listPanel.add(j, BorderLayout.NORTH); _listPanel.add(listScroller, BorderLayout.CENTER); @@ -653,22 +660,23 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding _rnaList.add(bck.config, bck.rna, bck.name, true); } catch (ExceptionLoadingFailed e3) { - int mn=1; - Collection mdls=fr.orsay.lri.varna.factories.RNAFactory.loadSecStr(path); - for (RNA r:mdls) - { - r.drawRNA(vp.getConfig()); - String name = r.getName(); - if (name.equals("")) + int mn = 1; + Collection mdls = fr.orsay.lri.varna.factories.RNAFactory + .loadSecStr(path); + for (RNA r : mdls) { - name = path.substring(path - .lastIndexOf(File.separatorChar) + 1); - } - if (mdls.size()>1) - { - name += " (Model "+mn+++")"; - } - _rnaList.add(vp.getConfig().clone(), r, name, true); + r.drawRNA(vp.getConfig()); + String name = r.getName(); + if (name.equals("")) + { + name = path.substring(path + .lastIndexOf(File.separatorChar) + 1); + } + if (mdls.size() > 1) + { + name += " (Model " + mn++ + ")"; + } + _rnaList.add(vp.getConfig().clone(), r, name, true); } } } @@ -810,13 +818,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) @@ -840,113 +852,79 @@ 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 atoms) { - // TODO Auto-generated method stub + } + @Override + public boolean isListeningFor(SequenceI seq) + { + return true; } } - -/* - * 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); } } - */ \ No newline at end of file