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 /**