| 262 | |
| 263 | |
| 264 | class DeleteCommand(Command): |
| 265 | # Undoable delete command |
| 266 | |
| 267 | def __init__(self, index1, index2=None): |
| 268 | Command.__init__(self, index1, index2, None, None) |
| 269 | |
| 270 | def do(self, text): |
| 271 | self.marks_before = self.save_marks(text) |
| 272 | self.index1 = text.index(self.index1) |
| 273 | if self.index2: |
| 274 | self.index2 = text.index(self.index2) |
| 275 | else: |
| 276 | self.index2 = text.index(self.index1 + " +1c") |
| 277 | if text.compare(self.index2, ">", "end-1c"): |
| 278 | # Don't delete the final newline |
| 279 | self.index2 = text.index("end-1c") |
| 280 | self.chars = text.get(self.index1, self.index2) |
| 281 | text.delete(self.index1, self.index2) |
| 282 | self.marks_after = self.save_marks(text) |
| 283 | ##sys.__stderr__.write("do: %s\n" % self) |
| 284 | |
| 285 | def redo(self, text): |
| 286 | text.mark_set('insert', self.index1) |
| 287 | text.delete(self.index1, self.index2) |
| 288 | self.set_marks(text, self.marks_after) |
| 289 | text.see('insert') |
| 290 | ##sys.__stderr__.write("redo: %s\n" % self) |
| 291 | |
| 292 | def undo(self, text): |
| 293 | text.mark_set('insert', self.index1) |
| 294 | text.insert(self.index1, self.chars) |
| 295 | self.set_marks(text, self.marks_before) |
| 296 | text.see('insert') |
| 297 | ##sys.__stderr__.write("undo: %s\n" % self) |
| 298 | |
| 299 | |
| 300 | class CommandSequence(Command): |
no outgoing calls
no test coverage detected
searching dependent graphs…