X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FPopupMenu.java;h=89534875d3e0fdff6de3f0461bac0f00ce75afdf;hb=470bdf4991a8cb9d47f2bc572a2bc13b09f7565a;hp=2ba442782495212d2079ff20a51e70eea12d9119;hpb=7aef14d879f7bfb8af464a6b7700a99413eab0c6;p=jalview.git
diff --git a/src/jalview/gui/PopupMenu.java b/src/jalview/gui/PopupMenu.java
index 2ba4427..8953487 100644
--- a/src/jalview/gui/PopupMenu.java
+++ b/src/jalview/gui/PopupMenu.java
@@ -20,27 +20,6 @@
*/
package jalview.gui;
-import java.awt.Color;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Hashtable;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.Vector;
-
-import javax.swing.ButtonGroup;
-import javax.swing.JCheckBoxMenuItem;
-import javax.swing.JColorChooser;
-import javax.swing.JMenu;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JPopupMenu;
-import javax.swing.JRadioButtonMenuItem;
-
import jalview.analysis.AAFrequency;
import jalview.analysis.AlignmentAnnotationUtils;
import jalview.analysis.AlignmentUtils;
@@ -54,7 +33,6 @@ import jalview.datamodel.Annotation;
import jalview.datamodel.ColumnSelection;
import jalview.datamodel.DBRefEntry;
import jalview.datamodel.PDBEntry;
-import jalview.datamodel.Sequence;
import jalview.datamodel.SequenceFeature;
import jalview.datamodel.SequenceGroup;
import jalview.datamodel.SequenceI;
@@ -80,6 +58,28 @@ import jalview.util.GroupUrlLink.UrlStringTooLongException;
import jalview.util.MessageManager;
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.Collections;
+import java.util.Hashtable;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.Vector;
+
+import javax.swing.ButtonGroup;
+import javax.swing.JCheckBoxMenuItem;
+import javax.swing.JColorChooser;
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
+import javax.swing.JPopupMenu;
+import javax.swing.JRadioButtonMenuItem;
+
/**
* DOCUMENT ME!
*
@@ -137,7 +137,7 @@ public class PopupMenu extends JPopupMenu
JMenuItem sequenceDetails = new JMenuItem();
JMenuItem sequenceSelDetails = new JMenuItem();
-
+
JMenuItem makeReferenceSeq = new JMenuItem();
JMenuItem chooseAnnotations = new JMenuItem();
@@ -204,7 +204,7 @@ public class PopupMenu extends JPopupMenu
JMenu jMenu1 = new JMenu();
- JMenuItem proteinStructureMenu = new JMenuItem();
+ JMenuItem pdbStructureDialog = new JMenuItem();
JMenu rnaStructureMenu = new JMenu();
@@ -215,19 +215,6 @@ public class PopupMenu extends JPopupMenu
JMenuItem hideInsertions = new JMenuItem();
/**
- * Creates a new PopupMenu object.
- *
- * @param ap
- * DOCUMENT ME!
- * @param seq
- * DOCUMENT ME!
- */
- public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)
- {
- this(ap, seq, links, null);
- }
-
- /**
*
* @param ap
* @param seq
@@ -235,7 +222,7 @@ public class PopupMenu extends JPopupMenu
* @param groupLinks
*/
public PopupMenu(final AlignmentPanel ap, final SequenceI seq,
- Vector links, Vector groupLinks)
+ List links, List groupLinks)
{
// /////////////////////////////////////////////////////////
// If this is activated from the sequence panel, the user may want to
@@ -317,9 +304,13 @@ public class PopupMenu extends JPopupMenu
sequenceMenu.setText(sequence.getName());
if (seq == ap.av.getAlignment().getSeqrep())
{
- makeReferenceSeq.setText("Unmark representative");
- } else {
- makeReferenceSeq.setText("Mark as representative");
+ makeReferenceSeq.setText(MessageManager
+ .getString("action.unmark_as_reference"));
+ }
+ else
+ {
+ makeReferenceSeq.setText(MessageManager
+ .getString("action.set_as_reference"));
}
if (!ap.av.getAlignment().isNucleotide())
@@ -328,6 +319,7 @@ public class PopupMenu extends JPopupMenu
}
else
{
+ int origCount = rnaStructureMenu.getItemCount();
/*
* add menu items to 2D-render any alignment or sequence secondary
* structure annotation
@@ -343,17 +335,16 @@ public class PopupMenu extends JPopupMenu
/*
* valid alignment RNA secondary structure annotation
*/
- final String structureLine = aa.label + " (alignment)";
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_structure_line", new Object[]
- { structureLine }));
+ "label.2d_rna_structure_line",
+ new Object[] { aa.label }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
- new AppVarna(structureLine, seq, aa, ap);
+ new AppVarna(seq, aa, ap);
}
});
rnaStructureMenu.add(menuItem);
@@ -361,7 +352,6 @@ public class PopupMenu extends JPopupMenu
}
}
-
if (seq.getAnnotation() != null)
{
AlignmentAnnotation seqAnns[] = seq.getAnnotation();
@@ -375,23 +365,25 @@ 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 Object[]
- { seq.getName() }));
+ "label.2d_rna_sequence_name",
+ new Object[] { seq.getName() }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
// TODO: VARNA does'nt print gaps in the sequence
-
- new AppVarna(seq.getName() + " structure", seq, aa,
- ap);
+ new AppVarna(seq, aa, ap);
}
});
rnaStructureMenu.add(menuItem);
}
}
}
+ if (rnaStructureMenu.getItemCount() == origCount)
+ {
+ remove(rnaStructureMenu);
+ }
}
menuItem = new JMenuItem(
@@ -410,8 +402,8 @@ public class PopupMenu extends JPopupMenu
&& ap.av.getSelectionGroup().getSize() > 1)
{
menuItem = new JMenuItem(MessageManager.formatMessage(
- "label.represent_group_with", new Object[]
- { seq.getName() }));
+ "label.represent_group_with",
+ new Object[] { seq.getName() }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@Override
@@ -479,8 +471,7 @@ public class PopupMenu extends JPopupMenu
if (sg != null && sg.getSize() > 0)
{
groupName.setText(MessageManager.formatMessage("label.name_param",
- new Object[]
- { sg.getName() }));
+ new Object[] { sg.getName() }));
groupName.setText(MessageManager
.getString("label.edit_name_and_description_current_group"));
@@ -560,7 +551,7 @@ public class PopupMenu extends JPopupMenu
SequenceI sqass = null;
for (SequenceI sq : ap.av.getSequenceSelection())
{
- Vector pes = sq.getDatasetSequence().getPDBId();
+ Vector pes = sq.getDatasetSequence().getAllPDBEntries();
if (pes != null && pes.size() > 0)
{
reppdb.put(pes.get(0).getId(), pes.get(0));
@@ -604,7 +595,7 @@ public class PopupMenu extends JPopupMenu
if (seq == null)
{
sequenceMenu.setVisible(false);
- proteinStructureMenu.setVisible(false);
+ pdbStructureDialog.setVisible(false);
rnaStructureMenu.setVisible(false);
}
@@ -612,10 +603,10 @@ public class PopupMenu extends JPopupMenu
{
JMenu linkMenu = new JMenu(MessageManager.getString("action.link"));
- Vector linkset = new Vector();
+ List linkset = new ArrayList();
for (int i = 0; i < links.size(); i++)
{
- String link = links.elementAt(i).toString();
+ String link = links.get(i);
UrlLink urlLink = null;
try
{
@@ -638,8 +629,7 @@ public class PopupMenu extends JPopupMenu
// collect matching db-refs
DBRefEntry[] dbr = jalview.util.DBRefUtils.selectRefs(
- seq.getDBRef(), new String[]
- { urlLink.getTarget() });
+ seq.getDBRef(), new String[] { urlLink.getTarget() });
// collect id string too
String id = seq.getName();
String descr = seq.getDescription();
@@ -667,7 +657,7 @@ public class PopupMenu extends JPopupMenu
{
if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
{
- linkset.addElement(urls[u] + "|" + urls[u + 1]);
+ linkset.add(urls[u] + "|" + urls[u + 1]);
addshowLink(linkMenu, label + "|" + urls[u],
urls[u + 1]);
}
@@ -685,7 +675,7 @@ public class PopupMenu extends JPopupMenu
{
if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
{
- linkset.addElement(urls[u] + "|" + urls[u + 1]);
+ linkset.add(urls[u] + "|" + urls[u + 1]);
addshowLink(linkMenu, label, urls[u + 1]);
}
}
@@ -703,7 +693,7 @@ public class PopupMenu extends JPopupMenu
{
if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
{
- linkset.addElement(urls[u] + "|" + urls[u + 1]);
+ linkset.add(urls[u] + "|" + urls[u + 1]);
addshowLink(linkMenu, label, urls[u + 1]);
}
}
@@ -714,7 +704,7 @@ public class PopupMenu extends JPopupMenu
{
if (!linkset.contains(label + "|" + urlLink.getUrl_prefix()))
{
- linkset.addElement(label + "|" + urlLink.getUrl_prefix());
+ linkset.add(label + "|" + urlLink.getUrl_prefix());
// Add a non-dynamic link
addshowLink(linkMenu, label, urlLink.getUrl_prefix());
}
@@ -770,17 +760,15 @@ public class PopupMenu extends JPopupMenu
*/
Map>> shownTypes = new LinkedHashMap>>();
Map>> hiddenTypes = new LinkedHashMap>>();
- AlignmentAnnotationUtils.getShownHiddenTypes(shownTypes,
- hiddenTypes,
- AlignmentAnnotationUtils.asList(annotations),
- forSequences);
+ AlignmentAnnotationUtils.getShownHiddenTypes(shownTypes, hiddenTypes,
+ AlignmentAnnotationUtils.asList(annotations), forSequences);
for (String calcId : hiddenTypes.keySet())
{
for (List type : hiddenTypes.get(calcId))
{
- addAnnotationTypeToShowHide(showMenu, forSequences,
- calcId, type, false, true);
+ addAnnotationTypeToShowHide(showMenu, forSequences, calcId, type,
+ false, true);
}
}
// grey out 'show annotations' if none are hidden
@@ -790,8 +778,8 @@ public class PopupMenu extends JPopupMenu
{
for (List type : shownTypes.get(calcId))
{
- addAnnotationTypeToShowHide(hideMenu, forSequences,
- calcId, type, false, false);
+ addAnnotationTypeToShowHide(hideMenu, forSequences, calcId, type,
+ false, false);
}
}
// grey out 'hide annotations' if none are shown
@@ -852,15 +840,15 @@ public class PopupMenu extends JPopupMenu
@Override
public void actionPerformed(ActionEvent e)
{
- AlignmentUtils.showOrHideSequenceAnnotations(ap.getAlignment(), types,
- forSequences, allTypes, actionIsShow);
+ AlignmentUtils.showOrHideSequenceAnnotations(ap.getAlignment(),
+ types, forSequences, allTypes, actionIsShow);
refresh();
}
});
showOrHideMenu.add(item);
}
- private void buildGroupURLMenu(SequenceGroup sg, Vector groupLinks)
+ private void buildGroupURLMenu(SequenceGroup sg, List groupLinks)
{
// TODO: usability: thread off the generation of group url content so root
@@ -869,8 +857,8 @@ public class PopupMenu extends JPopupMenu
// ID/regex match URLs
groupLinksMenu = new JMenu(
MessageManager.getString("action.group_link"));
- JMenu[] linkMenus = new JMenu[]
- { null, new JMenu(MessageManager.getString("action.ids")),
+ JMenu[] linkMenus = new JMenu[] { null,
+ new JMenu(MessageManager.getString("action.ids")),
new JMenu(MessageManager.getString("action.sequences")),
new JMenu(MessageManager.getString("action.ids_sequences")) }; // three
// types
@@ -905,8 +893,7 @@ public class PopupMenu extends JPopupMenu
if (sarray == null)
{
sarray = new Object[2];
- sarray[0] = new int[]
- { 0 };
+ sarray[0] = new int[] { 0 };
sarray[1] = new String[seqs.length];
commonDbrefs.put(src, sarray);
@@ -929,7 +916,7 @@ public class PopupMenu extends JPopupMenu
// to user
for (int i = 0; i < groupLinks.size(); i++)
{
- String link = groupLinks.elementAt(i).toString();
+ String link = groupLinks.get(i);
GroupUrlLink urlLink = null;
try
{
@@ -1026,8 +1013,7 @@ public class PopupMenu extends JPopupMenu
{
JMenuItem item = new JMenuItem(label);
item.setToolTipText(MessageManager.formatMessage(
- "label.open_url_param", new Object[]
- { url }));
+ "label.open_url_param", new Object[] { url }));
item.addActionListener(new java.awt.event.ActionListener()
{
@Override
@@ -1066,8 +1052,7 @@ public class PopupMenu extends JPopupMenu
JMenuItem item = new JMenuItem(label);
item.setToolTipText(MessageManager.formatMessage(
"label.open_url_seqs_param",
- new Object[]
- { urlgenerator.getUrl_prefix(),
+ new Object[] { urlgenerator.getUrl_prefix(),
urlgenerator.getNumberInvolved(urlstub) }));
// TODO: put in info about what is being sent.
item.addActionListener(new java.awt.event.ActionListener()
@@ -1127,7 +1112,7 @@ public class PopupMenu extends JPopupMenu
}
});
chooseAnnotations.setText(MessageManager
- .getString("label.choose_annotations") + "...");
+ .getString("action.choose_annotations"));
chooseAnnotations.addActionListener(new java.awt.event.ActionListener()
{
@Override
@@ -1137,7 +1122,7 @@ public class PopupMenu extends JPopupMenu
}
});
sequenceDetails.setText(MessageManager
- .getString("label.sequence_details") + "...");
+ .getString("label.sequence_details"));
sequenceDetails.addActionListener(new java.awt.event.ActionListener()
{
@Override
@@ -1147,7 +1132,7 @@ public class PopupMenu extends JPopupMenu
}
});
sequenceSelDetails.setText(MessageManager
- .getString("label.sequence_details") + "...");
+ .getString("label.sequence_details"));
sequenceSelDetails
.addActionListener(new java.awt.event.ActionListener()
{
@@ -1346,15 +1331,14 @@ public class PopupMenu extends JPopupMenu
}
});
jMenu1.setText(MessageManager.getString("label.group"));
- proteinStructureMenu.setText(MessageManager
- .getString("label.view_protein_structure"));
- proteinStructureMenu.addActionListener(new ActionListener()
+ pdbStructureDialog.setText(MessageManager
+ .getString("label.show_pdbstruct_dialog"));
+ pdbStructureDialog.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent actionEvent)
{
- SequenceI[] selectedSeqs = new SequenceI[]
- { sequence };
+ SequenceI[] selectedSeqs = new SequenceI[] { sequence };
if (ap.av.getSelectionGroup() != null)
{
selectedSeqs = ap.av.getSequenceSelection();
@@ -1381,15 +1365,16 @@ public class PopupMenu extends JPopupMenu
.getString("label.mark_as_representative"));
makeReferenceSeq.addActionListener(new ActionListener()
{
-
+
@Override
public void actionPerformed(ActionEvent actionEvent)
{
makeReferenceSeq_actionPerformed(actionEvent);
-
+
}
});
- hideInsertions.setText(MessageManager.getString("label.hide_insertions"));
+ hideInsertions.setText(MessageManager
+ .getString("label.hide_insertions"));
hideInsertions.addActionListener(new ActionListener()
{
@@ -1409,8 +1394,8 @@ public class PopupMenu extends JPopupMenu
add(groupMenu);
add(sequenceMenu);
add(rnaStructureMenu);
- add(proteinStructureMenu);
- if (sequence!=null)
+ add(pdbStructureDialog);
+ if (sequence != null)
{
add(hideInsertions);
}
@@ -1668,8 +1653,8 @@ public class PopupMenu extends JPopupMenu
* @param menuItem
* @param forSequences
*/
- protected void configureReferenceAnnotationsMenu(
- JMenuItem menuItem, List forSequences)
+ protected void configureReferenceAnnotationsMenu(JMenuItem menuItem,
+ List forSequences)
{
menuItem.setEnabled(false);
@@ -1765,6 +1750,7 @@ public class PopupMenu extends JPopupMenu
}
refresh();
}
+
protected void sequenceSelectionDetails_actionPerformed()
{
createSequenceDetailsReport(ap.av.getSequenceSelection());
@@ -1772,8 +1758,7 @@ public class PopupMenu extends JPopupMenu
protected void sequenceDetails_actionPerformed()
{
- createSequenceDetailsReport(new SequenceI[]
- { sequence });
+ createSequenceDetailsReport(new SequenceI[] { sequence });
}
public void createSequenceDetailsReport(SequenceI[] sequences)
@@ -1786,8 +1771,8 @@ public class PopupMenu extends JPopupMenu
+ MessageManager
.formatMessage(
"label.create_sequence_details_report_annotation_for",
- new Object[]
- { seq.getDisplayId(true) }) + "
");
+ new Object[] { seq.getDisplayId(true) })
+ + "
");
new SequenceAnnotationReport(null)
.createSequenceAnnotationReport(
contents,
@@ -1796,8 +1781,7 @@ public class PopupMenu extends JPopupMenu
true,
false,
(ap.getSeqPanel().seqCanvas.fr != null) ? ap
- .getSeqPanel().seqCanvas.fr
- .getMinMax()
+ .getSeqPanel().seqCanvas.fr.getMinMax()
: null);
contents.append("
");
}
@@ -1805,9 +1789,9 @@ public class PopupMenu extends JPopupMenu
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);
+ (sequences.length == 1 ? new Object[] { sequences[0]
+ .getDisplayId(true) } : new Object[] { MessageManager
+ .getString("label.selection") })), 500, 400);
}
@@ -2313,8 +2297,7 @@ public class PopupMenu extends JPopupMenu
SequenceGroup sg = ap.av.getSelectionGroup();
if (sg == null || sg.getSize() < 1)
{
- ap.av.hideSequence(new SequenceI[]
- { sequence });
+ ap.av.hideSequence(new SequenceI[] { sequence });
return;
}
@@ -2353,8 +2336,7 @@ public class PopupMenu extends JPopupMenu
if (sg != null)
{
List startEnd = ap.av.getVisibleRegionBoundaries(
- sg.getStartRes(),
- sg.getEndRes() + 1);
+ sg.getStartRes(), sg.getEndRes() + 1);
String description;
int caseChange;
@@ -2392,8 +2374,8 @@ public class PopupMenu extends JPopupMenu
CutAndPasteTransfer cap = new CutAndPasteTransfer();
cap.setForInput(null);
Desktop.addInternalFrame(cap, MessageManager.formatMessage(
- "label.alignment_output_command", new Object[]
- { e.getActionCommand() }), 600, 500);
+ "label.alignment_output_command",
+ new Object[] { e.getActionCommand() }), 600, 500);
String[] omitHidden = null;
@@ -2401,8 +2383,8 @@ public class PopupMenu extends JPopupMenu
// or we simply trust the user wants
// wysiwig behaviour
- cap.setText(new FormatAdapter().formatSequences(e.getActionCommand(),
- ap.av, true));
+ cap.setText(new FormatAdapter(ap).formatSequences(e.getActionCommand(),
+ ap, true));
}
public void pdbFromFile_actionPerformed()
@@ -2411,11 +2393,11 @@ public class PopupMenu extends JPopupMenu
jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new jalview.io.JalviewFileView());
chooser.setDialogTitle(MessageManager.formatMessage(
- "label.select_pdb_file_for", new Object[]
- { sequence.getDisplayId(false) }));
+ "label.select_pdb_file_for",
+ new Object[] { sequence.getDisplayId(false) }));
chooser.setToolTipText(MessageManager.formatMessage(
- "label.load_pdb_file_associate_with_sequence", new Object[]
- { sequence.getDisplayId(false) }));
+ "label.load_pdb_file_associate_with_sequence",
+ new Object[] { sequence.getDisplayId(false) }));
int value = chooser.showOpenDialog(null);
@@ -2430,7 +2412,6 @@ public class PopupMenu extends JPopupMenu
}
-
public void enterPDB_actionPerformed()
{
String id = JOptionPane.showInternalInputDialog(Desktop.desktop,