27 #ifndef __IDOCFILEHANDLER__ 28 #define __IDOCFILEHANDLER__ 30 #include "DocumentID.h" 31 #include "IPMUnknown.h" 37 enum { kDefaultIID = IID_IDOCFILEHANDLER };
56 enum SaveDialogButtonState {
62 virtual bool8 CanSave(
const UIDRef& doc) = 0;
65 virtual void Save(
const UIDRef& doc, UIFlags uiFlags = kFullUI) = 0;
68 virtual bool8 CanSaveAs(
const UIDRef& doc) = 0;
73 virtual void SaveAs(
const UIDRef& doc,
const IDFile *destFile = nil,
74 UIFlags uiFlags = kFullUI,
75 bool8 asStationery = kFalse,
76 FileTypeInfoID fileTypeID = kInvalidFileTypeInfoID,SaveType saveType = kSaveAsNative) = 0;
79 virtual bool8 CanSaveACopy(
const UIDRef& doc) = 0;
84 virtual void SaveACopy(
const UIDRef& doc,
const IDFile *destFile = nil,
85 UIFlags uiFlags = kFullUI,
86 bool8 asStationery = kFalse,
90 virtual bool8 CanRevert(
const UIDRef& doc) = 0;
92 virtual void Revert(
const UIDRef& doc, UIFlags uiFlags = kFullUI) = 0;
95 virtual bool8 CanClose(
const UIDRef& doc) = 0;
99 enum CloseCmdMode { kProcess, kSchedule, kPreProcessAndProcess };
100 virtual void Close(
const UIDRef& doc, UIFlags uiFlags = kFullUI, bool8 allowCancel = kTrue, CloseCmdMode cmdMode = kSchedule) = 0;
108 enum CloseOptions { kSave, kDontSave, kCancel, kSaveVersion, kJustSaveVersion, kCacelAndLaunchCDP };
109 virtual CloseOptions CheckOnClose(
const UIDRef& doc, UIFlags uiFlags, bool8 allowCancel) = 0;
111 virtual void GetCopyDefaultName(
const UIDRef& doc,
IDFile *name, bool16& useSystemDefaultDir) = 0;
115 virtual void SaveAs2(
const UIDRef& doc,
const PMString& fileName, UIFlags uiFlags = kFullUI,
116 bool8 asStationery = kFalse,
FileTypeInfoID fileTypeID = kInvalidFileTypeInfoID) = 0;
119 virtual void SaveAsCloudDoc(
const UIDRef& doc,
const std::string & assetPath) = 0;
123 #endif //__IDOCFILEHANDLER__