|
|
1.1 ! root 1: #import "drawundo.h" ! 2: ! 3: /* ! 4: * This change is created when the user finishes editing a text ! 5: * graphic. Undoing this change inserts the re-inserts the text ! 6: * editing cursor in the text. More significantly, undoing this ! 7: * change swaps the contents of the TextGraphic back into the ! 8: * field editor so that it is ready to edit. ! 9: */ ! 10: ! 11: @interface EndEditingGraphicsChange(PrivateMethods) ! 12: ! 13: @end ! 14: ! 15: @implementation EndEditingGraphicsChange ! 16: ! 17: - initGraphicView:aGraphicView graphic:aGraphic ! 18: { ! 19: [super init]; ! 20: graphicView = aGraphicView; ! 21: graphic = aGraphic; ! 22: ! 23: return self; ! 24: } ! 25: ! 26: - free ! 27: { ! 28: if ([self hasBeenDone] && [graphic isEmpty]) ! 29: [graphic free]; ! 30: return [super free]; ! 31: } ! 32: ! 33: - (const char *)changeName ! 34: { ! 35: return NXLocalStringFromTable("Operations", "End Editing", NULL, "The operation of ending the editing process and proceding onto some other operation."); ! 36: } ! 37: ! 38: - undoChange ! 39: { ! 40: if ([graphic isEmpty]) ! 41: [graphicView insertGraphic:graphic]; ! 42: [graphic prepareFieldEditor]; ! 43: [NXApp startEditMode]; ! 44: return [super undoChange]; ! 45: } ! 46: ! 47: - redoChange ! 48: { ! 49: /* ! 50: * The order of the next two statements is important. ! 51: * If endEditMode were sent before resignFieldEditor ! 52: * it would send resetCursor to the document which would ! 53: * make the window the first responder which would end ! 54: * up sending textDidEnd:endChar: to the TextGraphic. ! 55: * Then in the next line we'd send resignFieldEditor to ! 56: * the TextGraphic even though it had already resigned ! 57: * the field editor. ! 58: */ ! 59: [graphic resignFieldEditor]; ! 60: [NXApp endEditMode]; ! 61: if ([graphic isEmpty]) ! 62: [graphicView removeGraphic:graphic]; ! 63: return [super redoChange]; ! 64: } ! 65: ! 66: @end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.