JAL-3829 fetch 3D beacons now started by clicking button shown above the drop-down...
[jalview.git] / src / jalview / jbgui / GStructureChooser.java
index 8a72b37..ccccfb4 100644 (file)
@@ -68,6 +68,7 @@ import javax.swing.JTable;
 import javax.swing.JTextField;
 import javax.swing.ListCellRenderer;
 import javax.swing.Timer;
+import javax.swing.UIManager;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 import javax.swing.event.DocumentEvent;
@@ -120,6 +121,8 @@ public abstract class GStructureChooser extends JPanel
   protected JButton btn_newView;
 
   protected JButton btn_pdbFromFile = new JButton();
+  
+  protected JButton btn_queryTDB = new JButton();
 
   protected JCheckBox chk_superpose = new JCheckBox(
           MessageManager.getString("label.superpose_structures"));
@@ -146,6 +149,9 @@ public abstract class GStructureChooser extends JPanel
   protected ImageIcon warningImage = new ImageIcon(
           getClass().getResource("/images/warning.gif"));
 
+  protected ImageIcon tdbImage = new ImageIcon(
+          getClass().getResource("/images/3d-beacons-logo-transparent.png"));
+
   protected JLabel lbl_loading = new JLabel(loadingImage);
 
   protected JLabel lbl_pdbManualFetchStatus = new JLabel(errorImage);
@@ -337,7 +343,7 @@ public abstract class GStructureChooser extends JPanel
        {
          Point pt = e.getPoint();
          int selectedRow = tbl_summary.rowAtPoint(pt);
-         if (showPopupFor(selectedRow))
+         if (showPopupFor(selectedRow,pt.x,pt.y))
          {
            return true;
          }
@@ -575,6 +581,12 @@ public abstract class GStructureChooser extends JPanel
     });
 
     chk_invertFilter.addItemListener(this);
+    btn_queryTDB.setFont(VERDANA_12);
+    //btn_queryTDB.setPreferredSize(new Dimension(200,22));
+    btn_queryTDB.setText(MessageManager.getString("label.search_3dbeacons"));
+    btn_queryTDB.setToolTipText(MessageManager.getString("label.find_models_from_3dbeacons"));
+    btn_queryTDB.setIcon(tdbImage);
+    btn_queryTDB.setVisible(false);
 
     targetView.setVisible(false);
 
@@ -585,10 +597,13 @@ public abstract class GStructureChooser extends JPanel
     actionsPanel.add(btn_newView);
     actionsPanel.add(btn_cancel, "right");
 
-    JPanel pnl_main = new JPanel();
-    pnl_main.add(cmb_filterOption);
-    pnl_main.add(lbl_loading);
-    pnl_main.add(chk_invertFilter);
+    JPanel pnl_main = new JPanel(new BorderLayout());
+    JPanel pnl_controls = new JPanel();
+    pnl_main.add(btn_queryTDB,BorderLayout.NORTH);
+    pnl_controls.add(cmb_filterOption);
+    pnl_controls.add(lbl_loading);
+    pnl_controls.add(chk_invertFilter);
+    pnl_main.add(pnl_controls,BorderLayout.CENTER);
     lbl_loading.setVisible(false);
 
     JPanel pnl_fileChooser = new JPanel(new FlowLayout());
@@ -694,7 +709,7 @@ public abstract class GStructureChooser extends JPanel
   }
 
 
-protected abstract boolean showPopupFor(int selectedRow);
+protected abstract boolean showPopupFor(int selectedRow, int x, int y);
 protected void closeAction(int preferredHeight)
   {
     // System.out.println(">>>>>>>>>> closing internal frame!!!");