home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / bento / headers / undo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-02  |  2.9 KB  |  125 lines

  1. /*
  2.     File:        Undo.h
  3.  
  4.     Contains:    Class definition for XMPAbsUndo
  5.  
  6.     Written by:    Vincent Lo, Nick Pilch
  7.  
  8.     Copyright:    ⌐ 1993-94 by Apple Computer, Inc., all rights reserved.
  9.  
  10.     Change History (most recent first):
  11.  
  12.         <11>      2/9/94    NP        Tiger Team cleanup.
  13.         <10>      2/7/94    NP        Tiger Team doings.
  14.          <9>     1/14/94    NP        Init changes.
  15.          <8>     1/13/94    NP        API Changes.
  16.          <7>     1/10/94    NP        Small parameter change.
  17.          <6>    12/15/93    NP        Abs/Mac breakout. Also, PeekUndoHistory and
  18.                                     PeekRedoHistory return booleans.
  19.          <5>    11/19/93    NP        Changed XMPName to XMPName* for all
  20.                                     functions.
  21.          <4>      8/9/93    NP        Added class id string.
  22.          <3>     4/23/93    RCR        Rename Includes.
  23.          <2>     4/23/93    VL        Added Initialize and Purge.
  24.          <1>      4/9/93    VL        first checked in
  25.  
  26.     To Do:
  27. */
  28.  
  29. #ifndef _UNDO_
  30. #define _UNDO_
  31.  
  32. #ifndef _XMPOBJ_
  33. #include "XMPObj.h"
  34. #endif
  35.  
  36. #ifndef _XMPTYPES_
  37. #include "XMPTypes.h"
  38. #endif
  39.  
  40. //==============================================================================
  41. // Constants
  42. //==============================================================================
  43.  
  44. enum XMPRespectMarksChoices
  45.     kXMPDontRespectMarks,
  46.     kXMPRespectMarks 
  47. };
  48.  
  49. enum XMPActionType
  50. {
  51.     kXMPSingleAction,
  52.     kXMPBeginAction,
  53.     kXMPEndAction
  54. };
  55.  
  56. //==============================================================================
  57. // Classes defined in this interface
  58. //==============================================================================
  59.  
  60. class XMPAbsUndo;
  61.  
  62. //==============================================================================
  63. // Classes used by this interface
  64. //==============================================================================
  65.  
  66. class XMPPart;
  67.  
  68. //==============================================================================
  69. // XMPUndo
  70. //==============================================================================
  71.  
  72. class XMPAbsUndo : public XMPObject
  73. {
  74.   public:
  75.  
  76.     XMPAbsUndo() {}
  77.     XMPVMethod ~XMPAbsUndo() {}
  78.     
  79.     XMPVMethod XMPSize Purge(XMPSize size)
  80.         = 0;
  81.  
  82.     XMPVMethod void AddActionToHistory(XMPPart* whichPart, 
  83.                                     XMPActionData actionData,
  84.                                     XMPActionType actionType,
  85.                                     XMPName* undoActionLabel,
  86.                                     XMPName* redoActionLabel)
  87.         = 0;
  88.  
  89.     XMPVMethod void Undo()
  90.         = 0;
  91.  
  92.     XMPVMethod void Redo()
  93.         = 0;
  94.  
  95.     XMPVMethod void MarkActionHistory()
  96.         = 0;
  97.  
  98.     XMPVMethod void ClearActionHistory(XMPRespectMarksChoices respectMarks)
  99.         = 0;
  100.  
  101.     XMPVMethod void ClearRedoHistory()
  102.         = 0;
  103.  
  104.     XMPVMethod XMPBoolean PeekUndoHistory(XMPPart** part,
  105.                                 XMPActionData* actionData,
  106.                                 XMPActionType* actionType,
  107.                                 XMPName** actionLabel)
  108.         = 0;
  109.     
  110.     XMPVMethod XMPBoolean PeekRedoHistory(XMPPart** part,
  111.                                 XMPActionData* actionData,
  112.                                 XMPActionType* actionType,
  113.                                 XMPName** actionLabel)
  114.         = 0;
  115. };
  116.  
  117. #ifdef PLATFORM_MACINTOSH
  118. #ifndef _UNDOM_
  119. #include "UndoM.h"
  120. #endif
  121. #endif
  122.  
  123. #endif // _UNDO_
  124.