X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fjalview%2Fappletgui%2FAPopupMenu.java;h=ede493e88f44ee51e47c3392d95f02879218457c;hb=0eca27bca577e774acd5aefb165e7c6396a1995e;hp=a103073895c00f6a88aedbec6eeec04a872f140d;hpb=890bd0eac47a4b0f55bd062a359c16a43c3780a0;p=jalview.git diff --git a/src/jalview/appletgui/APopupMenu.java b/src/jalview/appletgui/APopupMenu.java index a103073..ede493e 100755 --- a/src/jalview/appletgui/APopupMenu.java +++ b/src/jalview/appletgui/APopupMenu.java @@ -68,6 +68,7 @@ public class APopupMenu MenuItem hideSeqs = new MenuItem(); MenuItem repGroup = new MenuItem(); MenuItem sequenceName = new MenuItem("Edit Name/Description"); + MenuItem sequenceFeature = new MenuItem("Create Sequence Feature"); Sequence seq; MenuItem revealAll = new MenuItem(); @@ -302,8 +303,9 @@ public class APopupMenu getGroup().getDescription(), " Group Name", "Group Description", - ap, - "Edit Group Name / Description"); + ap.alignFrame, + "Edit Group Name / Description", + 500,100); if (dialog.accept) { @@ -398,6 +400,35 @@ public class APopupMenu } } + else if(source == sequenceFeature) + { + SequenceGroup sg = ap.av.getSelectionGroup(); + if (sg == null) + { + return; + } + + int gSize = sg.getSize(); + SequenceI[] seqs = new SequenceI[gSize]; + SequenceFeature[] features = new SequenceFeature[gSize]; + + for (int i = 0; i < gSize; i++) + { + seqs[i] = sg.getSequenceAt(i); + int start = sg.getSequenceAt(i).findPosition(sg.getStartRes()); + int end = sg.findEndRes(sg.getSequenceAt(i)); + features[i] = new SequenceFeature(null, null, null, start, end, + "Jalview"); + } + + if (ap.seqPanel.seqCanvas.getFeatureRenderer() + .createNewFeatures(seqs, features, ap)) + { + ap.alignFrame.sequenceFeatures.setState(true); + ap.av.showSequenceFeatures(true); + ap.highlightSearchResults(null); + } + } else { outputText(evt); @@ -429,8 +460,9 @@ public class APopupMenu seq.getDescription(), " Sequence Name", "Sequence Description", - ap, - "Edit Sequence Name / Description"); + ap.alignFrame, + "Edit Sequence Name / Description", + 500,100); if (dialog.accept) { @@ -455,6 +487,7 @@ public class APopupMenu { groupMenu.setLabel("Group"); groupMenu.setLabel("Selection"); + sequenceFeature.addActionListener(this); editGroupName.addActionListener(this); unGroupMenuItem.setLabel("Remove Group"); @@ -488,7 +521,9 @@ public class APopupMenu groupMenu.add(editGroupName); groupMenu.add(editMenu); groupMenu.add(outputmenu); + groupMenu.add(sequenceFeature); groupMenu.add(menu1); + colourMenu.add(noColourmenuItem); colourMenu.add(clustalColour); colourMenu.add(BLOSUM62Colour);