Mercurial > projects > dwt-addons
comparison dwtx/text/edits/TextEdit.d @ 159:7926b636c282
...
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 27 Aug 2008 01:57:58 +0200 |
parents | a9566845f1cb |
children | 3678e4f1a766 |
comparison
equal
deleted
inserted
replaced
158:25f1f92fa3df | 159:7926b636c282 |
---|---|
10 * Port to the D programming language: | 10 * Port to the D programming language: |
11 * Frank Benoit <benoit@tionex.de> | 11 * Frank Benoit <benoit@tionex.de> |
12 *******************************************************************************/ | 12 *******************************************************************************/ |
13 module dwtx.text.edits.TextEdit; | 13 module dwtx.text.edits.TextEdit; |
14 | 14 |
15 import dwtx.text.edits.MultiTextEdit; // packageimport | |
16 import dwtx.text.edits.CopySourceEdit; // packageimport | |
17 import dwtx.text.edits.MoveSourceEdit; // packageimport | |
18 import dwtx.text.edits.CopyingRangeMarker; // packageimport | |
19 import dwtx.text.edits.ReplaceEdit; // packageimport | |
20 import dwtx.text.edits.EditDocument; // packageimport | |
21 import dwtx.text.edits.UndoCollector; // packageimport | |
22 import dwtx.text.edits.DeleteEdit; // packageimport | |
23 import dwtx.text.edits.MoveTargetEdit; // packageimport | |
24 import dwtx.text.edits.CopyTargetEdit; // packageimport | |
25 import dwtx.text.edits.TextEditCopier; // packageimport | 15 import dwtx.text.edits.TextEditCopier; // packageimport |
26 import dwtx.text.edits.ISourceModifier; // packageimport | 16 import dwtx.text.edits.TextEditProcessor; // packageimport |
17 import dwtx.text.edits.TextEditVisitor; // packageimport | |
18 import dwtx.text.edits.UndoEdit; // packageimport | |
19 import dwtx.text.edits.MalformedTreeException; // packageimport | |
27 import dwtx.text.edits.TextEditMessages; // packageimport | 20 import dwtx.text.edits.TextEditMessages; // packageimport |
28 import dwtx.text.edits.TextEditProcessor; // packageimport | |
29 import dwtx.text.edits.MalformedTreeException; // packageimport | |
30 import dwtx.text.edits.TreeIterationInfo; // packageimport | |
31 import dwtx.text.edits.TextEditVisitor; // packageimport | |
32 import dwtx.text.edits.TextEditGroup; // packageimport | |
33 import dwtx.text.edits.RangeMarker; // packageimport | |
34 import dwtx.text.edits.UndoEdit; // packageimport | |
35 import dwtx.text.edits.InsertEdit; // packageimport | |
36 | |
37 | 21 |
38 import dwt.dwthelper.utils; | 22 import dwt.dwthelper.utils; |
39 | |
40 import dwtx.dwtxhelper.Collection; | 23 import dwtx.dwtxhelper.Collection; |
41 | 24 import tango.text.convert.Format; |
42 | |
43 | |
44 | |
45 | 25 |
46 import dwtx.core.runtime.Assert; | 26 import dwtx.core.runtime.Assert; |
47 import dwtx.jface.text.BadLocationException; | 27 import dwtx.jface.text.BadLocationException; |
48 import dwtx.jface.text.IDocument; | 28 import dwtx.jface.text.IDocument; |
49 import dwtx.jface.text.IRegion; | 29 import dwtx.jface.text.IRegion; |
387 * @exception IndexOutOfBoundsException if the index | 367 * @exception IndexOutOfBoundsException if the index |
388 * is out of range | 368 * is out of range |
389 */ | 369 */ |
390 public final TextEdit removeChild(int index) { | 370 public final TextEdit removeChild(int index) { |
391 if (fChildren is null) | 371 if (fChildren is null) |
392 throw new IndexOutOfBoundsException("Index: " + index + " Size: 0"); //$NON-NLS-1$//$NON-NLS-2$ | 372 throw new IndexOutOfBoundsException(Format("Index: {} Size: 0", index )); //$NON-NLS-1$//$NON-NLS-2$ |
393 TextEdit result= cast(TextEdit)fChildren.remove(index); | 373 TextEdit result= cast(TextEdit)fChildren.remove(index); |
394 result.internalSetParent(null); | 374 result.internalSetParent(null); |
395 if (fChildren.isEmpty()) | 375 if (fChildren.isEmpty()) |
396 fChildren= null; | 376 fChildren= null; |
397 return result; | 377 return result; |
631 * @see #copy() | 611 * @see #copy() |
632 * @see #postProcessCopy(TextEditCopier) | 612 * @see #postProcessCopy(TextEditCopier) |
633 * @see TextEditCopier | 613 * @see TextEditCopier |
634 */ | 614 */ |
635 protected abstract TextEdit doCopy(); | 615 protected abstract TextEdit doCopy(); |
616 package TextEdit doCopy_package(){ | |
617 return doCopy(); | |
618 } | |
636 | 619 |
637 /** | 620 /** |
638 * This method is called on every edit of the copied tree to do some | 621 * This method is called on every edit of the copied tree to do some |
639 * post-processing like connected an edit to a different edit in the tree. | 622 * post-processing like connected an edit to a different edit in the tree. |
640 * <p> | 623 * <p> |
643 * @param copier the copier that manages a map between original and | 626 * @param copier the copier that manages a map between original and |
644 * copied edit. | 627 * copied edit. |
645 * @see TextEditCopier | 628 * @see TextEditCopier |
646 */ | 629 */ |
647 protected void postProcessCopy(TextEditCopier copier) { | 630 protected void postProcessCopy(TextEditCopier copier) { |
631 } | |
632 package void postProcessCopy_package(TextEditCopier copier) { | |
633 postProcessCopy(copier); | |
648 } | 634 } |
649 | 635 |
650 //---- Visitor support ------------------------------------------------- | 636 //---- Visitor support ------------------------------------------------- |
651 | 637 |
652 /** | 638 /** |