- addComponentListener(new ComponentAdapter()\r
- {\r
- public void componentResized(ComponentEvent evt)\r
- {\r
- RefreshPanels();\r
- }\r
- });\r
-\r
- setFocusable(true);\r
- addKeyListener(new KeyAdapter()\r
- {\r
- public void keyPressed(KeyEvent evt)\r
- {\r
- switch(evt.getKeyCode())\r
- {\r
- case 27: // escape key\r
- av.setSelectionGroup(null);\r
- RefreshPanels();\r
- break;\r
- case KeyEvent.VK_X:\r
- alignFrame.cut_actionPerformed(null);\r
- break;\r
- case KeyEvent.VK_C:\r
- alignFrame.copy_actionPerformed(null);\r
- break;\r
- case KeyEvent.VK_V:\r
- alignFrame.paste(true);\r
- break;\r
- case KeyEvent.VK_A:\r
- alignFrame.selectAllSequenceMenuItem_actionPerformed(null);\r
+ af.addKeyListener(new KeyAdapter()\r
+ {\r
+ public void keyPressed(KeyEvent evt)\r
+ {\r
+ if(av.cursorMode\r
+ && evt.getKeyCode()>=KeyEvent.VK_0\r
+ && evt.getKeyCode()<=KeyEvent.VK_9)\r
+ {\r
+ seqPanel.numberPressed(evt.getKeyChar());\r
+ }\r
+\r
+ switch (evt.getKeyCode())\r
+ {\r
+ case 27: // escape key\r
+ alignFrame.deselectAllSequenceMenuItem_actionPerformed(null);\r
+\r
+ break;\r
+\r
+ case KeyEvent.VK_DOWN:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.moveCursor(0,1);\r
+ }\r
+ else\r
+ alignFrame.moveSelectedSequences(false);\r
+ break;\r
+\r
+ case KeyEvent.VK_UP:\r
+ if (av.cursorMode)\r
+ {\r
+ seqPanel.moveCursor(0,-1);\r
+ }\r
+ else\r
+ alignFrame.moveSelectedSequences(true);\r
+ break;\r
+\r
+ case KeyEvent.VK_LEFT:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.moveCursor(-1,0);\r
+ }\r
+ break;\r
+\r
+ case KeyEvent.VK_RIGHT:\r
+ if (av.cursorMode)\r
+ {\r
+ seqPanel.moveCursor(1,0);\r
+ }\r
+ break;\r
+\r
+ case KeyEvent.VK_SPACE:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.insertGapAtCursor(evt.isControlDown() || evt.isShiftDown());\r
+ }\r
+ break;\r
+\r
+ case KeyEvent.VK_DELETE:\r
+ case KeyEvent.VK_BACK_SPACE:\r
+ if(!av.cursorMode)\r
+ {\r
+ alignFrame.cut_actionPerformed(null);\r
+ }\r
+ else\r
+ seqPanel.deleteGapAtCursor(evt.isControlDown() || evt.isShiftDown());\r
+\r
+ break;\r
+\r
+ case KeyEvent.VK_S:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.setCursorRow();\r
+ }\r
+ break;\r
+ case KeyEvent.VK_C:\r
+ if(av.cursorMode && !evt.isControlDown())\r
+ {\r
+ seqPanel.setCursorColumn();\r
+ }\r
+ break;\r
+ case KeyEvent.VK_P:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.setCursorPosition();\r
+ }\r
+ break;\r
+\r
+ case KeyEvent.VK_ENTER:\r
+ case KeyEvent.VK_COMMA:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.setCursorRowAndColumn();\r
+ }\r
+ break;\r
+\r
+ case KeyEvent.VK_Q:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.setSelectionAreaAtCursor(true);\r
+ }\r
+ break;\r
+ case KeyEvent.VK_M:\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.setSelectionAreaAtCursor(false);\r
+ }\r
+ break;\r
+\r
+ case KeyEvent.VK_F2:\r
+ av.cursorMode = ! av.cursorMode;\r
+ alignFrame.statusBar.setText("Keyboard editing mode is "+\r
+ (av.cursorMode ? "on" : "off"));\r
+ if(av.cursorMode)\r
+ {\r
+ seqPanel.seqCanvas.cursorX = av.startRes;\r
+ seqPanel.seqCanvas.cursorY = av.startSeq;\r
+ }\r
+ seqPanel.seqCanvas.repaint();\r