+ ap.repaint();\r
+ }\r
+\r
+ void insertGapAtCursor(boolean group)\r
+ {\r
+ ap.alignFrame.addHistoryItem(new HistoryItem("Edit Sequence",\r
+ av.alignment, HistoryItem.EDIT));\r
+ groupEditing = group;\r
+ startseq = seqCanvas.cursorY;\r
+ lastres = seqCanvas.cursorX;\r
+ editSequence(true, seqCanvas.cursorX+getKeyboardNo(keyboardNo1));\r
+ editOccurred();\r
+ }\r
+\r
+ void deleteGapAtCursor(boolean group)\r
+ {\r
+ ap.alignFrame.addHistoryItem(new HistoryItem("Edit Sequence",\r
+ av.alignment, HistoryItem.EDIT));\r
+ groupEditing = group;\r
+ startseq = seqCanvas.cursorY;\r
+ lastres = seqCanvas.cursorX+getKeyboardNo(keyboardNo1);\r
+ editSequence(false, seqCanvas.cursorX);\r
+ editOccurred();\r
+ }\r
+\r
+ void numberPressed(char value)\r
+ {\r
+ if(keyboardNo1==null)\r
+ keyboardNo1 = new StringBuffer();\r
+\r
+ if(keyboardNo2!=null)\r
+ keyboardNo2.append(value);\r
+ else\r
+ keyboardNo1.append(value);\r
+ }\r
+\r
+ int getKeyboardNo(StringBuffer kb)\r
+ {\r
+ if(kb==null)\r
+ return 1;\r
+ else\r
+ return Integer.parseInt(kb.toString());\r
+ }\r
+\r
+ void setStatusMessage(SequenceI sequence, int res, int seq)\r
+ {\r
+ StringBuffer text = new StringBuffer("Sequence " + (seq + 1) + " ID: " +\r
+ sequence.getName());\r
+\r
+ Object obj = null;\r
+ if (av.alignment.isNucleotide())\r
+ {\r
+ obj = ResidueProperties.nucleotideName.get(sequence.getCharAt(res) +\r
+ "");\r
+ if (obj != null)\r
+ text.append(" Nucleotide: ");\r
+ }\r
+ else\r
+ {\r
+ obj = ResidueProperties.aa2Triplet.get(sequence.getCharAt(res) + "");\r
+ if (obj != null)\r
+ text.append(" Residue: ");\r
+ }\r
+\r
+ if (obj != null)\r
+ {\r
+\r
+ if (obj != "")\r
+ {\r
+ text.append(obj + " (" + sequence.findPosition(res) +\r
+ ")");\r
+ }\r
+ }\r
+\r
+ ap.alignFrame.statusBar.setText(text.toString());\r
+\r
+ }\r
+ public void mousePressed(MouseEvent evt)\r
+ {\r
+ lastMousePress = evt.getPoint();\r
+\r
+ if ( (evt.getModifiers() & InputEvent.BUTTON2_MASK) ==\r
+ InputEvent.BUTTON2_MASK)\r
+ {\r
+ mouseWheelPressed = true;\r
+ return;\r
+ }\r
+\r
+ if (evt.isShiftDown() || evt.isAltDown() ||\r
+ evt.isControlDown())\r
+ {\r
+ if (evt.isAltDown() || evt.isControlDown())\r
+ {\r
+ groupEditing = true;\r
+ }\r
+ editingSeqs = true;\r
+ }\r
+ else\r
+ {\r
+ doMousePressedDefineMode(evt);\r
+ return;\r
+ }\r
+\r
+\r
+ int seq = findSeq(evt);\r
+ int res = findRes(evt);\r
+\r
+ if(seq<0 || res<0)\r
+ return;\r
+\r
+ ap.alignFrame.addHistoryItem(new HistoryItem("Edit Sequence",\r
+ av.alignment, HistoryItem.EDIT));\r
+\r
+ if ((seq < av.getAlignment().getHeight()) &&\r
+ (res < av.getAlignment().getSequenceAt(seq).getLength()))\r
+ {\r
+ startseq = seq;\r
+ lastres = res;\r
+ }\r
+ else\r
+ {\r
+ startseq = -1;\r
+ lastres = -1;\r
+ }\r
+\r
+ return;\r
+ }\r
+\r
+ public void mouseClicked(MouseEvent evt){}\r