X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FStructureChooser.java;h=4807489bb965e7fc44f7f17b73ca9479fd9ec53b;hb=27dc4596d13971e00f04578d469c5e3eb604757f;hp=694b0639043d4309544a69e3a2959c3aa79c5c7e;hpb=952e3b4aee0c37d530165ebf91fc4da6255e9b50;p=jalview.git diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 694b063..4807489 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -37,6 +37,7 @@ 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; @@ -798,25 +799,18 @@ public class StructureChooser extends GStructureChooser } @Override - protected boolean showPopupFor(int selectedRow) + 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=null; - int i=1; - for (FTSData el:discoveredStructuresSet) { - if (i==selectedRow) { - row = (TDB_FTSData) el; - break; - } - i++; - } + TDB_FTSData row=((ThreeDBStructureChooserQuerySource)data).getFTSDataFor(getResultTable(), selectedRow, discoveredStructuresSet); String pageUrl = row.getModelViewUrl(); - JMenu popup = new JMenu("3D Beacons"); + JPopupMenu popup = new JPopupMenu("3D Beacons"); JMenuItem viewUrl = new JMenuItem("View model web page"); viewUrl.addActionListener( new ActionListener() { @@ -829,7 +823,7 @@ public class StructureChooser extends GStructureChooser ); popup.add(viewUrl); SwingUtilities.invokeLater(new Runnable() { - public void run() { popup.setVisible(true); } + public void run() { popup.show(getResultTable(), x, y); } }); return true; }