X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fviews%2FVueListeAnnotations.java;fp=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fviews%2FVueListeAnnotations.java;h=0000000000000000000000000000000000000000;hb=4f77328104498504339216829abf5ea87e2791ec;hp=6fecd1df5ae28debf8a214ccdc73c65acbb17337;hpb=2b8c0785318a3528e1876e8e2dd48b7d831eae69;p=jalview.git diff --git a/srcjar/fr/orsay/lri/varna/views/VueListeAnnotations.java b/srcjar/fr/orsay/lri/varna/views/VueListeAnnotations.java deleted file mode 100644 index 6fecd1d..0000000 --- a/srcjar/fr/orsay/lri/varna/views/VueListeAnnotations.java +++ /dev/null @@ -1,249 +0,0 @@ -/* - * VARNA is a tool for the automated drawing, visualization and annotation - * of the secondary structure of RNA, designed as a companion software for - * web servers and databases. Copyright (C) 2008 Kevin Darty, Alain Denise - * and Yann Ponty. electronic mail : Yann.Ponty@lri.fr paper mail : LRI, bat - * 490 Université Paris-Sud 91405 Orsay Cedex France - * - * This file is part of VARNA version 3.1. VARNA version 3.1 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. - * - * VARNA version 3.1 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 VARNA version 3.1. If not, see http://www.gnu.org/licenses. - */ -package fr.orsay.lri.varna.views; - -import java.awt.BorderLayout; -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.BufferedInputStream; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileReader; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.ArrayList; - -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JComponent; -import javax.swing.JFileChooser; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.filechooser.FileFilter; - -import fr.orsay.lri.varna.VARNAPanel; -import fr.orsay.lri.varna.components.AnnotationTableModel; -import fr.orsay.lri.varna.controlers.ControleurTableAnnotations; -import fr.orsay.lri.varna.models.annotations.TextAnnotation; -import fr.orsay.lri.varna.models.rna.ModeleColorMap; - -/** - * a view for all annoted texts on the VARNAPanel - * - * @author Darty@lri.fr - * - */ -public class VueListeAnnotations extends JPanel { - /** - * - */ - private static final long serialVersionUID = 1L; - - /** - * if this view is for removing annoted texts - */ - public static final int REMOVE = 0; - /** - * if this view is for editing annoted texts - */ - public static final int EDIT = 1; - - private VARNAPanel _vp; - private ArrayList data; - private JTable table; - private int type; - private AnnotationTableModel specialTableModel; - // BH SwingJS - this is never used in JavaScript - private static JFileChooser fc = new JFileChooser(){ - public void approveSelection(){ - File f = getSelectedFile(); - if(f.exists() && getDialogType() == SAVE_DIALOG){ - int result = JOptionPane.showConfirmDialog(this,"The file exists, overwrite?","Existing file",JOptionPane.YES_NO_OPTION); - switch(result){ - case JOptionPane.YES_OPTION: - super.approveSelection(); - return; - case JOptionPane.NO_OPTION: - return; - case JOptionPane.CLOSED_OPTION: - return; - case JOptionPane.CANCEL_OPTION: - cancelSelection(); - return; - } - } - super.approveSelection(); - } - }; - - - /** - * creates the view - * - * @param vp - * @param type - * (REMOVE or EDIT) - */ - public VueListeAnnotations(VARNAPanel vp, int type) { - super(new BorderLayout()); - this.type = type; - _vp = vp; - data = new ArrayList(); - data.addAll(_vp.getListeAnnotations()); - data.addAll(_vp.getRNA().getHighlightRegion()); - data.addAll(_vp.getRNA().getChemProbAnnotations()); - createView(); - } - - private void createView() { - specialTableModel = new AnnotationTableModel(data); - table = new JTable(specialTableModel); - ControleurTableAnnotations ctrl = new ControleurTableAnnotations(table, - _vp, type); - table.addMouseListener(ctrl); - table.addMouseMotionListener(ctrl); - // table.setPreferredScrollableViewportSize(new Dimension(500, 100)); - // TODO: Find equivalent in JRE 1.5 - // table.setFillsViewportHeight(true); - // Create the scroll pane and add the table to it. - JScrollPane scrollPane = new JScrollPane(table); - - add(scrollPane, BorderLayout.CENTER); - - FileFilter CPAFiles = new FileFilter(){ - public boolean accept(File f) { - return f.getName().toLowerCase().endsWith(".cpa") || f.isDirectory(); - } - - public String getDescription() { - return "Chemical Probing Annotations (*.cpa) Files"; - } - - }; - fc.addChoosableFileFilter(CPAFiles); - fc.setFileFilter(CPAFiles); - - - JButton loadStyleButton = new JButton("Load"); - loadStyleButton.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e) { - if (fc.showOpenDialog(VueListeAnnotations.this)==JFileChooser.APPROVE_OPTION) - { - File file = fc.getSelectedFile(); - try { - BufferedReader br = new BufferedReader(new FileReader(file)); - String s = br.readLine(); - while(s != null) - { - if (s.startsWith(TextAnnotation.HEADER_TEXT)) - s = br.readLine(); - } - // TODO - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - } - - }); - JButton saveStyleButton = new JButton("Save"); - saveStyleButton.addActionListener(new ActionListener(){ - public void actionPerformed(ActionEvent e) { - if (fc.showSaveDialog(VueListeAnnotations.this)==JFileChooser.APPROVE_OPTION) - { - try { - PrintWriter out = new PrintWriter(fc.getSelectedFile()); - // TODO out.println(_gp.getColorMap().getParamEncoding()); - out.close(); - } catch (FileNotFoundException e1) { - e1.printStackTrace(); - } catch (IOException e1) { - e1.printStackTrace(); - } - } - } - - }); - saveStyleButton.setAlignmentX(CENTER_ALIGNMENT); - loadStyleButton.setAlignmentX(CENTER_ALIGNMENT); - - JPanel jp2 = new JPanel(); - BoxLayout bl = new BoxLayout(jp2, BoxLayout.X_AXIS); - jp2.setLayout(bl); - jp2.setAlignmentX(CENTER_ALIGNMENT); - jp2.add(loadStyleButton); - jp2.add(Box.createRigidArea(new Dimension(5,0))); - jp2.add(saveStyleButton); - this.add(jp2,BorderLayout.SOUTH); - - - - UIvueListeAnnotations(); - } - - /** - * Create the GUI and show it. For thread safety, this method should be - * invoked from the event-dispatching thread. - */ - public void UIvueListeAnnotations() { - JComponent newContentPane = this; - newContentPane.setOpaque(true); - JOptionPane.showMessageDialog(_vp, newContentPane, - "Annotation edition", JOptionPane.PLAIN_MESSAGE); - } - - public ArrayList getData() { - return data; - } - - public void setData(ArrayList data) { - this.data = data; - } - - public VARNAPanel get_vp() { - return _vp; - } - - public JTable getTable() { - return table; - } - - public void setTable(JTable table) { - this.table = table; - } - - public AnnotationTableModel getSpecialTableModel() { - return specialTableModel; - } - - public void setSpecialTableModel(AnnotationTableModel specialTableModel) { - this.specialTableModel = specialTableModel; - } -}