/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * 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
*
* This file is part of Jalview.
*
*/
//private static final long serialVersionUID = -790155708306987257L;
- //private String DEFAULT_SEQUENCE = "CAGCACGACACUAGCAGUCAGUGUCAGACUGCAIACAGCACGACACUAGCAGUCAGUGUCAGACUGCAIACAGCACGACACUAGCAGUCAGUGUCAGACUGCAIA";
- //private String DEFAULT_STRUCTURE1 = "..(((((...(((((...(((((...(((((.....)))))...))))).....(((((...(((((.....)))))...))))).....)))))...)))))..";
- //private String DEFAULT_STRUCTURE2 = "..(((((...(((((...(((((........(((((...(((((.....)))))...)))))..................))))).....)))))...)))))..";
+ private String DEFAULT_SEQUENCE = "CAGCACGACACUAGCAGUCAGUGUCAGACUGCAIACAGCACGACACUAGCAGUCAGUGUCAGACUGCAIACAGCACGACACUAGCAGUCAGUGUCAGACUGCAIA";
+ private String DEFAULT_STRUCTURE1 = "..(((((...(((((...(((((...(((((.....)))))...))))).....(((((...(((((.....)))))...))))).....)))))...)))))..";
+ private String DEFAULT_STRUCTURE2 = "..(((((...(((((...(((((........(((((...(((((.....)))))...)))))..................))))).....)))))...)))))..";
public VARNAPanel vp;
- private JPanel _tools = new JPanel();
+ protected JPanel _tools = new JPanel();
private JPanel _input = new JPanel();
private JPanel _seqPanel = new JPanel();
private JLabel _strLabel = new JLabel(" Str:");
private JLabel _seqLabel = new JLabel(" Seq:");
private JButton _createButton = new JButton("Create");
+ private JButton _updateButton = new JButton("Update");
private JButton _deleteButton = new JButton("Delete");
private JButton _duplicateButton = new JButton("Snapshot");
- private JPanel _listPanel = new JPanel();
+ protected JPanel _listPanel = new JPanel();
private ReorderableJList _sideList = null;
initVarna(seq,struc);
}
- public AppVarnaBinding(ArrayList<RNA> rnalist){
+ public AppVarnaBinding(ArrayList<RNA> rnaList){
//super("VARNA in Jalview");
- initVarnaEdit(rnalist);
+ initVarnaEdit(rnaList);
}
FullBackup sel = (FullBackup) _sideList.getSelectedValue();
Mapping map = Mapping.DefaultOutermostMapping(vp.getRNA().getSize(), sel.rna.getSize());
vp.showRNAInterpolated(sel.rna,sel.config,map);
- _seq.setText(sel.rna.getSeq());
+ //_seq.setText(sel.rna.getSeq());
_str.setText(sel.rna.getStructDBN());
}
}
});
-
_rnaList = new BackupHolder(dlm,_sideList);
+
try {
vp = new VARNAPanel("0",".");
for(int i=0;i<rnaInList.size();i++){
}
vp.setPreferredSize(new Dimension(400, 400));
for(int i=0;i<rnaInList.size();i++){
- _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),generateDefaultName(),true);
+ if(i<rnaInList.size()-1){
+ _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),rnaInList.get(i).getName());
+ }else{
+ _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),rnaInList.get(i).getName(),true);
+ }
}
+
/*_rnaList.add(vp.getConfig().clone(),_RNA2,generateDefaultName());
_rnaList.add(vp.getConfig().clone(),_RNA1,generateDefaultName(),true);*/
JScrollPane listScroller = new JScrollPane(_sideList);
listScroller.setPreferredSize(new Dimension(150, 0));
- //TODO setBackground(_backgroundColor);
vp.setBackground(_backgroundColor);
-
-
+
+
Font textFieldsFont = Font.decode("MonoSpaced-PLAIN-12");
- _seqLabel.setHorizontalTextPosition(JLabel.LEFT);
- _seqLabel.setPreferredSize(new Dimension(marginTools, 15));
+ //_seqLabel.setHorizontalTextPosition(JLabel.LEFT);
+ //_seqLabel.setPreferredSize(new Dimension(marginTools, 15));
_seq.setFont(textFieldsFont);
_seq.setText(rnaInList.get(0).getSeq());
-
- _createButton.addActionListener(new ActionListener() {
+
+ _updateButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- try {
- RNA nRNA = new RNA(generateDefaultName());
- nRNA.setRNA(_seq.getText(), _str.getText());
- nRNA.drawRNARadiate(vp.getConfig());
- _rnaList.add(new VARNAConfig(),nRNA,true);
- } catch (ExceptionUnmatchedClosingParentheses e1) {
- JOptionPane.showMessageDialog(vp, e1.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);
- } catch (ExceptionFileFormatOrSyntax e1) {
- JOptionPane.showMessageDialog(vp, e1.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);
+ FullBackup sel = (FullBackup) _sideList.getSelectedValue();
+ sel.rna.setSequence("A");
}
- }
});
-
-
- _seqPanel.setLayout(new BorderLayout());
- _seqPanel.add(_seqLabel, BorderLayout.WEST);
- _seqPanel.add(_seq, BorderLayout.CENTER);
+
+ //_seqPanel.setLayout(new BorderLayout());
+ //_seqPanel.add(_seqLabel, BorderLayout.WEST);
+ //_seqPanel.add(_seq, BorderLayout.CENTER);
_strLabel.setPreferredSize(new Dimension(marginTools, 15));
_strLabel.setHorizontalTextPosition(JLabel.LEFT);
_strPanel.add(_strLabel, BorderLayout.WEST);
_strPanel.add(_str, BorderLayout.CENTER);
- _input.setLayout(new GridLayout(2, 0));
- _input.add(_seqPanel);
+ _input.setLayout(new GridLayout(1, 0));
+ //_input.add(_seqPanel);
_input.add(_strPanel);
JPanel goPanel = new JPanel();
_tools.setLayout(new BorderLayout());
_tools.add(_input, BorderLayout.CENTER);
- _tools.add(_info, BorderLayout.SOUTH);
+ //_tools.add(_info, BorderLayout.SOUTH);
_tools.add(goPanel, BorderLayout.EAST);
- _deleteButton.addActionListener(new ActionListener() {
+ /*_deleteButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
_rnaList.removeSelected();
}
public void actionPerformed(ActionEvent e) {
_rnaList.add((VARNAConfig)vp.getConfig().clone(),vp.getRNA().clone(),vp.getRNA().getName()+"-"+DateFormat.getTimeInstance(DateFormat.LONG).format(new Date()),true);
}});
+ */
+ goPanel.add(_updateButton, BorderLayout.CENTER);
+
JPanel ops = new JPanel();
ops.setLayout(new GridLayout(1,2));
ops.add(_deleteButton);
ops.add(_duplicateButton);
-
+
JLabel j = new JLabel("Structures Manager",JLabel.CENTER);
_listPanel.setLayout(new BorderLayout());
_listPanel.add(ops,BorderLayout.SOUTH);
_listPanel.add(j,BorderLayout.NORTH);
_listPanel.add(listScroller,BorderLayout.CENTER);
-
- goPanel.add(_createButton, BorderLayout.CENTER);
-
- JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,_listPanel,vp);
+
+
+
+ //JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,_listPanel,vp);
/**TODO
getContentPane().setLayout(new BorderLayout());
getContentPane().add(split, BorderLayout.CENTER);
vp.addVARNAListener(this);
}
+
+ public JPanel getTools(){
+ return _tools;
+ }
+
+ public JPanel getListPanel(){
+ return _listPanel;
+ }
+
+ /**
+ * TODO: Is it effective to transfer the whole RNA?
+ * @return Currently selected RNA
+ */
+ public RNA getSelectedRNA(){
+ return _rnaList.getElementAt(_sideList.getSelectedIndex()).rna;
+ }
+
+ /**
+ * Substitute currently selected RNA with the edited one
+ * @param rnaEdit
+ */
+ public void updateSelectedRNA(RNA rnaEdit){
+ vp.repaint();
+ vp.showRNA(rnaEdit);
+ }
-
- /*private void RNAPanelDemoInit()
+ /*
+ private void RNAPanelDemoInit()
{
DefaultListModel dlm = new DefaultListModel();
DropTarget dt = new DropTarget(vp, this);
vp.addVARNAListener(this);
- }*/
-
+ }
+ */
public static String generateDefaultName()
{
return "User file #"+_nextID++;
// TODO Auto-generated method stub
}
+
+ @Override
+ public void onStructureRedrawn()
+ {
+ // TODO Auto-generated method stub
+
+ }
}