import jalview.analysis.AlignmentAnnotationUtils;
import jalview.analysis.AlignmentUtils;
import jalview.analysis.Conservation;
+import jalview.bin.Cache;
import jalview.commands.ChangeCaseCommand;
import jalview.commands.EditCommand;
import jalview.commands.EditCommand.Action;
import jalview.schemes.NucleotideColourScheme;
import jalview.schemes.PIDColourScheme;
import jalview.schemes.PurinePyrimidineColourScheme;
-import jalview.schemes.ResidueProperties;
import jalview.schemes.StrandColourScheme;
import jalview.schemes.TaylorColourScheme;
import jalview.schemes.TurnColourScheme;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Collections;
import java.util.Hashtable;
import java.util.LinkedHashMap;
*/
public class PopupMenu extends JPopupMenu
{
- private static final String ALL_ANNOTATIONS = "All";
-
- private static final String COMMA = ",";
-
JMenu groupMenu = new JMenu();
JMenuItem groupName = new JMenuItem();
JMenuItem sequenceDetails = new JMenuItem();
JMenuItem sequenceSelDetails = new JMenuItem();
-
+
JMenuItem makeReferenceSeq = new JMenuItem();
JMenuItem chooseAnnotations = new JMenuItem();
JMenu pdbMenu = new JMenu();
- JMenuItem pdbFromFile = new JMenuItem();
-
- JMenuItem enterPDB = new JMenuItem();
-
- JMenuItem discoverPDB = new JMenuItem();
-
JMenu outputMenu = new JMenu();
JMenu seqShowAnnotationsMenu = new JMenu();
* @param seq
* DOCUMENT ME!
*/
- public PopupMenu(final AlignmentPanel ap, Sequence seq, Vector links)
+ public PopupMenu(final AlignmentPanel ap, Sequence seq, List<String> links)
{
this(ap, seq, links, null);
}
* @param groupLinks
*/
public PopupMenu(final AlignmentPanel ap, final SequenceI seq,
- Vector links, Vector groupLinks)
+ List<String> links, List<String> groupLinks)
{
// /////////////////////////////////////////////////////////
// If this is activated from the sequence panel, the user may want to
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())
*/
menuItem = new JMenuItem();
menuItem.setText(MessageManager.formatMessage(
- "label.2d_rna_structure_line", new Object[]
- { aa.label }));
+ "label.2d_rna_structure_line",
+ new Object[] { aa.label }));
menuItem.addActionListener(new java.awt.event.ActionListener()
{
@Override
// 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
&& 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
if (sg != null && sg.getSize() > 0)
{
- groupName.setText(MessageManager.formatMessage("label.name_param",
- new Object[]
- { sg.getName() }));
groupName.setText(MessageManager
.getString("label.edit_name_and_description_current_group"));
if (links != null && links.size() > 0)
{
+ addFeatureLinks(seq, links);
+ }
+ }
- JMenu linkMenu = new JMenu(MessageManager.getString("action.link"));
- Vector linkset = new Vector();
- for (int i = 0; i < links.size(); i++)
- {
- String link = links.elementAt(i).toString();
- UrlLink urlLink = null;
- try
- {
- urlLink = new UrlLink(link);
- } catch (Exception foo)
- {
- jalview.bin.Cache.log.error("Exception for URLLink '" + link
- + "'", foo);
- continue;
- }
- ;
- if (!urlLink.isValid())
- {
- jalview.bin.Cache.log.error(urlLink.getInvalidMessage());
- continue;
- }
- final String label = urlLink.getLabel();
- if (seq != null && urlLink.isDynamic())
- {
-
- // collect matching db-refs
- DBRefEntry[] dbr = jalview.util.DBRefUtils.selectRefs(
- seq.getDBRef(), new String[]
- { urlLink.getTarget() });
- // collect id string too
- String id = seq.getName();
- String descr = seq.getDescription();
- if (descr != null && descr.length() < 1)
- {
- descr = null;
- }
+ /**
+ * Adds a 'Link' menu item with a sub-menu item for each hyperlink provided.
+ *
+ * @param seq
+ * @param links
+ */
+ void addFeatureLinks(final SequenceI seq, List<String> links)
+ {
+ JMenu linkMenu = new JMenu(MessageManager.getString("action.link"));
+ Map<String, List<String>> linkset = new LinkedHashMap<String, List<String>>();
- if (dbr != null)
- {
- for (int r = 0; r < dbr.length; r++)
- {
- if (id != null && dbr[r].getAccessionId().equals(id))
- {
- // suppress duplicate link creation for the bare sequence ID
- // string with this link
- id = null;
- }
- // create Bare ID link for this RUL
- String[] urls = urlLink.makeUrls(dbr[r].getAccessionId(),
- true);
- if (urls != null)
- {
- for (int u = 0; u < urls.length; u += 2)
- {
- if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
- {
- linkset.addElement(urls[u] + "|" + urls[u + 1]);
- addshowLink(linkMenu, label + "|" + urls[u],
- urls[u + 1]);
- }
- }
- }
- }
- }
- if (id != null)
- {
- // create Bare ID link for this RUL
- String[] urls = urlLink.makeUrls(id, true);
- if (urls != null)
- {
- for (int u = 0; u < urls.length; u += 2)
- {
- if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
- {
- linkset.addElement(urls[u] + "|" + urls[u + 1]);
- addshowLink(linkMenu, label, urls[u + 1]);
- }
- }
- }
- }
- // Create urls from description but only for URL links which are regex
- // links
- if (descr != null && urlLink.getRegexReplace() != null)
- {
- // create link for this URL from description where regex matches
- String[] urls = urlLink.makeUrls(descr, true);
- if (urls != null)
- {
- for (int u = 0; u < urls.length; u += 2)
- {
- if (!linkset.contains(urls[u] + "|" + urls[u + 1]))
- {
- linkset.addElement(urls[u] + "|" + urls[u + 1]);
- addshowLink(linkMenu, label, urls[u + 1]);
- }
- }
- }
- }
- }
- else
- {
- if (!linkset.contains(label + "|" + urlLink.getUrl_prefix()))
- {
- linkset.addElement(label + "|" + urlLink.getUrl_prefix());
- // Add a non-dynamic link
- addshowLink(linkMenu, label, urlLink.getUrl_prefix());
- }
- }
- }
- if (sequence != null)
+ for (String link : links)
+ {
+ UrlLink urlLink = null;
+ try
+ {
+ urlLink = new UrlLink(link);
+ } catch (Exception foo)
{
- sequenceMenu.add(linkMenu);
+ Cache.log.error("Exception for URLLink '" + link + "'", foo);
+ continue;
}
- else
+
+ if (!urlLink.isValid())
{
- add(linkMenu);
+ Cache.log.error(urlLink.getInvalidMessage());
+ continue;
}
+
+ urlLink.createLinksFromSeq(seq, linkset);
+ }
+
+ addshowLinks(linkMenu, linkset.values());
+
+ // disable link menu if there are no valid entries
+ if (linkMenu.getItemCount() > 0)
+ {
+ linkMenu.setEnabled(true);
+ }
+ else
+ {
+ linkMenu.setEnabled(false);
+ }
+
+ if (sequence != null)
+ {
+ sequenceMenu.add(linkMenu);
+ }
+ else
+ {
+ add(linkMenu);
}
+
}
+
+
/**
* Add annotation types to 'Show annotations' and/or 'Hide annotations' menus.
* "All" is added first, followed by a separator. Then add any annotation
showMenu.removeAll();
hideMenu.removeAll();
- final List<String> all = Arrays.asList(ALL_ANNOTATIONS);
+ final List<String> all = Arrays.asList(new String[] { MessageManager
+ .getString("label.all") });
addAnnotationTypeToShowHide(showMenu, forSequences, "", all, true, true);
addAnnotationTypeToShowHide(hideMenu, forSequences, "", all, true,
false);
*/
Map<String, List<List<String>>> shownTypes = new LinkedHashMap<String, List<List<String>>>();
Map<String, List<List<String>>> hiddenTypes = new LinkedHashMap<String, List<List<String>>>();
- AlignmentAnnotationUtils.getShownHiddenTypes(shownTypes,
- hiddenTypes,
- AlignmentAnnotationUtils.asList(annotations),
- forSequences);
+ AlignmentAnnotationUtils.getShownHiddenTypes(shownTypes, hiddenTypes,
+ AlignmentAnnotationUtils.asList(annotations), forSequences);
for (String calcId : hiddenTypes.keySet())
{
for (List<String> 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
{
for (List<String> 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
@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<String> groupLinks)
{
// TODO: usability: thread off the generation of group url content so root
// ID/regex match URLs
groupLinksMenu = new JMenu(
MessageManager.getString("action.group_link"));
- JMenu[] linkMenus = new JMenu[]
- { null, new JMenu(MessageManager.getString("action.ids")),
+ // three types of url that might be created.
+ 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
- // of url
- // that
- // might
- // be
- // created.
+ new JMenu(MessageManager.getString("action.ids_sequences")) };
+
SequenceI[] seqs = ap.av.getSelectionAsNewSequence();
String[][] idandseqs = GroupUrlLink.formStrings(seqs);
- Hashtable commonDbrefs = new Hashtable();
+ Hashtable<String, Object[]> commonDbrefs = new Hashtable<String, Object[]>();
for (int sq = 0; sq < seqs.length; sq++)
{
{
sqi = sqi.getDatasetSequence();
}
- DBRefEntry[] dbr = sqi.getDBRef();
+ DBRefEntry[] dbr = sqi.getDBRefs();
if (dbr != null && dbr.length > 0)
{
for (int d = 0; d < dbr.length; d++)
{
String src = dbr[d].getSource(); // jalview.util.DBRefUtils.getCanonicalName(dbr[d].getSource()).toUpperCase();
- Object[] sarray = (Object[]) commonDbrefs.get(src);
+ Object[] sarray = commonDbrefs.get(src);
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);
// now create group links for all distinct ID/sequence sets.
boolean addMenu = false; // indicates if there are any group links to give
// to user
- for (int i = 0; i < groupLinks.size(); i++)
+ for (String link : groupLinks)
{
- String link = groupLinks.elementAt(i).toString();
GroupUrlLink urlLink = null;
try
{
urlLink = new GroupUrlLink(link);
} catch (Exception foo)
{
- jalview.bin.Cache.log.error("Exception for GroupURLLink '" + link
- + "'", foo);
+ Cache.log.error("Exception for GroupURLLink '" + link + "'", foo);
continue;
}
;
if (!urlLink.isValid())
{
- jalview.bin.Cache.log.error(urlLink.getInvalidMessage());
+ Cache.log.error(urlLink.getInvalidMessage());
continue;
}
final String label = urlLink.getLabel();
boolean usingNames = false;
// Now see which parts of the group apply for this URL
String ltarget = urlLink.getTarget(); // jalview.util.DBRefUtils.getCanonicalName(urlLink.getTarget());
- Object[] idset = (Object[]) commonDbrefs.get(ltarget.toUpperCase());
+ Object[] idset = commonDbrefs.get(ltarget.toUpperCase());
String[] seqstr, ids; // input to makeUrl
if (idset != null)
{
}
}
+ private void addshowLinks(JMenu linkMenu, Collection<List<String>> linkset)
+ {
+ for (List<String> linkstrset : linkset)
+ {
+ // split linkstr into label and url
+ addshowLink(linkMenu, linkstrset.get(1), linkstrset.get(3));
+ }
+ }
+
/**
* add a show URL menu item to the given linkMenu
*
{
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
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()
+ item.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
try
{
showLink(urlgenerator.constructFrom(urlstub));
- } catch (UrlStringTooLongException e)
+ } catch (UrlStringTooLongException e2)
{
}
}
*/
private void jbInit() throws Exception
{
- groupMenu.setText(MessageManager.getString("label.group"));
groupMenu.setText(MessageManager.getString("label.selection"));
groupName.setText(MessageManager.getString("label.name"));
groupName.addActionListener(new java.awt.event.ActionListener()
}
});
chooseAnnotations.setText(MessageManager
- .getString("label.choose_annotations") + "...");
+ .getString("action.choose_annotations"));
chooseAnnotations.addActionListener(new java.awt.event.ActionListener()
{
@Override
}
});
sequenceDetails.setText(MessageManager
- .getString("label.sequence_details") + "...");
+ .getString("label.sequence_details"));
sequenceDetails.addActionListener(new java.awt.event.ActionListener()
{
@Override
}
});
sequenceSelDetails.setText(MessageManager
- .getString("label.sequence_details") + "...");
+ .getString("label.sequence_details"));
sequenceSelDetails
.addActionListener(new java.awt.event.ActionListener()
{
changeCase(e);
}
});
- pdbMenu.setText(MessageManager
- .getString("label.associate_structure_with_sequence"));
- pdbFromFile.setText(MessageManager.getString("label.from_file"));
- pdbFromFile.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- pdbFromFile_actionPerformed();
- }
- });
-
- enterPDB.setText(MessageManager.getString("label.enter_pdb_id"));
- enterPDB.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- enterPDB_actionPerformed();
- }
- });
- discoverPDB.setText(MessageManager.getString("label.discover_pdb_ids"));
- discoverPDB.addActionListener(new ActionListener()
- {
- @Override
- public void actionPerformed(ActionEvent e)
- {
- discoverPDB_actionPerformed();
- }
- });
outputMenu.setText(MessageManager.getString("label.out_to_textbox")
+ "...");
seqShowAnnotationsMenu.setText(MessageManager
@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();
.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()
{
add(sequenceMenu);
add(rnaStructureMenu);
add(pdbStructureDialog);
- if (sequence!=null)
+ if (sequence != null)
{
add(hideInsertions);
}
editMenu.add(upperCase);
editMenu.add(lowerCase);
editMenu.add(toggle);
- pdbMenu.add(pdbFromFile);
// JBPNote: These shouldn't be added here - should appear in a generic
// 'apply web service to this sequence menu'
// pdbMenu.add(RNAFold);
// pdbMenu.add(ContraFold);
- pdbMenu.add(enterPDB);
- pdbMenu.add(discoverPDB);
jMenu1.add(groupName);
jMenu1.add(colourMenu);
jMenu1.add(showBoxes);
* @param menuItem
* @param forSequences
*/
- protected void configureReferenceAnnotationsMenu(
- JMenuItem menuItem, List<SequenceI> forSequences)
+ protected void configureReferenceAnnotationsMenu(JMenuItem menuItem,
+ List<SequenceI> forSequences)
{
menuItem.setEnabled(false);
}
refresh();
}
+
protected void sequenceSelectionDetails_actionPerformed()
{
createSequenceDetailsReport(ap.av.getSequenceSelection());
protected void sequenceDetails_actionPerformed()
{
- createSequenceDetailsReport(new SequenceI[]
- { sequence });
+ createSequenceDetailsReport(new SequenceI[] { sequence });
}
public void createSequenceDetailsReport(SequenceI[] sequences)
{
CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
- StringBuffer contents = new StringBuffer();
+ StringBuilder contents = new StringBuilder(128);
for (SequenceI seq : sequences)
{
contents.append("<p><h2>"
+ MessageManager
.formatMessage(
"label.create_sequence_details_report_annotation_for",
- new Object[]
- { seq.getDisplayId(true) }) + "</h2></p><p>");
+ new Object[] { seq.getDisplayId(true) })
+ + "</h2></p><p>");
new SequenceAnnotationReport(null)
.createSequenceAnnotationReport(
contents,
seq,
true,
true,
- false,
(ap.getSeqPanel().seqCanvas.fr != null) ? ap
- .getSeqPanel().seqCanvas.fr
- .getMinMax()
+ .getSeqPanel().seqCanvas.fr.getMinMax()
: null);
contents.append("</p>");
}
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);
}
if (conservationMenuItem.isSelected())
{
// JBPNote: Conservation name shouldn't be i18n translated
- Conservation c = new Conservation("Group",
- ResidueProperties.propHash, 3, sg.getSequences(ap.av
- .getHiddenRepSequences()), sg.getStartRes(),
+ Conservation c = new Conservation("Group", sg.getSequences(ap.av
+ .getHiddenRepSequences()), sg.getStartRes(),
sg.getEndRes() + 1);
c.calculate();
{
if (dialog.getName().indexOf(" ") > -1)
{
- JOptionPane
+ JvOptionPane
.showMessageDialog(
ap,
MessageManager
.getString("label.spaces_converted_to_backslashes"),
MessageManager
.getString("label.no_spaces_allowed_sequence_name"),
- JOptionPane.WARNING_MESSAGE);
+ JvOptionPane.WARNING_MESSAGE);
}
sequence.setName(dialog.getName().replace(' ', '_'));
jalview.util.BrowserLauncher.openURL(url);
} catch (Exception ex)
{
- JOptionPane.showInternalMessageDialog(Desktop.desktop,
+ JvOptionPane.showInternalMessageDialog(Desktop.desktop,
MessageManager.getString("label.web_browser_not_found_unix"),
MessageManager.getString("label.web_browser_not_found"),
- JOptionPane.WARNING_MESSAGE);
+ JvOptionPane.WARNING_MESSAGE);
ex.printStackTrace();
}
void hideSequences(boolean representGroup)
{
- SequenceGroup sg = ap.av.getSelectionGroup();
- if (sg == null || sg.getSize() < 1)
- {
- ap.av.hideSequence(new SequenceI[]
- { sequence });
- return;
- }
-
- ap.av.setSelectionGroup(null);
-
- if (representGroup)
- {
- ap.av.hideRepSequences(sequence, sg);
-
- return;
- }
-
- int gsize = sg.getSize();
- SequenceI[] hseqs = sg.getSequences().toArray(new SequenceI[gsize]);
-
- ap.av.hideSequence(hseqs);
- // refresh(); TODO: ? needed ?
- ap.av.sendSelection();
+ ap.av.hideSequences(sequence, representGroup);
}
public void copy_actionPerformed()
if (sg != null)
{
List<int[]> startEnd = ap.av.getVisibleRegionBoundaries(
- sg.getStartRes(),
- sg.getEndRes() + 1);
+ sg.getStartRes(), sg.getEndRes() + 1);
String description;
int caseChange;
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;
ap, true));
}
- public void pdbFromFile_actionPerformed()
- {
- jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(
- 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) }));
- chooser.setToolTipText(MessageManager.formatMessage(
- "label.load_pdb_file_associate_with_sequence", new Object[]
- { sequence.getDisplayId(false) }));
-
- int value = chooser.showOpenDialog(null);
-
- if (value == jalview.io.JalviewFileChooser.APPROVE_OPTION)
- {
- String choice = chooser.getSelectedFile().getPath();
- jalview.bin.Cache.setProperty("LAST_DIRECTORY", choice);
- new AssociatePdbFileWithSeq().associatePdbWithSeq(choice,
- jalview.io.AppletFormatAdapter.FILE, sequence, true,
- Desktop.instance);
- }
-
- }
-
-
- public void enterPDB_actionPerformed()
- {
- String id = JOptionPane.showInternalInputDialog(Desktop.desktop,
- MessageManager.getString("label.enter_pdb_id"),
- MessageManager.getString("label.enter_pdb_id"),
- JOptionPane.QUESTION_MESSAGE);
-
- if (id != null && id.length() > 0)
- {
- PDBEntry entry = new PDBEntry();
- entry.setId(id.toUpperCase());
- sequence.getDatasetSequence().addPDBId(entry);
- }
- }
-
- public void discoverPDB_actionPerformed()
- {
-
- final SequenceI[] sequences = ((ap.av.getSelectionGroup() == null) ? new SequenceI[]
- { sequence }
- : ap.av.getSequenceSelection());
- Thread discpdb = new Thread(new Runnable()
- {
- @Override
- public void run()
- {
-
- new jalview.ws.DBRefFetcher(sequences, ap.alignFrame)
- .fetchDBRefs(false);
- }
-
- });
- discpdb.start();
- }
-
public void sequenceFeature_actionPerformed()
{
SequenceGroup sg = ap.av.getSelectionGroup();