X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=fe1700b904f9ee46a3200f9a0bf6e6c10f568aec;hb=2b2e4f5da97889b83c6f8b0fbe41f163feca7e82;hp=b45fa6b45e051704d94ca6e18ac02a550de7d9c3;hpb=b4877bc99e12cf4465e43e090e19277c3139ce77;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index b45fa6b..fe1700b 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -28,6 +28,7 @@ import jalview.datamodel.*; import jalview.schemes.*; import jalview.util.UrlLink; import jalview.io.AppletFormatAdapter; +import jalview.io.SequenceAnnotationReport; public class APopupMenu extends java.awt.PopupMenu implements ActionListener, ItemListener @@ -107,7 +108,11 @@ public class APopupMenu extends java.awt.PopupMenu implements MenuItem sequenceFeature = new MenuItem("Create Sequence Feature"); MenuItem editSequence = new MenuItem("Edit Sequence"); + + MenuItem sequenceDetails = new MenuItem("Sequence Details ..."); + MenuItem selSeqDetails = new MenuItem("Sequence Details ..."); + Sequence seq; MenuItem revealAll = new MenuItem(); @@ -450,6 +455,14 @@ public class APopupMenu extends java.awt.PopupMenu implements { editName(); } + else if (source == sequenceDetails) + { + showSequenceDetails(); + } + else if (source == selSeqDetails) + { + showSequenceSelectionDetails(); + } else if (source == pdb) { addPDB(); @@ -608,6 +621,7 @@ public class APopupMenu extends java.awt.PopupMenu implements } + void outputText(ActionEvent e) { CutAndPasteTransfer cap = new CutAndPasteTransfer(true, ap.alignFrame); @@ -625,6 +639,41 @@ public class APopupMenu extends java.awt.PopupMenu implements ap.av.showJVSuffix)); } + protected void showSequenceSelectionDetails() + { + createSequenceDetailsReport(ap.av.getSequenceSelection()); + } + + protected void showSequenceDetails() + { + createSequenceDetailsReport(new SequenceI[]{seq}); + } + public void createSequenceDetailsReport(SequenceI[] sequences) + { + + CutAndPasteTransfer cap = new CutAndPasteTransfer(false, ap.alignFrame); + + StringBuffer contents = new StringBuffer(); + for (SequenceI seq:sequences) + { + contents.append("

Annotation for "+seq.getDisplayId(true)+"

"); + new SequenceAnnotationReport(null) + .createSequenceAnnotationReport( + contents, + seq, + true, + true,false, + (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax + : null); + contents.append("

"); + } + Frame frame = new Frame(); + frame.add(cap); + jalview.bin.JalviewLite.addFrame(frame, + "Sequence Details for " + (sequences.length==1 ? sequences[0].getDisplayId(true) : "Selection") + , 600, 500); + cap.setText("" + contents.toString() + ""); + } void editName() { @@ -685,6 +734,8 @@ public class APopupMenu extends java.awt.PopupMenu implements showBoxes.setState(true); showBoxes.addItemListener(this); sequenceName.addActionListener(this); + sequenceDetails.addActionListener(this); + selSeqDetails.addActionListener(this); displayNonconserved.setLabel("Show Nonconserved"); displayNonconserved.setState(false); displayNonconserved.addItemListener(this); @@ -705,6 +756,7 @@ public class APopupMenu extends java.awt.PopupMenu implements this.add(hideSeqs); this.add(revealSeq); this.add(revealAll); + // groupMenu.add(selSeqDetails); groupMenu.add(editGroupName); groupMenu.add(editMenu); groupMenu.add(outputmenu); @@ -771,6 +823,8 @@ public class APopupMenu extends java.awt.PopupMenu implements toLower.addActionListener(this); editMenu.add(toggleCase); seqMenu.add(sequenceName); + // seqMenu.add(sequenceDetails); + if (!ap.av.applet.useXtrnalSviewer) { seqMenu.add(pdb); @@ -799,8 +853,7 @@ public class APopupMenu extends java.awt.PopupMenu implements { SequenceGroup sg = getGroup(); sg.cs = new ClustalxColourScheme( - sg.getSequences(ap.av.getHiddenRepSequences()), - ap.av.getAlignment().getWidth()); + sg,ap.av.getHiddenRepSequences()); refresh(); }