X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=71fb2bdac913101351daff0182fd86502d5cebf1;hb=63a18b71aa3ed6503b6fbb8ec3543b5d66ed3f70;hp=66cafc5f17e9bdbd40894e331a0969e8e02e142d;hpb=20cbd628749ac9c90b8596c386a24c5778f42c49;p=jalview.git diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java index 66cafc5..71fb2bd 100644 --- a/src/jalview/gui/PopupMenu.java +++ b/src/jalview/gui/PopupMenu.java @@ -19,7 +19,6 @@ package jalview.gui; import java.util.*; - import java.awt.*; import java.awt.event.*; @@ -89,6 +88,8 @@ public class PopupMenu extends JPopupMenu JMenuItem sequenceDetails = new JMenuItem(); JMenuItem sequenceSelDetails = new JMenuItem(); + + JMenuItem makeReferenceSeq = new JMenuItem(); SequenceI sequence; JMenuItem createGroupMenuItem = new JMenuItem(); @@ -224,6 +225,12 @@ public class PopupMenu extends JPopupMenu if (seq != null) { sequenceMenu.setText(sequence.getName()); + if (seq == ap.av.getAlignment().getSeqrep()) + { + makeReferenceSeq.setText("Unmark representative"); + } else { + makeReferenceSeq.setText("Mark as representative"); + } if (seq.getDatasetSequence().getPDBId() != null && seq.getDatasetSequence().getPDBId().size() > 0) @@ -268,7 +275,6 @@ public class PopupMenu extends JPopupMenu } // structureMenu.remove(colStructureMenu); } - if (ap.av.getAlignment().isNucleotide() == true) { AlignmentAnnotation[] aa = ap.av.getAlignment() @@ -321,7 +327,6 @@ public class PopupMenu extends JPopupMenu } } } - } menuItem = new JMenuItem(MessageManager.getString("action.hide_sequences")); @@ -1106,7 +1111,17 @@ public class PopupMenu extends JPopupMenu editSequence_actionPerformed(actionEvent); } }); - + makeReferenceSeq.setText("Mark as representative"); + makeReferenceSeq.addActionListener(new ActionListener() + { + + @Override + public void actionPerformed(ActionEvent actionEvent) + { + makeReferenceSeq_actionPerformed(actionEvent); + + } + }); /* * annotationMenuItem.setText("By Annotation"); * annotationMenuItem.addActionListener(new ActionListener() { public void @@ -1125,6 +1140,7 @@ public class PopupMenu extends JPopupMenu groupMenu.add(jMenu1); sequenceMenu.add(sequenceName); sequenceMenu.add(sequenceDetails); + sequenceMenu.add(makeReferenceSeq); colourMenu.add(textColour); colourMenu.add(noColourmenuItem); colourMenu.add(clustalColour); @@ -1319,6 +1335,29 @@ public class PopupMenu extends JPopupMenu }); } + protected void makeReferenceSeq_actionPerformed(ActionEvent actionEvent) + { + if (!ap.av.getAlignment().hasSeqrep()) + { + // initialise the display flags so the user sees something happen + ap.av.setDisplayReferenceSeq(true); + ap.av.setColourByReferenceSeq(true); + ap.av.getAlignment().setSeqrep(sequence); + } + else + { + if (ap.av.getAlignment().getSeqrep() == sequence) + { + ap.av.getAlignment().setSeqrep(null); + } + else + { + ap.av.getAlignment().setSeqrep(sequence); + } + } + refresh(); + } + protected void sequenceSelectionDetails_actionPerformed() { createSequenceDetailsReport(ap.av.getSequenceSelection());