X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=1df8041031263e0fd2deb92cf1a89e476087e7e3;hb=be707dc4d1ea70abc29cbe3fd4489be7bb692117;hp=ef87c2fdda491c525f437144d17ea141b44e5b42;hpb=bf137b6f217be9b0ffa1d6e8a71fdc563f17ef89;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index ef87c2f..1df8041 100755 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -85,6 +85,7 @@ public class PopupMenu JMenu structureMenu = new JMenu(); JMenu viewStructureMenu = new JMenu(); JMenu colStructureMenu = new JMenu(); + JMenuItem editSequence = new JMenuItem(); /** * Creates a new PopupMenu object. @@ -566,6 +567,14 @@ public class PopupMenu structureMenu.setText("Structure"); viewStructureMenu.setText("View Structure"); colStructureMenu.setText("Colour By Structure"); + editSequence.setText("Edit Sequence..."); + editSequence.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent actionEvent) + { + editSequence_actionPerformed(actionEvent); + } + }); add(groupMenu); @@ -616,6 +625,7 @@ public class PopupMenu colourMenu.add(conservationMenuItem); editMenu.add(copy); editMenu.add(cut); + editMenu.add(editSequence); editMenu.add(upperCase); editMenu.add(lowerCase); editMenu.add(toggle); @@ -1403,4 +1413,39 @@ public class PopupMenu sequence.addAlignmentAnnotation(an); } + + public void editSequence_actionPerformed(ActionEvent actionEvent) + { + SequenceGroup sg = ap.av.getSelectionGroup(); + + if(sg!=null) + { + if (sequence == null) + sequence = (Sequence) sg.getSequenceAt(0); + + EditNameDialog dialog = new EditNameDialog( + sequence.getSequenceAsString( + sg.getStartRes(), + sg.getEndRes() + 1), + null, + "Edit Sequence ", + null, + "Edit Sequence"); + + if (dialog.accept) + { + EditCommand editCommand = new EditCommand( + "Edit Sequences", EditCommand.REPLACE, + dialog.getName(), + sg.getSequencesAsArray(ap.av.hiddenRepSequences), + sg.getStartRes(), sg.getEndRes() + 1, ap.av.alignment + ); + + ap.alignFrame.addHistoryItem(editCommand); + + ap.av.firePropertyChange("alignment", null, + ap.av.getAlignment().getSequences()); + } + } + } }