X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fviews%2FVueBPList.java;fp=srcjar%2Ffr%2Forsay%2Flri%2Fvarna%2Fviews%2FVueBPList.java;h=0000000000000000000000000000000000000000;hb=4f77328104498504339216829abf5ea87e2791ec;hp=7c18d9ca07163aa03684814cf9c20750352b8eaa;hpb=2b8c0785318a3528e1876e8e2dd48b7d831eae69;p=jalview.git diff --git a/srcjar/fr/orsay/lri/varna/views/VueBPList.java b/srcjar/fr/orsay/lri/varna/views/VueBPList.java deleted file mode 100644 index 7c18d9c..0000000 --- a/srcjar/fr/orsay/lri/varna/views/VueBPList.java +++ /dev/null @@ -1,221 +0,0 @@ -package fr.orsay.lri.varna.views; - -import java.awt.Color; -import java.awt.Dimension; -import java.awt.GridLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyVetoException; -import java.beans.VetoableChangeListener; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Vector; - -import javax.swing.DefaultCellEditor; -import javax.swing.JButton; -import javax.swing.JComboBox; -import javax.swing.JOptionPane; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTable; -import javax.swing.event.TableModelEvent; -import javax.swing.event.TableModelListener; -import javax.swing.table.AbstractTableModel; - -import fr.orsay.lri.varna.VARNAPanel; -import fr.orsay.lri.varna.components.ActionEditor; -import fr.orsay.lri.varna.components.ActionRenderer; -import fr.orsay.lri.varna.components.ColorRenderer; -import fr.orsay.lri.varna.models.rna.ModeleBase; -import fr.orsay.lri.varna.models.rna.ModeleBaseNucleotide; -import fr.orsay.lri.varna.models.rna.ModeleColorMap; -import fr.orsay.lri.varna.models.rna.ModeleBP; -import fr.orsay.lri.varna.models.rna.RNA; - -public class VueBPList extends JPanel implements TableModelListener, ActionListener -{ - - private JTable table; - private BPTableModel _tm; - private VARNAPanel _vp; - private ArrayList data; - private ArrayList _backup; - private ArrayList columns; - - - public enum Actions{ - ACTION_DELETE, - ACTION_EDIT_STYLE; - - public String toString() - { - switch(this) - { - case ACTION_DELETE: - return "Delete"; - case ACTION_EDIT_STYLE: - return "Edit Style"; - } - return "N/A"; - } - }; - - public VueBPList(VARNAPanel vp) - { - super(new GridLayout(1, 0)); - _vp = vp; - init(); - } - - private void init() - { - Object[] col = {"Sec.Str.","5' partner","3' partner","5' edge","3' edge","Orientation","Remove"}; - columns = new ArrayList(); - for (int i = 0; i < col.length; i++) - { - columns.add(col[i]); - } - - _backup = new ArrayList(); - data = new ArrayList(); - for (ModeleBP ms: _vp.getRNA().getAllBPs()) - { - data.add(ms); - } - Collections.sort(data); - _tm = new BPTableModel(); - table = new JTable(_tm); - - table.setDefaultRenderer(Color.class, new ColorRenderer(true)); - table.setDefaultRenderer(Actions.class, new ActionRenderer()); - - table.setDefaultEditor(ModeleBP.Edge.class, new DefaultCellEditor(new JComboBox(ModeleBP.Edge.values()))); - table.setDefaultEditor(ModeleBP.Stericity.class, new DefaultCellEditor(new JComboBox(ModeleBP.Stericity.values()))); - table.setDefaultEditor(Actions.class, new ActionEditor(this)); - - table.setPreferredScrollableViewportSize(new Dimension(500, 500)); - table.getModel().addTableModelListener(this); - - table.setRowHeight(25); - - JScrollPane scrollPane = new JScrollPane(table); - add(scrollPane); - setOpaque(true); // content panes must be opaque - this.doLayout(); - - JOptionPane.showMessageDialog(_vp, this, "Base pairs Edition", JOptionPane.PLAIN_MESSAGE); - - } - - public void cancelChanges() - { - for (int i = 0; i < _vp.getRNA().get_listeBases().size(); i++) - { - ModeleBase mb = _vp.getRNA().get_listeBases().get(i); - mb.setValue(_backup.get(i)); - } - _vp.getRNA().rescaleColorMap(_vp.getColorMap()); - } - - private class BPTableModel extends AbstractTableModel { - /** - * - */ - private static final long serialVersionUID = 1L; - public String getColumnName(int col) { - return columns.get(col).toString(); - } - public int getRowCount() { return data.size(); } - public int getColumnCount() { return columns.size(); } - public Object getValueAt(int row, int col) { - ModeleBP mb = data.get(row); - if (col==0) - { - return new Boolean(mb.getPartner3().getElementStructure()==mb.getPartner5().getIndex()); - } - else if (col==1) - { - return new String(""+mb.getPartner5().getBaseNumber()+"-"+mb.getPartner5().getContent()); - } - else if (col==2) - { - return new String(""+mb.getPartner3().getBaseNumber()+"-"+mb.getPartner3().getContent()); - } - else if (col==3) - { - return mb.getEdgePartner5(); - } - else if (col==4) - { - return mb.getEdgePartner3(); - } - else if (col==5) - { - return mb.getStericity(); - } - else if (col==6) - { - return Actions.ACTION_DELETE; - } - return "N/A"; - } - public boolean isCellEditable(int row, int col) - { - if ( col == 3 || col ==4 || col ==5 || col ==6) - return true; - return false; - } - public void setValueAt(Object value, int row, int col) { - if ( col == 3 || col ==4 || col ==5) - { - ModeleBP mb = data.get(row); - if ( col == 3) - { - mb.setEdge5((ModeleBP.Edge)value); - } - else if ( col == 4) - { - mb.setEdge3((ModeleBP.Edge)value); - } - else if ( col == 5) - { - mb.setStericity((ModeleBP.Stericity)value); - } - fireTableCellUpdated(row, col); - _vp.repaint(); - - } - } - - public Class getColumnClass(int c) { - return getValueAt(0, c).getClass(); - } - } - - public void tableChanged(TableModelEvent e) { - if (e.getType() == TableModelEvent.UPDATE) - { - table.repaint(); - } - - } - - public void actionPerformed(ActionEvent arg0) { - //System.out.println(""+arg0.toString()); - String[] data2 = arg0.getActionCommand().split("-"); - int row = Integer.parseInt(data2[data2.length-1]); - if (data2[0].equals("Delete")) - { - ModeleBP ms = data.get(row); - _vp.getVARNAUI().UIRemoveBP(ms); - - - data.remove(row); - - _tm.fireTableRowsDeleted(row, row); - } - } - -}