X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=037f0070997b302d4913198437b53744c3d9a477;hb=f3df97a8d39f8124610d661f8c141677f73d86b0;hp=282378d83aea89e176f6939818265b360fbb926f;hpb=b57a02c25e335d033c97f8a6bacd6b54f62bd2b6;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index 282378d..037f007 100644 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -1,13 +1,13 @@ /* - * 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 2.8) + * Copyright (C) 2012 J Procter, AM Waterhouse, LM Lui, J Engelhardt, G Barton, M Clamp, S Searle * * 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. - * + * * 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 @@ -24,7 +24,6 @@ import java.awt.event.*; import javax.swing.*; -import MCview.*; import jalview.analysis.*; import jalview.commands.*; import jalview.datamodel.*; @@ -71,6 +70,7 @@ public class PopupMenu extends JPopupMenu protected JRadioButtonMenuItem BLOSUM62Colour = new JRadioButtonMenuItem(); protected JRadioButtonMenuItem purinePyrimidineColour = new JRadioButtonMenuItem(); + protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem(); // protected JRadioButtonMenuItem covariationColour = new // JRadioButtonMenuItem(); @@ -90,7 +90,7 @@ public class PopupMenu extends JPopupMenu JMenuItem sequenceSelDetails = new JMenuItem(); SequenceI sequence; - + JMenuItem createGroupMenuItem = new JMenuItem(); JMenuItem unGroupMenuItem = new JMenuItem(); JMenuItem outline = new JMenuItem(); @@ -122,7 +122,11 @@ public class PopupMenu extends JPopupMenu JMenu pdbMenu = new JMenu(); JMenuItem pdbFromFile = new JMenuItem(); - + // JBPNote: Commented these out - Should add these services via the web services menu system. + // JMenuItem ContraFold = new JMenuItem(); + + // JMenuItem RNAFold = new JMenuItem(); + JMenuItem enterPDB = new JMenuItem(); JMenuItem discoverPDB = new JMenuItem(); @@ -193,6 +197,7 @@ public class PopupMenu extends JPopupMenu colours.add(PIDColour); colours.add(BLOSUM62Colour); colours.add(purinePyrimidineColour); + colours.add(RNAInteractionColour); // colours.add(covariationColour); for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++) @@ -281,11 +286,23 @@ public class PopupMenu extends JPopupMenu menuItem = new JMenuItem(); menuItem.setText("2D RNA " + structureLine); menuItem.addActionListener(new java.awt.event.ActionListener() + { public void actionPerformed(ActionEvent e) { - new AppVarna(structureLine, seq, seq.getSequenceAsString(), - rnastruc, seq.getName(), ap); + //System.out.println("1:"+structureLine); + System.out.println("1:sname"+seq.getName()); + System.out.println("2:seq"+seq); + + //System.out.println("3:"+seq.getSequenceAsString()); + System.out.println("3:strucseq"+rnastruc); + //System.out.println("4:struc"+seq.getRNA()); + System.out.println("5:name"+seq.getName()); + System.out.println("6:ap"+ap); + new AppVarna(structureLine, seq, seq.getSequenceAsString(), rnastruc, seq + .getName(), ap); + //new AppVarna(seq.getName(),seq,rnastruc,seq.getRNA(), seq.getName(), ap); + System.out.println("end"); } }); viewStructureMenu.add(menuItem); @@ -311,6 +328,7 @@ public class PopupMenu extends JPopupMenu public void actionPerformed(ActionEvent e) { // TODO: VARNA does'nt print gaps in the sequence + new AppVarna(seq.getName() + " structure", seq, seq .getSequenceAsString(), rnastruc, seq.getName(), ap); @@ -393,9 +411,10 @@ public class PopupMenu extends JPopupMenu } SequenceGroup sg = ap.av.getSelectionGroup(); + boolean isDefinedGroup = (sg!=null) ? ap.av.getAlignment().getGroups().contains(sg) : false; if (sg != null && sg.getSize() > 0) - { + { groupName.setText("Name: " + sg.getName()); groupName.setText("Edit name and description of current group."); @@ -447,6 +466,8 @@ public class PopupMenu extends JPopupMenu { purinePyrimidineColour.setSelected(true); } + + /* * else if (sg.cs instanceof CovariationColourScheme) { * covariationColour.setSelected(true); } @@ -521,9 +542,15 @@ public class PopupMenu extends JPopupMenu editMenu.setVisible(false); } - if (!ap.av.getAlignment().getGroups().contains(sg)) + if (!isDefinedGroup) { + createGroupMenuItem.setVisible(true); unGroupMenuItem.setVisible(false); + jMenu1.setText("Edit New Group"); + } else { + createGroupMenuItem.setVisible(false); + unGroupMenuItem.setVisible(true); + jMenu1.setText("Edit Group"); } if (seq == null) @@ -936,6 +963,14 @@ public class PopupMenu extends JPopupMenu unGroupMenuItem_actionPerformed(); } }); + createGroupMenuItem.setText("Create Group"); + createGroupMenuItem.addActionListener(new java.awt.event.ActionListener() + { + public void actionPerformed(ActionEvent e) + { + createGroupMenuItem_actionPerformed(); + } + }); outline.setText("Border colour"); outline.addActionListener(new java.awt.event.ActionListener() @@ -1039,6 +1074,32 @@ public class PopupMenu extends JPopupMenu pdbFromFile_actionPerformed(); } }); +// RNAFold.setText("From RNA Fold with predict2D"); +// RNAFold.addActionListener(new ActionListener() +// { +// public void actionPerformed(ActionEvent e) +// { +// try { +// RNAFold_actionPerformed(); +// } catch (Exception e1) { +// // TODO Auto-generated catch block +// e1.printStackTrace(); +// } +// } +// }); +// ContraFold.setText("From Contra Fold with predict2D"); +// ContraFold.addActionListener(new ActionListener() +// { +// public void actionPerformed(ActionEvent e) +// { +// try { +// ContraFold_actionPerformed(); +// } catch (Exception e1) { +// // TODO Auto-generated catch block +// e1.printStackTrace(); +// } +// } +// }); enterPDB.setText("Enter PDB Id"); enterPDB.addActionListener(new ActionListener() { @@ -1098,6 +1159,8 @@ public class PopupMenu extends JPopupMenu groupMenu.add(editMenu); groupMenu.add(outputMenu); groupMenu.add(sequenceFeature); + groupMenu.add(createGroupMenuItem); + groupMenu.add(unGroupMenuItem); groupMenu.add(jMenu1); sequenceMenu.add(sequenceName); sequenceMenu.add(sequenceDetails); @@ -1114,9 +1177,10 @@ public class PopupMenu extends JPopupMenu colourMenu.add(turnColour); colourMenu.add(buriedColour); colourMenu.add(nucleotideMenuItem); - if (ap.getAlignment().isNucleotide()) - { - colourMenu.add(purinePyrimidineColour); + if (ap.getAlignment().isNucleotide()) { + // JBPNote - commented since the colourscheme isn't functional + // colourMenu.add(RNAInteractionColour); + colourMenu.add(purinePyrimidineColour); } // colourMenu.add(covariationColour); colourMenu.add(userDefinedColour); @@ -1151,10 +1215,12 @@ public class PopupMenu extends JPopupMenu editMenu.add(lowerCase); editMenu.add(toggle); pdbMenu.add(pdbFromFile); + // JBPNote: These shouldn't be added here - should appear in a generic 'apply web service to this sequence menu' + // pdbMenu.add(RNAFold); + // pdbMenu.add(ContraFold); pdbMenu.add(enterPDB); pdbMenu.add(discoverPDB); jMenu1.add(groupName); - jMenu1.add(unGroupMenuItem); jMenu1.add(colourMenu); jMenu1.add(showBoxes); jMenu1.add(showText); @@ -1279,6 +1345,8 @@ public class PopupMenu extends JPopupMenu purinePyrimidineColour_actionPerformed(); } }); + + /* * covariationColour.addActionListener(new java.awt.event.ActionListener() { * public void actionPerformed(ActionEvent e) { @@ -1466,6 +1534,7 @@ public class PopupMenu extends JPopupMenu refresh(); } + /* * protected void covariationColour_actionPerformed() { getGroup().cs = new * CovariationColourScheme(sequence.getAnnotation()[0]); refresh(); } @@ -1627,7 +1696,7 @@ public class PopupMenu extends JPopupMenu sequence.getAnnotation()[0], null, AnnotationColourGradient.NO_THRESHOLD); - acg.predefinedColours = true; + acg.setPredefinedColours(true); sg.cs = acg; refresh(); @@ -1727,6 +1796,11 @@ public class PopupMenu extends JPopupMenu ap.av.setSelectionGroup(null); refresh(); } + void createGroupMenuItem_actionPerformed() + { + getGroup(); // implicitly creates group - note - should apply defaults / use standard alignment window logic for this + refresh(); + } /** * DOCUMENT ME! @@ -1940,7 +2014,18 @@ public class PopupMenu extends JPopupMenu } } - + // JBNote: commented out - these won't be instantiated here...! +// public void RNAFold_actionPerformed() throws Exception +// { +// Predict2D P2D = new Predict2D(); +// P2D.getStructure2DFromRNAFold("toto"); +// } +// +// public void ContraFold_actionPerformed() throws Exception +// { +// Predict2D P2D = new Predict2D(); +// P2D.getStructure2DFromContraFold("toto"); +// } public void enterPDB_actionPerformed() { String id = JOptionPane.showInternalInputDialog(Desktop.desktop,