+ addAlignmentPanel(newap, false);
+
+ tabbedPane.setSelectedIndex(tabbedPane.getTabCount()-1);
+
+ }
+ break;
+ case KeyEvent.VK_G:
+ Desktop.instance.gatherViews(af);
+ break;
+
+ case KeyEvent.VK_X:
+ if (!evt.isControlDown())
+ {
+ Desktop.instance.explodeViews(af);
+ }
+ break;
+
+
+ case 27: // escape key
+ deselectAllSequenceMenuItem_actionPerformed(null);
+
+ break;
+
+ case KeyEvent.VK_DOWN:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.moveCursor(0, 1);
+ }
+ else
+ moveSelectedSequences(false);
+ break;
+
+ case KeyEvent.VK_UP:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.moveCursor(0, -1);
+ }
+ else
+ moveSelectedSequences(true);
+ break;
+
+ case KeyEvent.VK_LEFT:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.moveCursor( -1, 0);
+ }
+ break;
+
+ case KeyEvent.VK_RIGHT:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.moveCursor(1, 0);
+ }
+ break;
+
+ case KeyEvent.VK_SPACE:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.insertGapAtCursor(evt.isControlDown()
+ || evt.isShiftDown()
+ || evt.isAltDown());
+ }
+ break;
+
+ case KeyEvent.VK_DELETE:
+ case KeyEvent.VK_BACK_SPACE:
+ if (!viewport.cursorMode)
+ {
+ cut_actionPerformed(null);
+ }
+ else
+ alignPanel.seqPanel.deleteGapAtCursor(evt.isControlDown()
+ || evt.isShiftDown()
+ || evt.isAltDown());
+
+ break;
+
+ case KeyEvent.VK_S:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setCursorRow();
+ }
+ break;
+ case KeyEvent.VK_C:
+ if (viewport.cursorMode && !evt.isControlDown())
+ {
+ alignPanel.seqPanel.setCursorColumn();
+ }
+ break;
+ case KeyEvent.VK_P:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setCursorPosition();
+ }
+ break;
+
+ case KeyEvent.VK_ENTER:
+ case KeyEvent.VK_COMMA:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setCursorRowAndColumn();
+ }
+ break;
+
+ case KeyEvent.VK_Q:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setSelectionAreaAtCursor(true);
+ }
+ break;
+ case KeyEvent.VK_M:
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.setSelectionAreaAtCursor(false);
+ }
+ break;
+
+ case KeyEvent.VK_F2:
+ viewport.cursorMode = !viewport.cursorMode;
+ statusBar.setText("Keyboard editing mode is " +
+ (viewport.cursorMode ? "on" : "off"));
+ if (viewport.cursorMode)
+ {
+ alignPanel.seqPanel.seqCanvas.cursorX = viewport.startRes;
+ alignPanel.seqPanel.seqCanvas.cursorY = viewport.startSeq;
+ }
+ alignPanel.seqPanel.seqCanvas.repaint();
+ break;
+
+ case KeyEvent.VK_F1:
+ try
+ {
+ ClassLoader cl = jalview.gui.Desktop.class.getClassLoader();
+ java.net.URL url = javax.help.HelpSet.findHelpSet(cl, "help/help");
+ javax.help.HelpSet hs = new javax.help.HelpSet(cl, url);
+
+ javax.help.HelpBroker hb = hs.createHelpBroker();
+ hb.setCurrentID("home");
+ hb.setDisplayed(true);
+ }
+ catch (Exception ex)
+ {
+ ex.printStackTrace();
+ }
+ break
+ ;
+ case KeyEvent.VK_H:
+ {
+ boolean toggleSeqs = !evt.isControlDown();
+ boolean toggleCols = !evt.isShiftDown();