X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=0d28a707d49c44dfef1cfccd1f4433f1aa50b4d4;hb=8f9a21c422709588ddd5893904b47d01244937cd;hp=997647116aec7b48c31271e18883281acb36c049;hpb=5f090b7d1cb8836903474f8f4d5e475be142d30c;p=jalview.git
diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java
index 9976471..0d28a70 100644
--- a/src/jalview/gui/PopupMenu.java
+++ b/src/jalview/gui/PopupMenu.java
@@ -1,6 +1,6 @@
/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
@@ -22,12 +22,15 @@ package jalview.gui;
import jalview.analysis.AAFrequency;
import jalview.analysis.AlignmentAnnotationUtils;
+import jalview.analysis.AlignmentUtils;
import jalview.analysis.Conservation;
import jalview.commands.ChangeCaseCommand;
import jalview.commands.EditCommand;
import jalview.commands.EditCommand.Action;
import jalview.datamodel.AlignmentAnnotation;
+import jalview.datamodel.AlignmentI;
import jalview.datamodel.Annotation;
+import jalview.datamodel.ColumnSelection;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.PDBEntry;
import jalview.datamodel.Sequence;
@@ -59,9 +62,7 @@ import jalview.util.UrlLink;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
import java.util.Collections;
import java.util.Hashtable;
import java.util.LinkedHashMap;
@@ -123,9 +124,6 @@ public class PopupMenu extends JPopupMenu
protected JRadioButtonMenuItem RNAInteractionColour = new JRadioButtonMenuItem();
- // protected JRadioButtonMenuItem covariationColour = new
- // JRadioButtonMenuItem();
-
JRadioButtonMenuItem noColourmenuItem = new JRadioButtonMenuItem();
protected JCheckBoxMenuItem conservationMenuItem = new JCheckBoxMenuItem();
@@ -139,6 +137,8 @@ public class PopupMenu extends JPopupMenu
JMenuItem sequenceDetails = new JMenuItem();
JMenuItem sequenceSelDetails = new JMenuItem();
+
+ JMenuItem makeReferenceSeq = new JMenuItem();
JMenuItem chooseAnnotations = new JMenuItem();
@@ -178,12 +178,6 @@ public class PopupMenu extends JPopupMenu
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();
@@ -194,13 +188,15 @@ public class PopupMenu extends JPopupMenu
JMenu seqHideAnnotationsMenu = new JMenu();
- JMenuItem seqAddReferenceAnnotations = new JMenuItem();
+ JMenuItem seqAddReferenceAnnotations = new JMenuItem(
+ MessageManager.getString("label.add_reference_annotations"));
JMenu groupShowAnnotationsMenu = new JMenu();
JMenu groupHideAnnotationsMenu = new JMenu();
- JMenuItem groupAddReferenceAnnotations = new JMenuItem();
+ JMenuItem groupAddReferenceAnnotations = new JMenuItem(
+ MessageManager.getString("label.add_reference_annotations"));
JMenuItem sequenceFeature = new JMenuItem();
@@ -208,17 +204,16 @@ public class PopupMenu extends JPopupMenu
JMenu jMenu1 = new JMenu();
- JMenu structureMenu = new JMenu();
+ JMenuItem proteinStructureMenu = new JMenuItem();
- JMenu viewStructureMenu = new JMenu();
+ JMenu rnaStructureMenu = new JMenu();
- // JMenu colStructureMenu = new JMenu();
JMenuItem editSequence = new JMenuItem();
- // JMenuItem annotationMenuItem = new JMenuItem();
-
JMenu groupLinksMenu;
+ JMenuItem hideInsertions = new JMenuItem();
+
/**
* Creates a new PopupMenu object.
*
@@ -267,7 +262,6 @@ public class PopupMenu extends JPopupMenu
colours.add(BLOSUM62Colour);
colours.add(purinePyrimidineColour);
colours.add(RNAInteractionColour);
- // colours.add(covariationColour);
for (int i = 0; i < jalview.io.FormatAdapter.WRITEABLE_FORMATS.length; i++)
{
@@ -321,52 +315,16 @@ public class PopupMenu extends JPopupMenu
if (seq != null)
{
sequenceMenu.setText(sequence.getName());
-
- if (seq.getDatasetSequence().getPDBId() != null
- && seq.getDatasetSequence().getPDBId().size() > 0)
+ if (seq == ap.av.getAlignment().getSeqrep())
{
- java.util.Enumeration e = seq.getDatasetSequence().getPDBId()
- .elements();
-
- while (e.hasMoreElements())
- {
- final PDBEntry pdb = (PDBEntry) e.nextElement();
-
- menuItem = new JMenuItem();
- menuItem.setText(pdb.getId());
- menuItem.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- // TODO re JAL-860: optionally open dialog or provide a menu entry
- // allowing user to open just one structure per sequence
- // new AppJmol(pdb, ap.av.collateForPDB(new PDBEntry[]
- // { pdb })[0], null, ap);
- new StructureViewer(ap.getStructureSelectionManager())
- .viewStructures(pdb,
- ap.av.collateForPDB(new PDBEntry[]
- { pdb })[0], null, ap);
- }
- });
- viewStructureMenu.add(menuItem);
-
- /*
- * menuItem = new JMenuItem(); menuItem.setText(pdb.getId());
- * menuItem.addActionListener(new java.awt.event.ActionListener() {
- * public void actionPerformed(ActionEvent e) {
- * colourByStructure(pdb.getId()); } });
- * colStructureMenu.add(menuItem);
- */
- }
+ makeReferenceSeq.setText("Unmark representative");
+ } else {
+ makeReferenceSeq.setText("Mark as representative");
}
- else
+
+ if (ap.av.getAlignment().isNucleotide() == false)
{
- if (ap.av.getAlignment().isNucleotide() == false)
- {
- structureMenu.remove(viewStructureMenu);
- }
- // structureMenu.remove(colStructureMenu);
+ remove(rnaStructureMenu);
}
if (ap.av.getAlignment().isNucleotide() == true)
@@ -381,34 +339,22 @@ public class PopupMenu extends JPopupMenu
final String structureLine = aa[i].label + " (alignment)";
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_structure_line", new String[]
+ "label.2d_rna_structure_line", new Object[]
{ structureLine }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
- // // 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);
+ rnaStructureMenu.add(menuItem);
}
}
- // SequenceFeatures[] test = seq.getSequenceFeatures();
if (seq.getAnnotation() != null)
{
@@ -422,7 +368,7 @@ public class PopupMenu extends JPopupMenu
// TODO: make rnastrucF a bit more nice
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_sequence_name", new String[]
+ "label.2d_rna_sequence_name", new Object[]
{ seq.getName() }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@@ -436,11 +382,10 @@ public class PopupMenu extends JPopupMenu
ap);
}
});
- viewStructureMenu.add(menuItem);
+ rnaStructureMenu.add(menuItem);
}
}
}
-
}
menuItem = new JMenuItem(
@@ -459,7 +404,7 @@ public class PopupMenu extends JPopupMenu
&& ap.av.getSelectionGroup().getSize() > 1)
{
menuItem = new JMenuItem(MessageManager.formatMessage(
- "label.represent_group_with", new String[]
+ "label.represent_group_with", new Object[]
{ seq.getName() }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@@ -528,7 +473,7 @@ public class PopupMenu extends JPopupMenu
if (sg != null && sg.getSize() > 0)
{
groupName.setText(MessageManager.formatMessage("label.name_param",
- new String[]
+ new Object[]
{ sg.getName() }));
groupName.setText(MessageManager
.getString("label.edit_name_and_description_current_group"));
@@ -629,50 +574,6 @@ public class PopupMenu extends JPopupMenu
new PDBEntry[pdbe.size()]), pr = reppdb.values().toArray(
new PDBEntry[reppdb.size()]);
final JMenuItem gpdbview, rpdbview;
- if (pdbe.size() == 1)
- {
- structureMenu.add(gpdbview = new JMenuItem(MessageManager
- .formatMessage("label.view_structure_for", new String[]
- { sqass.getDisplayId(false) })));
- }
- else
- {
- structureMenu.add(gpdbview = new JMenuItem(MessageManager
- .formatMessage("label.view_all_structures", new String[]
- { new Integer(pdbe.size()).toString() })));
- }
- gpdbview.setToolTipText(MessageManager
- .getString("label.open_new_jmol_view_with_all_structures_associated_current_selection_superimpose_using_alignment"));
- gpdbview.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- new StructureViewer(ap.getStructureSelectionManager())
- .viewStructures(ap, pe, ap.av.collateForPDB(pe));
- }
- });
- if (reppdb.size() > 1 && reppdb.size() < pdbe.size())
- {
- structureMenu.add(rpdbview = new JMenuItem(MessageManager
- .formatMessage(
- "label.view_all_representative_structures",
- new String[]
- { new Integer(reppdb.size()).toString() })));
- rpdbview.setToolTipText(MessageManager
- .getString("label.open_new_jmol_view_with_all_representative_structures_associated_current_selection_superimpose_using_alignment"));
- rpdbview.addActionListener(new ActionListener()
- {
-
- @Override
- public void actionPerformed(ActionEvent e)
- {
- new StructureViewer(ap.getStructureSelectionManager())
- .viewStructures(ap, pr, ap.av.collateForPDB(pr));
- }
- });
- }
}
}
else
@@ -697,7 +598,8 @@ public class PopupMenu extends JPopupMenu
if (seq == null)
{
sequenceMenu.setVisible(false);
- structureMenu.setVisible(false);
+ proteinStructureMenu.setVisible(false);
+ rnaStructureMenu.setVisible(false);
}
if (links != null && links.size() > 0)
@@ -936,7 +838,7 @@ public class PopupMenu extends JPopupMenu
final boolean actionIsShow)
{
String label = types.toString(); // [a, b, c]
- label = label.substring(1, label.length() - 1);
+ label = label.substring(1, label.length() - 1); // a, b, c
final JMenuItem item = new JMenuItem(label);
item.setToolTipText(calcId);
item.addActionListener(new java.awt.event.ActionListener()
@@ -944,41 +846,14 @@ public class PopupMenu extends JPopupMenu
@Override
public void actionPerformed(ActionEvent e)
{
- showHideAnnotation_actionPerformed(types, forSequences, allTypes,
- actionIsShow);
+ AlignmentUtils.showOrHideSequenceAnnotations(ap.getAlignment(), types,
+ forSequences, allTypes, actionIsShow);
+ refresh();
}
});
showOrHideMenu.add(item);
}
- /**
- * Action on selecting a list of annotation type (or the 'all types' values)
- * to show or hide for the specified sequences.
- *
- * @param types
- * @param forSequences
- * @param anyType
- * @param doShow
- */
- protected void showHideAnnotation_actionPerformed(
- Collection }
- */
final Map
"); new SequenceAnnotationReport(null) .createSequenceAnnotationReport( @@ -1933,16 +1789,18 @@ public class PopupMenu extends JPopupMenu true, true, false, - (ap.seqPanel.seqCanvas.fr != null) ? ap.seqPanel.seqCanvas.fr.minmax + (ap.getSeqPanel().seqCanvas.fr != null) ? ap + .getSeqPanel().seqCanvas.fr + .getMinMax() : null); contents.append("
"); } cap.setText("" + contents.toString() + ""); - Desktop.instance.addInternalFrame(cap, MessageManager.formatMessage( - "label.sequece_details_for", - (sequences.length == 1 ? new String[] - { sequences[0].getDisplayId(true) } : new String[] + Desktop.addInternalFrame(cap, MessageManager.formatMessage( + "label.sequence_details_for", + (sequences.length == 1 ? new Object[] + { sequences[0].getDisplayId(true) } : new Object[] { MessageManager.getString("label.selection") })), 500, 400); } @@ -2106,14 +1964,14 @@ public class PopupMenu extends JPopupMenu int threshold = SliderPanel.setPIDSliderSource(ap, sg.cs, getGroup() .getName()); - sg.cs.setThreshold(threshold, ap.av.getIgnoreGapsConsensus()); + sg.cs.setThreshold(threshold, ap.av.isIgnoreGapsConsensus()); SliderPanel.showPIDSlider(); } else // remove PIDColouring { - sg.cs.setThreshold(0, ap.av.getIgnoreGapsConsensus()); + sg.cs.setThreshold(0, ap.av.isIgnoreGapsConsensus()); } refresh(); @@ -2464,15 +2322,7 @@ public class PopupMenu extends JPopupMenu } int gsize = sg.getSize(); - SequenceI[] hseqs; - - hseqs = new SequenceI[gsize]; - - int index = 0; - for (int i = 0; i < gsize; i++) - { - hseqs[index++] = sg.getSequenceAt(i); - } + SequenceI[] hseqs = sg.getSequences().toArray(new SequenceI[gsize]); ap.av.hideSequence(hseqs); // refresh(); TODO: ? needed ? @@ -2496,7 +2346,8 @@ public class PopupMenu extends JPopupMenu if (sg != null) { - int[][] startEnd = ap.av.getVisibleRegionBoundaries(sg.getStartRes(), + List