home *** CD-ROM | disk | FTP | other *** search
/ NeXTSTEP 3.3 (Developer) / NeXT_Developer-3.3.iso / NextDeveloper / Examples / AppKit / Draw / undo.subproj / ChangeManager.h < prev    next >
Encoding:
Text File  |  1992-02-10  |  2.0 KB  |  55 lines

  1. /*
  2.  * Please refer to external reference pages for complete
  3.  * documentation on using the ChangeManager class.
  4.  */
  5.  
  6. @interface ChangeManager : Responder
  7. {
  8.     List *_changeList;            /* done, undone and redone changes */
  9.     Change *_lastChange;        /* the last done or redone change */
  10.     Change *_nextChange;        /* the most recently undone change */
  11.     Change *_changeInProgress;        /* the current change in progress */
  12.     int _numberOfDoneChanges;        /* number of done or redone changes 
  13.                            recorded in the changeList */
  14.     int _numberOfUndoneChanges;        /* undone changes in the changeList */
  15.     int _numberOfDoneChangesAtLastClean;/* number at time clean last message */
  16.     BOOL _someChangesForgotten;        /* YES whenever we don't remember 
  17.                            enough to return to a clean state */
  18.     int _changesDisabled;        /* YES between outermost calls to
  19.                            disableChanges: and enableChanges:*/
  20. }
  21.  
  22. /* Methods called directly by your code */
  23.  
  24. - init;            /* start with [super init] if overriding */
  25. - free;            /* end with [super free] if overriding */
  26. - (BOOL)canUndo;    /* DO NOT override */
  27. - (BOOL)canRedo;    /* DO NOT override */
  28. - (BOOL)isDirty;    /* DO NOT override */
  29.  
  30. - dirty:sender;        /* start with [super dirty:sender] if overriding */
  31. - clean:sender;        /* start with [super clean:sender] if overriding */
  32. - reset:sender;        /* start with [super reset:sender] if overriding */
  33. - disableChanges:sender;    /* DO NOT override */
  34. - enableChanges:sender;        /* DO NOT override */
  35. - undoOrRedoChange:sender;    /* DO NOT override */
  36. - undoChange:sender;        /* DO NOT override */
  37. - redoChange:sender;        /* DO NOT override */
  38. - (BOOL)validateCommand:sender;
  39.             /* end with [super validateCommand:] if overriding */
  40.  
  41. /* Methods called by Change           */
  42. /* DO NOT call these methods directly */
  43.  
  44. - changeInProgress:change;    /* DO NOT override */
  45. - changeComplete:change;    /* DO NOT override */
  46.  
  47. /* Methods called by ChangeManager    */
  48. /* DO NOT call these methods directly */
  49.  
  50. - changeWasDone;        /* override at will */
  51. - changeWasUndone;        /* override at will */
  52. - changeWasRedone;        /* override at will */
  53.  
  54. @end
  55.