(FILECREATED " 7-Nov-84 21:13:21" {PHYLUM}<PSA>NOTECARDS>RELEASE1.1>RHTPATCH002.;2 4795   

      changes to:  (VARS RHTPATCH002COMS)
		   (FNS NC.FetchWindow NC.GetPropList)

      previous date: " 6-Nov-84 22:39:29" {PHYLUM}<PSA>NOTECARDS>RELEASE1.1>RHTPATCH002.;1)


(* Copyright (c) 1984 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT RHTPATCH002COMS)

(RPAQQ RHTPATCH002COMS ((FNS NC.BuildMakeDocInspector NC.FetchWindow NC.GetPropList NC.QuitCard)))
(DEFINEQ

(NC.BuildMakeDocInspector
  (LAMBDA (MainWin)                                          (* rht: " 6-Nov-84 22:28")

          (* * Build and dislay an inspector window on the parameters for making documents.)


    (PROG (InspectWindow Region (PromptWin (GETPROMPTWINDOW MainWin)))
          (SETQ Region (WINDOWPROP (OR PromptWin MainWin)
				   (QUOTE REGION)))
          (SETQ InspectWindow (INSPECTW.CREATE (QUOTE NC.MakeDocParameters)
					       (for Item in NC.MakeDocParameters collect
										  (CAR Item))
					       (FUNCTION GETPROP)
					       NIL "Use left button to change values." NIL
					       (FUNCTION NC.InspectorTitleCommandFn)
					       "MakeDocument Parameters"
					       (FUNCTION NC.MakeDocInspectorSelectionFn)
					       (create POSITION
						       XCOORD ←(fetch LEFT of Region)
						       YCOORD ←(IPLUS (fetch BOTTOM of Region)
								      (fetch HEIGHT of Region)))
					       NIL))
          (MOVEW InspectWindow (MAKEWITHINREGION (WINDOWPROP InspectWindow (QUOTE REGION))
						 WHOLESCREEN))
          (WINDOWPROP InspectWindow (QUOTE NoteCardsMakeDocInspector)
		      T)
          (RETURN InspectWindow))))

(NC.FetchWindow
  (LAMBDA (ID)                                               (* rht: " 7-Nov-84 20:55")

          (* * Given an ID of a card, return the open window containing that card.)


    (PROG ((NoteCardType (NC.FetchType ID)))
          (RETURN (COND
		    ((NC.ActiveCardP ID)
		      (for Window in (OPENWINDOWS) when (OR (EQ ID (WINDOWPROP Window (QUOTE 
										       NoteCardID)))
							    (EQ ID (WINDOWPROP (WINDOWPROP
										 Window
										 (QUOTE ICONFOR))
									       (QUOTE NoteCardID))))
			 do (RETURN (COND
				      ((EQ ID (WINDOWPROP Window (QUOTE NoteCardID)))
					Window)
				      (T (WINDOWPROP Window (QUOTE ICONFOR)))))))
		    (T NIL))))))

(NC.GetPropList
  (LAMBDA (ID DatabaseStream PropPtr)                        (* rht: " 7-Nov-84 20:43")
                                                             (* Retrieve the prop list for card specified by ID from
							     the database specified by DatabaseStream)
    (WITH.MONITOR (NC.FetchMonitor DatabaseStream "NC.GetPropList")
		  (PROG (PtrList Status ActualID Props Stream)
		        (SETQ Stream (NC.CoerceDatabaseStream DatabaseStream "NC.GetPropList"))
		        (COND
			  ((NULL PropPtr)
			    (SETQ PtrList (NC.GetPtrs ID Stream))
			    (SETQ Status (CAR PtrList))
			    (AND (NEQ Status (QUOTE ACTIVE))
				 (RETURN Status))
			    (SETQ PropPtr (fetch (POINTERLIST PROPSPTR) of PtrList))))
		        (SETFILEPTR Stream PropPtr)
		        (COND
			  ((NOT (NC.GetIdentifier Stream NC.PropsIdentifier))
			    (COND
			      (NoReportFlg (RETURN))
			      (T (NC.ReportError "NC.GetPropList" (CONCAT ID 
				     " Error in Database file -- incorrect prop list identifier.")))))
			  )
		        (SETQ ActualID (READ Stream))
		        (COND
			  ((NEQ ActualID ID)
			    (COND
			      (NoReportFlg (RETURN))
			      (T (NC.ReportError "NC.GetPropList" (CONCAT 
						 "ID mismatch while reading item.  Expected ID: "
									  ID "   Found ID: " ActualID)
						 )))))
		        (SETQ Props (READ Stream))
		        (NC.SetPropList ID Props)
		        (RETURN Props)))))

(NC.QuitCard
  (LAMBDA (WindowOrTextStreamOrID CallCloseWFlg)             (* rht: " 7-Nov-84 20:08")

          (* * Force note card specified by ID to quit or stop)


    (PROG (Window (ID (NC.CoerceToID WindowOrTextStreamOrID)))
          (SETQ Window (NC.FetchWindow ID))
          (RETURN (PROG1 (APPLY* (NC.QuitCardFn (NC.FetchType ID))
				 ID)
			 (COND
			   (CallCloseWFlg (WINDOWDELPROP Window (QUOTE CLOSEFN)
							 (FUNCTION NC.QuitCard))
					  (CLOSEW Window))))))))
)
(PUTPROPS RHTPATCH002 COPYRIGHT ("Xerox Corporation" 1984))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (480 4713 (NC.BuildMakeDocInspector 490 . 1785) (NC.FetchWindow 1787 . 2591) (
NC.GetPropList 2593 . 4160) (NC.QuitCard 4162 . 4711)))))
STOP