(FILECREATED " 2-Jun-87 11:00:07" {QV}<NOTECARDS>1.3K>NEXT>PMIPATCH042.;1 5871 changes to: (VARS PMIPATCH042COMS) (FNS NC.ProcessNoteFileNeedsTruncationError)) (* Copyright (c) 1987 by Xerox Corporation. All rights reserved.) (PRETTYCOMPRINT PMIPATCH042COMS) (RPAQQ PMIPATCH042COMS ((FNS NC.AskUserAboutTruncation NC.ProcessNoteFileNeedsTruncationError))) (DEFINEQ (NC.AskUserAboutTruncation (LAMBDA (NoteFile PromptWindow) (* pmi: " 2-Jun-87 10:43") (* * Ask the user what to do since NoteFile truncation is needed.) (* * fgh 5/25/86 First created.) (* * rht 10/29/86: Change name from Abort to Cancel.) (* * pmi 3/25/87: Added NC.MenuFont to all menus) (* * pmi 6/2/87: Changed position of menu to top of prompt window instead of bottom.) (DECLARE (GLOBALVARS NC.MenuFont)) (LET (Items Menu PromptWinPos) (* * List user's options. Include Inspect&Repair only if this NoteFIle device has a RepairFn.) (SETQ Items (BQUOTE ((Cancel (QUOTE Cancel) "Cancel the Open.") (Truncate% File (QUOTE Truncate% File) "Truncate the file throwing away changes since last checkpoint.") ,@(if (fetch (NoteFile RepairNoteFileFn) of NoteFile) then (LIST (QUOTE (Inspect% &% Repair (QUOTE Inspect% &% Repair) "Run Inspect&Repair on this NoteFile."))))) )) (* * Bring up the menu with the options.) (SETQ ReturnValue (MENU (SETQ Menu (create MENU ITEMS ← Items MENUOUTLINESIZE ← 2 MENUFONT ← NC.MenuFont CENTERFLG ← T ITEMHEIGHT ←(IPLUS (FONTPROP NC.MenuFont (QUOTE HEIGHT)) 1))) (if (WINDOWP PromptWindow) then (create POSITION XCOORD ←(fetch (POSITION XCOORD) of (SETQ PromptWinPos (WINDOWPOSITION PromptWindow))) YCOORD ←(PLUS (fetch (POSITION YCOORD) of PromptWinPos) (WINDOWPROP PromptWindow (QUOTE HEIGHT)))) else NIL)))))) (NC.ProcessNoteFileNeedsTruncationError (LAMBDA (NoteFile Don'tCacheTypesAndTitlesFlg Don'tCreateFlg Convertw/oConfirmFlg Don'tCreateArrayFlg Can'tTruncateFlg Don'tCreateInterfaceFlg Don'tGetSpecialCardsFlg PromptWindow PublicOrPrivate MenuPosition QuietFlg ReadOnlyFlg Don'tCheckForTruncationFlg) (* pmi: " 2-Jun-87 10:42") (* * Discovered NoteFile needs version truncation when attempted to open it. Process that error.) (* * fgh 5/23/86 First created.) (* * fgh 9/1/86 Updated args to match NC.OpenNoteFile.) (* * rht 10/29/86: Changed name from Abort to Cancel.) (* * rht 10/31/86: Added Don'tCheckForTruncationFlg arg.) (* * pmi 5/14/87: Removed NoteFilesHashArray argument.) (* * pmi 6/2/87: Added NIL as legal response from truncation menu (allows selecting outside of the menu to cancel.) ) (PROG (TruncationFn) (* * If appropriate, notify the user.) (if (WINDOWP PromptWindow) then (NC.PrintMsg PromptWindow T "NoteFile " (fetch (NoteFile FullFileName) of NoteFile) " has information written since last successful close or checkpoint." (CHARACTER 13))) (* * If the device has a TruncationFn then apply it and try to Open the NoteFile.) (if (AND (NULL Can'tTruncateFlg) (SETQ TruncationFn (fetch (NoteFile TruncateNoteFileFn) of NoteFile))) then (* * ASk the user if they want to truncate, or abort, or repair the notefile.) (SELECTQ (NC.AskUserAboutTruncation NoteFile PromptWindow) (Cancel (RETURN (QUOTE CancelOpen))) (Inspect% &% Repair (RETURN (NC.ProcessInspectAndRepairRequest NoteFile Don'tCacheTypesAndTitlesFlg Don'tCreateFlg Convertw/oConfirmFlg Don'tCreateArrayFlg Can'tTruncateFlg Don'tCreateInterfaceFlg Don'tGetSpecialCardsFlg PromptWindow PublicOrPrivate MenuPosition QuietFlg ReadOnlyFlg Don'tCheckForTruncationFlg))) (Truncate% File (RETURN (NC.ProcessTruncationRequest NoteFile Don'tCacheTypesAndTitlesFlg Don'tCreateFlg Convertw/oConfirmFlg Don'tCreateArrayFlg Can'tTruncateFlg Don'tCreateInterfaceFlg Don'tGetSpecialCardsFlg PromptWindow PublicOrPrivate MenuPosition QuietFlg ReadOnlyFlg Don'tCheckForTruncationFlg))) (NIL (NC.PrintMsg PromptWindow NIL "Truncation cancelled" (CHARACTER 13)) (RETURN (QUOTE NoteFileNeedsTruncation))) (SHOULDNT "Illegal menu option selected in NC.AskUserAboutTruncation.")) else (* * No TruncationFn. Tell the user if appropriate and return an error msg.) (if (WINDOWP PromptWindow) then (NC.PrintMsg PromptWindow NIL "No file truncation possible for this NoteFile." (CHARACTER 13) "See a NoteCards wizard." (CHARACTER 13))) (RETURN (QUOTE NoteFileNeedsTruncation)))))) ) (PUTPROPS PMIPATCH042 COPYRIGHT ("Xerox Corporation" 1987)) (DECLARE: DONTCOPY (FILEMAP (NIL (386 5789 (NC.AskUserAboutTruncation 396 . 2321) (NC.ProcessNoteFileNeedsTruncationError 2323 . 5787))))) STOP