home *** CD-ROM | disk | FTP | other *** search
/ OpenStep 4.2J (Developer) / os42jdev.iso / NextDeveloper / Examples / AppKit / Draw / undo.subproj / Change.h next >
Text File  |  1995-08-03  |  2KB  |  48 lines

  1. /*
  2.  * Please refer to external reference pages for complete
  3.  * documentation on using the Change class.
  4.  */
  5.  
  6. @class ChangeManager;
  7.  
  8. @interface Change : NSObject
  9. {
  10.     struct {
  11.     unsigned int disabled: 1;    /* YES if disable message receieved */
  12.     unsigned int hasBeenDone: 1;    /* YES if done or redone */
  13.     unsigned int changeInProgress: 1; /* YES after startChange 
  14.                          but before endChange */
  15.     unsigned int padding: 29;
  16.     } _changeFlags;
  17.    ChangeManager *_changeManager;
  18. }
  19.  
  20. /* Methods called directly by your code */
  21.  
  22. - (id)init;                /* start with [super init] if overriding */
  23. - (BOOL)startChange;            /* DO NOT override */
  24. - (BOOL)startChangeIn:aView;        /* DO NOT override */
  25. - (BOOL)endChange;            /* DO NOT override */
  26. - (ChangeManager *)changeManager;    /* DO NOT override */
  27.  
  28. /* Methods called by ChangeManager or by your code */
  29.  
  30. - (void)disable;            /* DO NOT override */
  31. - (BOOL)disabled;        /* DO NOT override */
  32. - (BOOL)hasBeenDone;        /* DO NOT override */
  33. - (BOOL)changeInProgress;    /* DO NOT override */
  34. - (NSString *)changeName;    /* override at will */
  35.  
  36. /* Methods called by ChangeManager */
  37. /* DO NOT call directly */
  38.  
  39. - (void)saveBeforeChange;        /* override at will */
  40. - (void)saveAfterChange;        /* override at will */
  41. - (void)undoChange;            /* end with [super undoChange] if overriding */
  42. - (void)redoChange;            /* end with [super redoChange] if overriding */
  43. - (BOOL)subsumeChange:change;    /* override at will */
  44. - (BOOL)incorporateChange:change;/* override at will */
  45. - (void)finishChange;            /* override at will */
  46.  
  47. @end
  48.