X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fjbgui%2FGStructureChooser.java;h=67b3a207b49a8a7a52fff24bec9bfe728861c1e1;hb=df7802fdd54e7d3b12bda12ac55e6057c985bdf2;hp=c4043c49539d80c6d1b6dd5993b1d47ca759d07e;hpb=4d7f98a6dd54d9863ba449ec79dcd95d25ed863d;p=jalview.git diff --git a/src/jalview/jbgui/GStructureChooser.java b/src/jalview/jbgui/GStructureChooser.java index c4043c4..67b3a20 100644 --- a/src/jalview/jbgui/GStructureChooser.java +++ b/src/jalview/jbgui/GStructureChooser.java @@ -37,6 +37,8 @@ import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.Arrays; @@ -162,7 +164,7 @@ public abstract class GStructureChooser extends JPanel implements toolTipText = getValueAt(rowIndex, colIndex).toString(); } catch (Exception e) { - e.printStackTrace(); + // e.printStackTrace(); } toolTipText = (toolTipText == null ? null : (toolTipText.length() > 500 ? JvSwingUtils.wrapTooltip( @@ -209,21 +211,104 @@ public abstract class GStructureChooser extends JPanel implements { tbl_summary.setAutoCreateRowSorter(true); tbl_summary.getTableHeader().setReorderingAllowed(false); + tbl_summary.addMouseListener(new MouseAdapter() + { + public void mouseClicked(MouseEvent e) + { + validateSelections(); + } + + public void mouseReleased(MouseEvent e) + { + validateSelections(); + } + }); + tbl_summary.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent evt) + { + validateSelections(); + switch (evt.getKeyCode()) + { + case KeyEvent.VK_ESCAPE: // escape key + mainFrame.dispose(); + break; + case KeyEvent.VK_ENTER: // enter key + if (btn_view.isEnabled()) + { + ok_ActionPerformed(); + } + break; + case KeyEvent.VK_TAB: // tab key + if (evt.isShiftDown()) + { + pnl_filter.requestFocus(); + } + else + { + btn_view.requestFocus(); + } + evt.consume(); + break; + default: + return; + } + } + }); tbl_local_pdb.setAutoCreateRowSorter(true); tbl_local_pdb.getTableHeader().setReorderingAllowed(false); tbl_local_pdb.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { - updateCurrentView(); + validateSelections(); } public void mouseReleased(MouseEvent e) { - updateCurrentView(); + validateSelections(); + } + }); + tbl_local_pdb.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent evt) + { + validateSelections(); + switch (evt.getKeyCode()) + { + case KeyEvent.VK_ESCAPE: // escape key + mainFrame.dispose(); + break; + case KeyEvent.VK_ENTER: // enter key + if (btn_view.isEnabled()) + { + ok_ActionPerformed(); + } + break; + case KeyEvent.VK_TAB: // tab key + if (evt.isShiftDown()) + { + cmb_filterOption.requestFocus(); + } + else + { + if (btn_view.isEnabled()) + { + btn_view.requestFocus(); + } + else + { + btn_cancel.requestFocus(); + } + } + evt.consume(); + default: + return; + } } }); - btn_view.setFont(new java.awt.Font("Verdana", 0, 12)); btn_view.setText(MessageManager.getString("action.view")); btn_view.addActionListener(new java.awt.event.ActionListener() @@ -233,6 +318,18 @@ public abstract class GStructureChooser extends JPanel implements ok_ActionPerformed(); } }); + btn_view.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent evt) + { + if (evt.getKeyCode() == KeyEvent.VK_ENTER) + { + ok_ActionPerformed(); + } + } + }); + btn_cancel.setFont(new java.awt.Font("Verdana", 0, 12)); btn_cancel.setText(MessageManager.getString("action.cancel")); btn_cancel.addActionListener(new java.awt.event.ActionListener() @@ -242,6 +339,17 @@ public abstract class GStructureChooser extends JPanel implements mainFrame.dispose(); } }); + btn_cancel.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent evt) + { + if (evt.getKeyCode() == KeyEvent.VK_ENTER) + { + mainFrame.dispose(); + } + } + }); btn_pdbFromFile.setFont(new java.awt.Font("Verdana", 0, 12)); String btn_title = MessageManager.getString("label.select_pdb_file"); @@ -253,6 +361,17 @@ public abstract class GStructureChooser extends JPanel implements pdbFromFile_actionPerformed(); } }); + btn_pdbFromFile.addKeyListener(new KeyAdapter() + { + @Override + public void keyPressed(KeyEvent evt) + { + if (evt.getKeyCode() == KeyEvent.VK_ENTER) + { + pdbFromFile_actionPerformed(); + } + } + }); scrl_foundStructures.setPreferredSize(new Dimension(500, 300)); scrl_foundStructures