(FILECREATED "14-Jul-86 10:26:56" {QV}<NOTECARDS>1.3K>RHTPATCH069.;1 5307         changes to:  (VARS RHTPATCH069COMS)		   (FNS NC.QuitCard))(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)(PRETTYCOMPRINT RHTPATCH069COMS)(RPAQQ RHTPATCH069COMS ((* * Change to NCCARDS)			  (FNS NC.QuitCard)))(* * Change to NCCARDS)(DEFINEQ(NC.QuitCard  (LAMBDA (CardIdentifier CallCloseWFlg DontSaveFlg DontRecacheFlg DontCheckOpInProgressFlg 			  InterestedWindow OperationMsg QuietFlg Don'tDeactivateFlg)                                                             (* rht: "14-Jul-86 10:10")          (* * Force note card specified by ID to quit or stop)          (* * rht 2/9/85: New arg DontSaveFlg prevents NC.CardSaveFn from being called. Used when aborting a card.	  This is NOT equivalent to NC.QuitWithoutSaving.)          (* * rht 6/25/85: Now moves card off screen before saving if NC.CloseCardsOffScreenFlg is non-nil.)          (* * rht 6/25/85: Brought the insure proper filing check back here from NC.CardSaveFn. Bails out if user cancelled 	  operation inside of NC.InsureProperFiling)          (* * fgh 11/11/85: Updated to handle CardID and CardInfo objects.)          (* * fgh 1/16/86 Put in code to insure that if one of the TopLevelCards is quit then it is reactivated immedialtely	  to make sure it stays cached for fast access.)          (* * fgh 2/5/86 Added call to NC.ApplyFn)          (* * fgh 5/2/86 Added DontRecacheFlg arg)          (* * fgh 6/9/86 Added code to check to make sure other operations are not in progress. And DontCheckOpInProgressFlg	  arg to match)          (* * fgh 6/26/86 Added InterestedWindow & OperationMsg arg.)          (* * rht 7/2/86: Now bails out if notefile is readonly, user confirms, but we're supposed to write down changes.)          (* * rht 7/13/86: Now takes QuietFlg arg.)          (* * rht 7/14/86: Call NC.DeactivateCard from here instead of in card type QuitFn. Take a Don'tDeactivateFlg as 	  well.)    (PROG ((Card (NC.CoerceToCard CardIdentifier))	     Window OperationInProgress ReadOnlyCardFlg)	    (SETQ Window (NC.FetchWindow Card))	    (OR InterestedWindow (SETQ InterestedWindow Window))	    (SETQ ReadOnlyCardFlg (NC.ReadOnlyCardP Card))                                                             (* The window not being open should mean that it's 							     shrunken. If so, expand it.)	    (COND	      ((AND Window (NOT (OPENWP Window)))		(EXPANDW Window)))          (* * if in the middle of some other operation, get out of here.)	    (if (AND (NULL DontCheckOpInProgressFlg)			 (SETQ OperationInProgress (NC.OperationInProgress Card)))		then (NC.PrintOperationInProgressMsg Window "Close Card" OperationInProgress)		       (RETURN NIL))          (* * if proper filing says don't quit then get out)	    (OR DontSaveFlg ReadOnlyCardFlg (COND		    ((EQ (NC.InsureProperFiling Card)			   (QUOTE CANCELLED))		      (RETURN (QUOTE DON'T)))))          (* * If card is readonly but we've made changes that we're supposed to save, then get user confirmation and bail 	  out.)	    (if (AND (NOT DontSaveFlg)			 (NOT Don'tDeactivateFlg)			 ReadOnlyCardFlg			 (NC.CardSomehowDirtyP Card)			 (NULL QuietFlg)			 (NOT (PROGN (NC.PrintMsg InterestedWindow T 					       "Card has been changed, but notefile is readonly."							(CHARACTER 13))					 (NC.AskYesOrNo "Want to quit anyway, flushing changes? " 							  NIL (QUOTE Yes)							  NIL InterestedWindow))))		then (RETURN (QUOTE DON'T)))          (* * Otherwise go ahead and quit)	    (RETURN (NC.ProtectedCardOperation Card Close% Card (COND						   ((AND Window NC.CloseCardsOffScreenFlg)						     (COND						       ((NOT (NC.FetchSavedRegion Card))							 (NC.SetSavedRegion Card									      (WINDOWPROP										Window										(QUOTE REGION)))))						     (MOVEW Window 1500 1500)))						 (OR DontSaveFlg (if ReadOnlyCardFlg								       then (NC.TurnOffDirtyFlgs										Card)								     else (NC.CardSaveFn									      Card									      (OR 									NC.CloseCardsOffScreenFlg 										    QuietFlg)									      NIL InterestedWindow 									      OperationMsg)))						 (AND Window (WINDOWDELPROP							  Window							  (QUOTE CLOSEFN)							  (FUNCTION NC.QuitCard)))						 (PROG1 (NC.ApplyFn QuitFn Card)							  (AND CallCloseWFlg Window (CLOSEW								   Window))							  (OR Don'tDeactivateFlg (								  NC.DeactivateCard Card))          (* * if this is one of the top level cards, then make sure it stays cached)							  (if (AND (NC.TopLevelCardP Card)								       (NULL DontRecacheFlg)								       (NULL Don'tDeactivateFlg))							      then (NCP.ActivateCards Card)))))))))(PUTPROPS RHTPATCH069 COPYRIGHT ("Xerox Corporation" 1986))(DECLARE: DONTCOPY  (FILEMAP (NIL (360 5225 (NC.QuitCard 370 . 5223)))))STOP