home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.0 / NeXTSTEP3.0.iso / NextDeveloper / Examples / AppKit / Draw / textUndo.subproj / PasteTextChange.m < prev    next >
Text File  |  1992-02-09  |  1KB  |  46 lines

  1. #import "textundo.h"
  2.  
  3. #define PASTE_OPERATION NXLocalStringFromTable("Operations", "Paste", NULL, "The operation of getting something from the Pasteboard and inserting into the document.")
  4.  
  5. @implementation PasteTextChange
  6.  
  7. /*
  8.  * This class calculates how many characters were pasted by looking at
  9.  * the length of the original selection, and the length of the text object
  10.  * before the paste. 
  11.  */
  12.  
  13. - initView:aView
  14. {
  15.     [super initView:aView name:PASTE_OPERATION];
  16.     return self;
  17. }
  18.  
  19. - saveBeforeChange
  20. {
  21.     NXSelPt start, end;
  22.  
  23.     [super saveBeforeChange];
  24.  
  25.     [textView getSel:&start :&end];
  26.     textLength = [textView textLength];
  27.     selectionStart = start.cp;
  28.     selectionLength = end.cp - start.cp;
  29.  
  30.     return self;
  31. }
  32.  
  33. - saveAfterChange
  34. {
  35.     int charsPasted;
  36.  
  37.     charsPasted = [textView textLength] - (textLength - selectionLength);
  38.     newSel = [[TextSelection alloc] initText:textView
  39.                                    start:selectionStart
  40.                                      end:selectionStart + charsPasted];
  41.     [newSel capture];
  42.     return self;
  43. }
  44.  
  45. @end
  46.