Including of VARNAv-3.9;
[jalview.git] / src / jalview / gui / AppVarnaBinding.java
index 092e850..88cc288 100644 (file)
@@ -96,6 +96,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
        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");
        
@@ -195,7 +196,7 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
            DefaultListModel dlm = new DefaultListModel(); 
            
 
-               //int marginTools = 40;
+               int marginTools = 40;
 
            DefaultListSelectionModel m = new DefaultListSelectionModel();
            m.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
@@ -216,11 +217,10 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
                                        Mapping map = Mapping.DefaultOutermostMapping(vp.getRNA().getSize(), sel.rna.getSize());
                                        vp.showRNAInterpolated(sel.rna,sel.config,map);
                                        //_seq.setText(sel.rna.getSeq());
-                                       //_str.setText(sel.rna.getStructDBN());
+                                       _str.setText(sel.rna.getStructDBN());
                                }
                        }
            });
-           
            _rnaList = new BackupHolder(dlm,_sideList);
                        
                try {
@@ -234,9 +234,9 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
                vp.setPreferredSize(new Dimension(400, 400));
                for(int i=0;i<rnaInList.size();i++){
                        if(i<rnaInList.size()-1){
-                               _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),generateDefaultName());
+                               _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),rnaInList.get(i).getName());
                        }else{
-                               _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),generateDefaultName(),true);
+                               _rnaList.add(vp.getConfig().clone(),rnaInList.get(i),rnaInList.get(i).getName(),true);
                        }
                }
 
@@ -248,32 +248,24 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
 
                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);
@@ -282,8 +274,8 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
                _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();
@@ -291,10 +283,10 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
 
                _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();
                        }
@@ -303,20 +295,22 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
                        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(_createButton, BorderLayout.CENTER);
                */
+               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);
-
+               
                
                
                //JSplitPane split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,_listPanel,vp);
@@ -339,6 +333,23 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
        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() 
@@ -850,6 +861,13 @@ public class AppVarnaBinding extends jalview.ext.varna.JalviewVarnaBinding imple
                // TODO Auto-generated method stub
                
        }
+
+  @Override
+  public void onStructureRedrawn()
+  {
+    // TODO Auto-generated method stub
+    
+  }
 }