From: Jim Procter Date: Fri, 1 Oct 2021 09:35:08 +0000 (+0100) Subject: Merge branch 'develop' into features/r2_11_2/JAL-3829_3dbeacons X-Git-Tag: Release_2_11_2_0~30^2^2~1 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=4a442497ab857be0bf62e080f8461dbdc05fb49b;hp=-c;p=jalview.git Merge branch 'develop' into features/r2_11_2/JAL-3829_3dbeacons --- 4a442497ab857be0bf62e080f8461dbdc05fb49b diff --combined src/jalview/gui/StructureChooser.java index 4807489,f774c07..3ecca9b --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@@ -21,23 -21,19 +21,23 @@@ package jalview.gui; -import java.util.Locale; - +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; +import java.util.Locale; import java.util.concurrent.Executors; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JLabel; +import javax.swing.JMenu; +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; import javax.swing.JTable; import javax.swing.SwingUtilities; import javax.swing.table.AbstractTableModel; @@@ -54,7 -50,6 +54,7 @@@ import jalview.fts.core.FTSDataColumnPr import jalview.fts.core.FTSRestRequest; import jalview.fts.core.FTSRestResponse; import jalview.fts.service.pdb.PDBFTSRestClient; +import jalview.fts.service.threedbeacons.TDB_FTSData; import jalview.gui.structurechooser.PDBStructureChooserQuerySource; import jalview.gui.structurechooser.StructureChooserQuerySource; import jalview.gui.structurechooser.ThreeDBStructureChooserQuerySource; @@@ -247,13 -242,19 +247,19 @@@ public class StructureChooser extends G @Override public void run() { + progressBar.setProgressBar("status.searching_3d_beacons", progressId); // TODO: warn if no accessions discovered populateSeqsWithoutSourceDBRef(); // redo initial discovery - this time with 3d beacons // Executors. previousWantedFields=null; - initialStructureDiscovery(); + if (!isStructuresDiscovered()) + { + progressBar.setProgressBar("status.no_structures_discovered_from_3d_beacons", progressId); + } else { + progressBar.setProgressBar(null, progressId); + } } }; @@@ -798,38 -799,6 +804,38 @@@ .setEnabled(selectedCount > 1 || targetView.getItemCount() > 0); } + @Override + protected boolean showPopupFor(int selectedRow, int x, int y) + { + FilterOption selectedFilterOpt = ((FilterOption) cmb_filterOption + .getSelectedItem()); + String currentView = selectedFilterOpt.getView(); + + if (currentView == VIEWS_FILTER && data instanceof ThreeDBStructureChooserQuerySource) + { + + TDB_FTSData row=((ThreeDBStructureChooserQuerySource)data).getFTSDataFor(getResultTable(), selectedRow, discoveredStructuresSet); + String pageUrl = row.getModelViewUrl(); + JPopupMenu popup = new JPopupMenu("3D Beacons"); + JMenuItem viewUrl = new JMenuItem("View model web page"); + viewUrl.addActionListener( + new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) + { + Desktop.showUrl(pageUrl); + } + } + ); + popup.add(viewUrl); + SwingUtilities.invokeLater(new Runnable() { + public void run() { popup.show(getResultTable(), x, y); } + }); + return true; + } + // event not handled by us + return false; + } /** * Validates inputs from the Manual PDB entry panel */