- insertChar(j,startseq);\r
- }\r
- drawChars(startseq,startseq+1,lastres);\r
-\r
- } else if (res < align.getWidth() && res < lastres) {\r
-\r
- // dragging to the left\r
- for (int j = res; j < lastres; j++) {\r
- deleteChar(j,res,startseq);\r
- startres = res;\r
- }\r
- drawChars(startseq,startseq+1,res);\r
- }\r
- }\r
+ if ((res < av.getAlignment().getWidth()) && (res > lastres))\r
+ {\r
+ // dragging to the right\r
+ for (int j = lastres; j < res; j++)\r
+ {\r
+ insertChar(j, startseq);\r
+ }\r
+ }\r
+ else if ((res < av.getAlignment().getWidth()) &&\r
+ (res < lastres))\r
+ {\r
+ // dragging to the left\r
+ for (int j = lastres; j > res; j--)\r
+ {\r
+ if (jalview.util.Comparison.isGap(\r
+ av.alignment.getSequenceAt(startseq)\r
+ .getSequence().charAt(res)))\r
+ {\r
+ deleteChar(res, startseq);\r
+ }\r
+ else\r
+ {\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+\r
+ endEdit = res;\r
+ lastres = res;\r
+ seqCanvas.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param seqstart DOCUMENT ME!\r
+ * @param seqend DOCUMENT ME!\r
+ * @param start DOCUMENT ME!\r
+ */\r
+ public void drawChars(int seqstart, int seqend, int start)\r
+ {\r
+ seqCanvas.drawPanel(seqCanvas.gg, start, av.getEndRes(), seqstart,\r
+ seqend, av.getStartRes(), av.getStartSeq(), 0);\r
+ seqCanvas.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param j DOCUMENT ME!\r
+ * @param seq DOCUMENT ME!\r
+ */\r
+ public void insertChar(int j, int seq)\r
+ {\r
+ av.alignment.getSequenceAt(seq).insertCharAt(j, av.getGapCharacter());\r
+ seqEditOccurred = seq;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param j DOCUMENT ME!\r
+ * @param seq DOCUMENT ME!\r
+ */\r
+ public void deleteChar(int j, int seq)\r
+ {\r
+ av.alignment.getSequenceAt(seq).deleteCharAt(j);\r
+ seqEditOccurred = seq;\r
+\r
+ av.alignment.getWidth();\r
+ seqCanvas.repaint();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param i DOCUMENT ME!\r
+ */\r
+ void editOccurred(int i)\r
+ {\r
+ if (endEdit == startEdit)\r
+ {\r
+ ap.alignFrame.historyList.pop();\r
+ ap.alignFrame.updateEditMenuBar();\r