(FILECREATED " 8-Jun-87 16:57:14" {QV}<NOTECARDS>1.3K>NEXT>NCPARAMETERS.;33 29732  

      changes to:  (FNS NC.BuildInspector)
		   (VARS NCPARAMETERSCOMS)

      previous date: "24-Apr-87 14:25:20" {QV}<NOTECARDS>1.3K>NEXT>NCPARAMETERS.;32)


(* Copyright (c) 1984, 1985, 1986, 1987 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT NCPARAMETERSCOMS)

(RPAQQ NCPARAMETERSCOMS ((* * Tailoring parameters for the user to set.)
	[DECLARE: COPY FIRST (P (NC.LoadFileFromDirectories (QUOTE STYLESHEET)
							    (QUOTE LISPUSERSDIRECTORIES]
	(GLOBALVARS NC.FixedMenuFlg NC.AdviseWindowMenuFlg NC.ForceSourcesFlg NC.ForceFilingFlg 
		    NC.ForceTitlesFlg NC.MarkersInFileBoxesFlg NC.AlphabetizedFileBoxChildrenFlg 
		    NC.LinkIconAttachBitmapFlg NC.LinkIconShowLinkTypeFlg NC.LinkIconShowTitleFlg 
		    NC.MainMenuPosition NC.ShowNoteFileOnCards NC.IncludeCardObjectInShowInfo 
		    World5File NC.SpecialBrowserSpecsFlg NC.AnnoFlg NC.LinkDashingInBrowser 
		    NC.ArrowHeadsInBrowser NC.EnableBravoToTEditConversionFlg NC.DefaultFont 
		    NC.LinkIconFont NC.NoteFileIndicatorFont NC.MenuFont NC.DefaultCardType 
		    NC.BringUpCardAtOldPosFlg NC.CloseCardsOffScreenFlg NC.NoteCardsParameters 
		    NC.SpecialBrowserMiddleButtonFn NCINITIALGLOBALPARAMS 
		    NC.UseDeletedLinkIconIndicatorsFlg NC.DelTEditProcessAtShrinkFlg 
		    NC.UserSpecifiedTEditProps NC.AskTEditPropsWindowWidth 
		    NC.AskTEditPropsWindowHeight NC.NoteFileMenuLingerFlg 
		    NC.DefaultIndexSizeInEntries NC.MsgDelay NC.LinkIconMultiLineMode 
		    NC.LinkIconMaxWidth)
	(INITVARS (NC.FixedMenuFlg NIL)
		  (NC.ShortWindowMenuFlg T)
		  (NC.ShowNoteFileOnCards T)
		  (NC.IncludeCardObjectInShowInfo NIL)
		  (NC.ForceSourcesFlg NIL)
		  (NC.ForceFilingFlg T)
		  (NC.ForceTitlesFlg T)
		  (NC.MarkersInFileBoxesFlg T)
		  (NC.AlphabetizedFileBoxChildrenFlg NIL)
		  (NC.LinkIconAttachBitmapFlg T)
		  (NC.LinkIconShowTitleFlg T)
		  (NC.LinkIconShowLinkTypeFlg NIL)
		  (NC.LinkDashingInBrowser NIL)
		  (NC.ArrowHeadsInBrowser (QUOTE None))
		  (NC.MainMenuPosition NIL)
		  (World5File (QUOTE {DSK}WORLD5.MAPDATA))
		  (NC.SpecialBrowserSpecsFlg NIL)
		  (NC.AnnoFlg NIL)
		  (NC.DefaultCardType (QUOTE Text))
		  (NC.CloseCardsOffScreenFlg NIL)
		  (NC.BringUpCardAtOldPosFlg NIL)
		  (NC.EnableBravoToTEditConversionFlg NIL)
		  (NC.DefaultFont (FONTCREATE (QUOTE TimesRoman)
					      12))
		  (NC.LinkIconFont (FONTCREATE (QUOTE HELVETICA)
					       10
					       (QUOTE BOLD)))
		  (NC.NoteFileIndicatorFont (FONTCREATE (QUOTE HELVETICA)
							10
							(QUOTE BOLD)))
		  (NC.MenuFont (FONTCREATE (QUOTE HELVETICA)
					   10
					   (QUOTE BOLD)))
		  (NCINITIALGLOBALPARAMS NIL)
		  (NC.UseDeletedLinkIconIndicatorsFlg T)
		  (NC.DelTEditProcessAtShrinkFlg NIL)
		  (NC.UserSpecifiedTEditProps NIL)
		  (NC.AskTEditPropsWindowWidth 425)
		  (NC.AskTEditPropsWindowHeight 70)
		  (NC.NoteFileMenuLingerFlg T)
		  (NC.DefaultIndexSizeInEntries 1000)
		  (NC.MsgDelay 1500)
		  (NC.LinkIconMultiLineMode NIL)
		  (NC.LinkIconMaxWidth SCREENWIDTH))
	(GLOBALVARS NC.ListOfFontFamilies NC.ListOfFontSizes NC.ListOfFontFaces)
	[INITVARS (NC.ListOfFontFamilies (QUOTE (TIMESROMAN HELVETICA GACHA CLASSIC MODERN TERMINAL 
							    TITAN CREAM OLDENGLISH)))
		  (NC.ListOfFontSizes (QUOTE (8 9 10 11 12 14 18 24 30 36)))
		  (NC.ListOfFontFaces (QUOTE (STANDARD BOLD ITALIC BOLDITALIC]
	(PROPS (NC.NoteCardsParameters DefaultCardType)
	       (NC.NoteCardsParameters MenuLingersAfterNoteFileClose)
	       (NC.NoteCardsParameters ShowNoteFileOnCards)
	       (NC.NoteCardsParameters NewNoteFileInitialSize)
	       (NC.NoteCardsParameters ForceFiling)
	       (NC.NoteCardsParameters ForceTitles)
	       (NC.NoteCardsParameters CloseCardsOffScreen)
	       (NC.NoteCardsParameters BringUpCardsAtPreviousPos)
	       (NC.NoteCardsParameters MarkersInFileBoxes)
	       (NC.NoteCardsParameters AlphabetizedFileBoxChildren)
	       (NC.NoteCardsParameters DefaultLinkIconAttachBitmap)
	       (NC.NoteCardsParameters DefaultLinkIconShowTitle)
	       (NC.NoteCardsParameters DefaultLinkIconShowLinkType)
	       (NC.NoteCardsParameters UseDeletedLinkIconIndicators)
	       (NC.NoteCardsParameters DelTEditProcessWhenShrinking)
	       (NC.NoteCardsParameters ExtraTEditProps)
	       (NC.NoteCardsParameters EnableBravoToTEditConversion)
	       (NC.NoteCardsParameters IncludeCardObjectInShowInfo)
	       (NC.NoteCardsParameters LinkDashingInBrowsers)
	       (NC.NoteCardsParameters ArrowHeadsInBrowsers)
	       (NC.NoteCardsParameters SpecialBrowserSpecs)
	       (NC.NoteCardsParameters DefaultFont)
	       (NC.NoteCardsParameters LinkIconFont)
	       (NC.NoteCardsParameters MenuFont)
	       (NC.NoteCardsParameters NoteFileIndicatorFont)
	       (NC.NoteCardsParameters LinkIconMultiLineMode)
	       (NC.NoteCardsParameters LinkIconMaxWidthInPixels)
	       (NC.NoteCardsParameters LinkIconBorderWidth))
	[VARS (NC.NoteCardsParameters (PROPNAMES (QUOTE NC.NoteCardsParameters]
	(* * Parameter Inspector & Editor)
	(RECORDS GLOBALPARAMETER)
	(FNS NC.BuildInspector NC.InspectorFetchFn NC.InspectorSelectionFn 
	     NC.DefaultCardTypeSelectionFn NC.DefaultCardTypeCheckFn 
	     NC.ArrowHeadsInBrowserSelectionFn NC.ArrowHeadsInBrowserCheckFn 
	     NC.EnableBravoToTEditConversionFetchFn NC.EnableBravoToTEditConversionSelectionFn 
	     NC.DefaultFontFetchFn NC.DefaultFontSelectionFn NC.GetFontFromUser NC.FontFaceShorthand 
	     NC.UserSpecifiedTEditPropsSelectionFn NC.UserSpecifiedTEditPropsCheckFn 
	     NC.DefaultLinkIconParametersSelectionFn NC.ClearAllLinkIconImageBoxCaches 
	     NC.SetNewFileInitialSize NC.MenuFontAfterChangeFn)
	(FNS NC.SetLinkIconMaxWidth NC.SetLinkIconBorderWidth)))
(* * Tailoring parameters for the user to set.)

(DECLARE: COPY FIRST 
(NC.LoadFileFromDirectories (QUOTE STYLESHEET)
			    (QUOTE LISPUSERSDIRECTORIES))
)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.FixedMenuFlg NC.AdviseWindowMenuFlg NC.ForceSourcesFlg NC.ForceFilingFlg 
	    NC.ForceTitlesFlg NC.MarkersInFileBoxesFlg NC.AlphabetizedFileBoxChildrenFlg 
	    NC.LinkIconAttachBitmapFlg NC.LinkIconShowLinkTypeFlg NC.LinkIconShowTitleFlg 
	    NC.MainMenuPosition NC.ShowNoteFileOnCards NC.IncludeCardObjectInShowInfo World5File 
	    NC.SpecialBrowserSpecsFlg NC.AnnoFlg NC.LinkDashingInBrowser NC.ArrowHeadsInBrowser 
	    NC.EnableBravoToTEditConversionFlg NC.DefaultFont NC.LinkIconFont 
	    NC.NoteFileIndicatorFont NC.MenuFont NC.DefaultCardType NC.BringUpCardAtOldPosFlg 
	    NC.CloseCardsOffScreenFlg NC.NoteCardsParameters NC.SpecialBrowserMiddleButtonFn 
	    NCINITIALGLOBALPARAMS NC.UseDeletedLinkIconIndicatorsFlg NC.DelTEditProcessAtShrinkFlg 
	    NC.UserSpecifiedTEditProps NC.AskTEditPropsWindowWidth NC.AskTEditPropsWindowHeight 
	    NC.NoteFileMenuLingerFlg NC.DefaultIndexSizeInEntries NC.MsgDelay 
	    NC.LinkIconMultiLineMode NC.LinkIconMaxWidth)
)

(RPAQ? NC.FixedMenuFlg NIL)

(RPAQ? NC.ShortWindowMenuFlg T)

(RPAQ? NC.ShowNoteFileOnCards T)

(RPAQ? NC.IncludeCardObjectInShowInfo NIL)

(RPAQ? NC.ForceSourcesFlg NIL)

(RPAQ? NC.ForceFilingFlg T)

(RPAQ? NC.ForceTitlesFlg T)

(RPAQ? NC.MarkersInFileBoxesFlg T)

(RPAQ? NC.AlphabetizedFileBoxChildrenFlg NIL)

(RPAQ? NC.LinkIconAttachBitmapFlg T)

(RPAQ? NC.LinkIconShowTitleFlg T)

(RPAQ? NC.LinkIconShowLinkTypeFlg NIL)

(RPAQ? NC.LinkDashingInBrowser NIL)

(RPAQ? NC.ArrowHeadsInBrowser (QUOTE None))

(RPAQ? NC.MainMenuPosition NIL)

(RPAQ? World5File (QUOTE {DSK}WORLD5.MAPDATA))

(RPAQ? NC.SpecialBrowserSpecsFlg NIL)

(RPAQ? NC.AnnoFlg NIL)

(RPAQ? NC.DefaultCardType (QUOTE Text))

(RPAQ? NC.CloseCardsOffScreenFlg NIL)

(RPAQ? NC.BringUpCardAtOldPosFlg NIL)

(RPAQ? NC.EnableBravoToTEditConversionFlg NIL)

(RPAQ? NC.DefaultFont (FONTCREATE (QUOTE TimesRoman)
				    12))

(RPAQ? NC.LinkIconFont (FONTCREATE (QUOTE HELVETICA)
				     10
				     (QUOTE BOLD)))

(RPAQ? NC.NoteFileIndicatorFont (FONTCREATE (QUOTE HELVETICA)
					      10
					      (QUOTE BOLD)))

(RPAQ? NC.MenuFont (FONTCREATE (QUOTE HELVETICA)
				 10
				 (QUOTE BOLD)))

(RPAQ? NCINITIALGLOBALPARAMS NIL)

(RPAQ? NC.UseDeletedLinkIconIndicatorsFlg T)

(RPAQ? NC.DelTEditProcessAtShrinkFlg NIL)

(RPAQ? NC.UserSpecifiedTEditProps NIL)

(RPAQ? NC.AskTEditPropsWindowWidth 425)

(RPAQ? NC.AskTEditPropsWindowHeight 70)

(RPAQ? NC.NoteFileMenuLingerFlg T)

(RPAQ? NC.DefaultIndexSizeInEntries 1000)

(RPAQ? NC.MsgDelay 1500)

(RPAQ? NC.LinkIconMultiLineMode NIL)

(RPAQ? NC.LinkIconMaxWidth SCREENWIDTH)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS NC.ListOfFontFamilies NC.ListOfFontSizes NC.ListOfFontFaces)
)

(RPAQ? NC.ListOfFontFamilies (QUOTE (TIMESROMAN HELVETICA GACHA CLASSIC MODERN TERMINAL TITAN CREAM 
						  OLDENGLISH)))

(RPAQ? NC.ListOfFontSizes (QUOTE (8 9 10 11 12 14 18 24 30 36)))

(RPAQ? NC.ListOfFontFaces (QUOTE (STANDARD BOLD ITALIC BOLDITALIC)))

(PUTPROPS NC.NoteCardsParameters DefaultCardType (NC.DefaultCardType EVAL 
								    NC.DefaultCardTypeSelectionFn 
								       NC.DefaultCardTypeCheckFn))

(PUTPROPS NC.NoteCardsParameters MenuLingersAfterNoteFileClose NC.NoteFileMenuLingerFlg)

(PUTPROPS NC.NoteCardsParameters ShowNoteFileOnCards NC.ShowNoteFileOnCards)

(PUTPROPS NC.NoteCardsParameters NewNoteFileInitialSize (NC.DefaultIndexSizeInEntries EVAL 
									 NC.SetNewFileInitialSize NIL)
)

(PUTPROPS NC.NoteCardsParameters ForceFiling NC.ForceFilingFlg)

(PUTPROPS NC.NoteCardsParameters ForceTitles NC.ForceTitlesFlg)

(PUTPROPS NC.NoteCardsParameters CloseCardsOffScreen NC.CloseCardsOffScreenFlg)

(PUTPROPS NC.NoteCardsParameters BringUpCardsAtPreviousPos NC.BringUpCardAtOldPosFlg)

(PUTPROPS NC.NoteCardsParameters MarkersInFileBoxes NC.MarkersInFileBoxesFlg)

(PUTPROPS NC.NoteCardsParameters AlphabetizedFileBoxChildren NC.AlphabetizedFileBoxChildrenFlg)

(PUTPROPS NC.NoteCardsParameters DefaultLinkIconAttachBitmap (NC.LinkIconAttachBitmapFlg NIL 
							  NC.DefaultLinkIconParametersSelectionFn NIL)
)

(PUTPROPS NC.NoteCardsParameters DefaultLinkIconShowTitle (NC.LinkIconShowTitleFlg NIL 
							  NC.DefaultLinkIconParametersSelectionFn NIL)
)

(PUTPROPS NC.NoteCardsParameters DefaultLinkIconShowLinkType (NC.LinkIconShowLinkTypeFlg NIL 
							  NC.DefaultLinkIconParametersSelectionFn NIL)
)

(PUTPROPS NC.NoteCardsParameters UseDeletedLinkIconIndicators NC.UseDeletedLinkIconIndicatorsFlg)

(PUTPROPS NC.NoteCardsParameters DelTEditProcessWhenShrinking NC.DelTEditProcessAtShrinkFlg)

(PUTPROPS NC.NoteCardsParameters ExtraTEditProps (NC.UserSpecifiedTEditProps EVAL 
							    NC.UserSpecifiedTEditPropsSelectionFn 
								NC.UserSpecifiedTEditPropsCheckFn))

(PUTPROPS NC.NoteCardsParameters EnableBravoToTEditConversion (NC.EnableBravoToTEditConversionFlg
								  
							   NC.EnableBravoToTEditConversionFetchFn 
						       NC.EnableBravoToTEditConversionSelectionFn NIL)
)

(PUTPROPS NC.NoteCardsParameters IncludeCardObjectInShowInfo NC.IncludeCardObjectInShowInfo)

(PUTPROPS NC.NoteCardsParameters LinkDashingInBrowsers NC.LinkDashingInBrowser)

(PUTPROPS NC.NoteCardsParameters ArrowHeadsInBrowsers (NC.ArrowHeadsInBrowser EVAL 
								NC.ArrowHeadsInBrowserSelectionFn 
								    NC.ArrowHeadsInBrowserCheckFn))

(PUTPROPS NC.NoteCardsParameters SpecialBrowserSpecs NC.SpecialBrowserSpecsFlg)

(PUTPROPS NC.NoteCardsParameters DefaultFont (NC.DefaultFont NC.DefaultFontFetchFn 
							       NC.DefaultFontSelectionFn FONTP))

(PUTPROPS NC.NoteCardsParameters LinkIconFont (NC.LinkIconFont NC.DefaultFontFetchFn 
								 NC.DefaultFontSelectionFn FONTP))

(PUTPROPS NC.NoteCardsParameters MenuFont (NC.MenuFont NC.DefaultFontFetchFn 
							 NC.DefaultFontSelectionFn FONTP 
							 NC.MenuFontAfterChangeFn))

(PUTPROPS NC.NoteCardsParameters NoteFileIndicatorFont (NC.NoteFileIndicatorFont 
									    NC.DefaultFontFetchFn 
									NC.DefaultFontSelectionFn 
										   FONTP))

(PUTPROPS NC.NoteCardsParameters LinkIconMultiLineMode NC.LinkIconMultiLineMode)

(PUTPROPS NC.NoteCardsParameters LinkIconMaxWidthInPixels (NC.LinkIconMaxWidth EVAL 
									   NC.SetLinkIconMaxWidth NIL)
)

(PUTPROPS NC.NoteCardsParameters LinkIconBorderWidth (NC.LinkIconBorderWidth EVAL 
									NC.SetLinkIconBorderWidth NIL)
)

(RPAQ NC.NoteCardsParameters (PROPNAMES (QUOTE NC.NoteCardsParameters)))
(* * Parameter Inspector & Editor)

[DECLARE: EVAL@COMPILE 

(RECORD GLOBALPARAMETER (PARAMGLOBALVAR PARAMFETCHFN PARAMSELECTIONFN PARAMCHECKFN 
					  PARAMAFTERCHANGEFN))
]
(DEFINEQ

(NC.BuildInspector
  [LAMBDA NIL                                                (* pmi: "15-May-87 15:32")

          (* * Build and dislay an inspector window on the user tailoring flgs)



          (* * rht 5/1/86: Now flashes existing window instead of moving it.)



          (* * pmi 5/15/87: Removed NC.InspectorTitleCommandFn (TITLECOMMANDFN arg) from call to INSPECTW.CREATE)


    (DECLARE (GLOBALVARS NC.NoteCardsParameters))
    (PROG (InspectWindow)
	    (COND
	      ((SETQ InspectWindow (for Window in (OPENWINDOWS) when (WINDOWPROP
										 Window
										 (QUOTE 
									       NoteCardsInspector))
					do (RETURN Window)))
		(FLASHW InspectWindow))
	      (T (SETQ InspectWindow (INSPECTW.CREATE T NC.NoteCardsParameters
							  (FUNCTION NC.InspectorFetchFn)
							  NIL NIL NIL NIL 
							  "NoteCards Session Parameters"
							  (FUNCTION NC.InspectorSelectionFn)
							  NIL NIL))
		 (WINDOWPROP InspectWindow (QUOTE NoteCardsInspector)
			       T])

(NC.InspectorFetchFn
  (LAMBDA (Object Property)                                  (* rht: " 1-May-86 17:12")

          (* * Fetches the value of the atom specified by property. Object is a dummy argument in this case.)



          (* * rht 10/25/84: Now find relevant globalvar on proplist of NC.NoteCardsParameters. If there is a valuesfn, then 
	  we just display the value. If not, then it's assumed to be a binary T/NIL type globalvar and we display either Yes 
	  or No.)



          (* * rht 3/19/85: Rewrote to use the new GLOBALPARAMETER record which contains GlobalVar's name and fetchFn among 
	  other stuff.)


    (LET ((ParameterInfo (GETPROP (QUOTE NC.NoteCardsParameters)
				    Property))
	  GlobalVar FetchFn Value)
         (if (LISTP ParameterInfo)
	     then (SETQ GlobalVar (fetch (GLOBALPARAMETER PARAMGLOBALVAR) of ParameterInfo))
		    (SETQ FetchFn (fetch (GLOBALPARAMETER PARAMFETCHFN) of ParameterInfo))
	   else (SETQ GlobalVar ParameterInfo))
         (COND
	   (FetchFn (APPLY* FetchFn GlobalVar))
	   ((EVAL GlobalVar)
	     (QUOTE Yes))
	   (T (QUOTE No))))))

(NC.InspectorSelectionFn
  [LAMBDA (Property ValueFlg InspectWindow)                  (* pmi: " 6-Apr-87 12:20")

          (* * Actions to be taken when the user selects an item in the Inspector. If a value, then ignore.
	  If a property, ask for a new value.)



          (* * KLUDGED to hadle the NC.DefaultcardType property --- should be fixed to be general!!!!!!! fgh 10/23/84)



          (* * rht 10/25/84: Rewritten to access the NC.NoteCardsParameters variable's prop list to get all info including 
	  the name of the relevant globalvar for this parameter and an optional function. The latter returns a list of 
	  possible values. If no such function, then just toggle between Yes and No.)



          (* * rht 3/19/85: Rewritten to use new GLOBALPARAMETER record which contains globalvar's name and selection fn 
	  among other stuff.)



          (* * rht 5/1/86: Now can toggle either by clicking attribute or value.)



          (* * pmi 4/1/87: Added fifth field to GLOBALPARAMETER record: PARAMAFTERCHANGEFN. This function is called after the
	  Global parameter has been changed.)



          (* * pmi 4/6/87: Added check for non-NIL AfterChangeFn before trying to apply it to the GlobalVar.)


    (PROG (Answer (ParameterInfo (GETPROP (QUOTE NC.NoteCardsParameters)
					      Property))
		    SelectionFn AfterChangeFn GlobalVar)
	    (if (LISTP ParameterInfo)
		then (SETQ GlobalVar (fetch (GLOBALPARAMETER PARAMGLOBALVAR) of ParameterInfo)
			 )
		       (SETQ SelectionFn (fetch (GLOBALPARAMETER PARAMSELECTIONFN) of 
										    ParameterInfo))
		       (SETQ AfterChangeFn (fetch (GLOBALPARAMETER PARAMAFTERCHANGEFN)
						of ParameterInfo))
	      else (SETQ GlobalVar ParameterInfo))
	    (COND
	      (SelectionFn (if (NEQ (QUOTE NOTCHANGED)
					(SETQ Answer (APPLY* SelectionFn GlobalVar)))
			       then (SET GlobalVar Answer)
				      (if AfterChangeFn
					  then (APPLY* AfterChangeFn GlobalVar))
				      (INSPECTW.REDISPLAY InspectWindow Property)))
	      (T (COND
		   ((EVAL GlobalVar)
		     (SET GlobalVar NIL))
		   (T (SET GlobalVar T)))
		 (INSPECTW.REDISPLAY InspectWindow Property)))
	    (INSPECTW.SELECTITEM InspectWindow])

(NC.DefaultCardTypeSelectionFn
  [LAMBDA (GlobalVar)                                        (* pmi: "25-Mar-87 09:51")

          (* * Let user choose from a menu of card types.)



          (* * pmi 3/25/87: Added NC.MenuFont to all menus and cleaned up to use NC.NoteCardTypeMenu)


    (DECLARE (GLOBALVARS NC.NoteCardTypeMenu NC.MenuFont))
    (OR (AND (BOUNDP (QUOTE NC.NoteCardTypeMenu))
		 (type? MENU NC.NoteCardTypeMenu))
	  [MENU (SETQ NC.NoteCardTypeMenu (create MENU
							ITEMS ← (NC.ListOfCardTypes T)
							CENTERFLG ← T
							TITLE ← "Card Types"
							MENUFONT ← NC.MenuFont
							ITEMHEIGHT ← (IPLUS (FONTPROP
										NC.MenuFont
										(QUOTE HEIGHT))
									      1]
	  (QUOTE NOTCHANGED])

(NC.DefaultCardTypeCheckFn
  (LAMBDA (CandidateVal)                                     (* rht: "18-Mar-85 18:23")

          (* * Must be a valid card type.)


    (FMEMB CandidateVal (NC.ListOfCardTypes))))

(NC.ArrowHeadsInBrowserSelectionFn
  [LAMBDA (GlobalVar)                                        (* pmi: "25-Mar-87 10:03")

          (* * Ask user for new value from a menu of choices.)



          (* * pmi 3/25/87: Added NC.MenuFont to all menus and cleaned up for consistency.)


    (DECLARE (GLOBALVARS NC.MenuFont))
    (OR (MENU (create MENU
			    ITEMS ← (QUOTE ((At% Midpoint (QUOTE AtMidpoint)
							    
					       "Place arrow heads at midpoints of browser links.")
					       (At% Endpoint (QUOTE AtEndpoint)
							     
					       "Place arrow heads at endpoints of browser links.")
					       (None (QUOTE None)
						     "Do not draw arrow heads in browsers.")))
			    TITLE ← " Arrow Head Types "
			    CENTERFLG ← T
			    MENUFONT ← NC.MenuFont
			    ITEMHEIGHT ← (IPLUS (FONTPROP NC.MenuFont (QUOTE HEIGHT))
						  1)))
	  (QUOTE NOTCHANGED])

(NC.ArrowHeadsInBrowserCheckFn
  (LAMBDA (CandidateVar)                                     (* rht: "18-Mar-85 18:36")

          (* * Check candidate against list of possible values.)


    (FMEMB CandidateVar (QUOTE (AtMidpoint AtEndpoint None)))))

(NC.EnableBravoToTEditConversionFetchFn
  (LAMBDA (GlobalVar)                                        (* rht: "19-Mar-85 10:36")

          (* * Just convert T/NIL to Yes/No.)


    (if (EVAL GlobalVar)
	then (QUOTE Yes)
      else (QUOTE No))))

(NC.EnableBravoToTEditConversionSelectionFn
  (LAMBDA (GlobalVar)                                        (* rht: "19-Mar-85 11:03")

          (* * Just toggle the value, but do side effect of setting or unsetting TEdit's input formats.)


    (if (EVAL GlobalVar)
	then (SETQ TEDIT.INPUT.FORMATS NIL)
	       NIL
      else (SETQ TEDIT.INPUT.FORMATS (BQUOTE ((\TEDIT.BRAVOFILE? TEDITFROMBRAVO))))
	     T)))

(NC.DefaultFontFetchFn
  (LAMBDA (GlobalVar)                                        (* rht: "19-Mar-85 10:47")

          (* * Return the shorthand display of font.)


    (PROG ((Font (EVAL GlobalVar)))
	    (RETURN (LIST (FONTPROP Font (QUOTE FAMILY))
			      (FONTPROP Font (QUOTE SIZE))
			      (NC.FontFaceShorthand (FONTPROP Font (QUOTE FACE))))))))

(NC.DefaultFontSelectionFn
  (LAMBDA (GlobalVar)                                        (* rht: "19-Mar-85 11:15")

          (* * Just go get a font from the user.)


    (OR (NC.GetFontFromUser (EVAL GlobalVar))
	  (QUOTE NOTCHANGED))))

(NC.GetFontFromUser
  [LAMBDA (CurrentFont)                                      (* rht: " 7-Feb-87 14:38")

          (* * Get a font from the user. Current font characteristics serve as the default.)



          (* * fgh 6/5/86 Fixed so that never returns a font it cannot find. If font is not found, returns old font.)



          (* * rht 2/7/87: Fixed bug %#411: now returns NIL when stylesheet was aborted. Also does nicer things with prompt 
	  window in case of bad font choice. Lists of font families, sizes, and faces are now in global vars so users can 
	  change them in their init files.)


    (DECLARE (GLOBALVARS NC.ListOfFontFamilies NC.ListOfFontSizes NC.ListOfFontFaces))
    (LET [(Answer (STYLESHEET (CREATE.STYLE (QUOTE TITLE)
						"Please select a font:"
						(QUOTE ITEM.TITLES)
						(QUOTE (Family Size Face))
						(QUOTE ITEM.TITLE.FONT)
						(QUOTE (TIMESROMAN 12 BOLD))
						(QUOTE ITEMS)
						(LIST (create MENU
								  ITEMS ← NC.ListOfFontFamilies)
							(create MENU
								  ITEMS ← (SORT NC.ListOfFontSizes))
							(create MENU
								  ITEMS ← NC.ListOfFontFaces))
						(QUOTE SELECTIONS)
						[LIST (FONTPROP CurrentFont (QUOTE FAMILY))
							(FONTPROP CurrentFont (QUOTE SIZE))
							(NC.FontFaceShorthand (FONTPROP
										  CurrentFont
										  (QUOTE FACE]
						(QUOTE NEED.NOT.FILL.IN)
						NIL]
         (RESETLST [RESETSAVE (SETQ HELPFLAG NIL)
				  (BQUOTE (SETQ HELPFLAG , (KWOTE HELPFLAG]
		     (COND
		       ((NULL Answer)
			 NIL)
		       [(CAR (NLSETQ (APPLY (FUNCTION FONTCREATE)
						  Answer]
		       (T (NC.PrintMsg (LET ((InspectWindow (for Window in (OPENWINDOWS)
								 when (WINDOWPROP Window
										      (QUOTE 
									       NoteCardsInspector))
								 do (RETURN Window)))
					       PromptWin)
					      (if (AND InspectWindow (SETQ PromptWin
							     (GETPROMPTWINDOW InspectWindow)))
						  then (FLASHW PromptWin)
							 PromptWin
						else NIL))
					 T "Cannot find font: " Answer)
			  NIL])

(NC.FontFaceShorthand
  (LAMBDA (FontFace)                                         (* rht: " 6-Mar-85 18:17")

          (* * If there's a shorthand atomic representation of this face, then return it, else just return the 3-tuple 
	  representation.)


    (PROG ((Regular (QUOTE (MEDIUM REGULAR REGULAR)))
	     (Italic (QUOTE (MEDIUM ITALIC REGULAR)))
	     (Bold (QUOTE (BOLD REGULAR REGULAR)))
	     (BoldItalic (QUOTE (BOLD ITALIC REGULAR))))
	    (RETURN (COND
			((EQUAL FontFace Regular)
			  (QUOTE STANDARD))
			((EQUAL FontFace Italic)
			  (QUOTE ITALIC))
			((EQUAL FontFace Bold)
			  (QUOTE BOLD))
			((EQUAL FontFace BoldItalic)
			  (QUOTE BOLDITALIC))
			(T FontFace))))))

(NC.UserSpecifiedTEditPropsSelectionFn
  (LAMBDA (GlobalVar)                                        (* rht: " 1-May-86 21:24")

          (* * Get the user's tedit props by letting her type in a TTYIN window.)


    (LET ((TTYINWindow (CREATEW (CREATEREGION LASTMOUSEX LASTMOUSEY NC.AskTEditPropsWindowWidth 
						  NC.AskTEditPropsWindowHeight)
				  "TEdit Props?"))
	  (OldValue (EVAL GlobalVar))
	  NewValue)
         (NC.MoveWindowOntoScreen TTYINWindow)
         (PRIN1 (CONCAT "Type sequence of pairs of attributes and values" (CHARACTER 13)
			    "followed by carriage return."
			    (CHARACTER 13)
			    "(Preface expressions with ctrl-Y to have them eval'ed.)"
			    (CHARACTER 13))
		  TTYINWindow)
         (SETQ NewValue (RESETFORM (TTYDISPLAYSTREAM TTYINWindow)
				       (CAR (NLSETQ (TTYIN ">> " NIL NIL (QUOTE (LISPXREAD))
								 NIL NIL OldValue T)))))
         (CLOSEW TTYINWindow)
         (if (NC.UserSpecifiedTEditPropsCheckFn NewValue)
	     then NewValue
	   else (NC.PrintMsg NIL T "List must contain an even number of items.")
		  (FLASHW PROMPTWINDOW)
		  OldValue))))

(NC.UserSpecifiedTEditPropsCheckFn
  (LAMBDA (CandidateVar)                                     (* rht: " 1-May-86 18:34")

          (* * Check that candidate is a list of pairs.)


    (OR (NULL CandidateVar)
	  (AND (LISTP CandidateVar)
		 (EVENP (LENGTH CandidateVar))))))

(NC.DefaultLinkIconParametersSelectionFn
  [LAMBDA (GlobalVar)                                        (* rht: "18-Nov-86 15:23")

          (* * Toggle setting of parameter and then update every card on the screen.)



          (* * fgh 6/5/86 First created.)



          (* * rht 11/18/86: Commented out the clearing of all link icon caches. This functionality should be made available 
	  somewhere else than the session params window.)


    (PROG1 (COND
	       ((EVAL GlobalVar)
		 (SET GlobalVar NIL))
	       (T (SET GlobalVar T)))                      (* NC.ClearAllLinkIconImageBoxCaches)
	     ])

(NC.ClearAllLinkIconImageBoxCaches
  (LAMBDA NIL                                                (* fgh: " 5-Jun-86 18:01")

          (* * FOr all cards on the screen, clear the image box caches for all the link icons in thee cards)



          (* * fgh 6/5/86 First created.)


    (bind Card for Window in (OPENWINDOWS) when (SETQ Card (NC.CoerceToCard Window))
       do (for LinkIcon in (CAR (NC.CollectReferences Card NIL T NIL))
	       do (IMAGEOBJPROP LinkIcon (QUOTE BOUNDBOX)
				    (NC.LinkIconImageBoxFn LinkIcon (WINDOWPROP Window
										    (QUOTE DSP))))
		    (if (WINDOWPROP Window (QUOTE TEXTSTREAM))
			then (TEDIT.OBJECT.CHANGED (TEXTSTREAM Window)
						       LinkIcon)
		      else (REDISPLAYW Window))))))

(NC.SetNewFileInitialSize
  (LAMBDA NIL                                                (* kirk: "14-Aug-86 21:11")

          (* * kirk 14Aug86 first created)


    (OR (RNUMBER "Initial Size of New NoteFiles" NIL NIL NIL T NIL)
	  NC.DefaultIndexSizeInEntries)))

(NC.MenuFontAfterChangeFn
  [LAMBDA (GlobalVar)                                        (* pmi: " 1-Apr-87 14:14")

          (* * pmi 4/1/87: Reset menu global variables to force their recomputation later.)


    (NC.ResetCachedMenus])
)
(DEFINEQ

(NC.SetLinkIconMaxWidth
  [LAMBDA NIL                                                (* pmi: "13-Feb-87 14:33")
    (DECLARE (GLOBALVARS NC.LinkIconMaxWidth))
    (LET ((MaxScreenSpace (DIFFERENCE SCREENWIDTH 18))
	  NewLinkIconMaxWidth InspectWindow)
         (SETQ NewLinkIconMaxWidth (OR (RNUMBER "Maximum Width of Link Icons (in Pixels)" NIL 
						      NIL NIL T NIL)
					   NC.LinkIconMaxWidth))
         (if (GREATERP NewLinkIconMaxWidth MaxScreenSpace)
	     then (NC.PrintMsg (if (SETQ InspectWindow (for Window in (OPENWINDOWS)
								  when (WINDOWPROP Window
										       (QUOTE
											 
									       NoteCardsInspector))
								  do (RETURN Window)))
				       then (GETPROMPTWINDOW InspectWindow 1)
				     else NIL)
				   T "You are limited to screen width of " MaxScreenSpace)
		    MaxScreenSpace
	   else NewLinkIconMaxWidth])

(NC.SetLinkIconBorderWidth
  [LAMBDA NIL                                                (* pmi: "13-Feb-87 14:33")
    (DECLARE (GLOBALVARS NC.LinkIconBorderWidth))
    (LET ((MaxBorderWidth 20)
	  NewLinkIconBorderWidth InspectWindow)
         (SETQ NewLinkIconBorderWidth (OR (RNUMBER "Width of Link Icon Borders (in Pixels)" NIL 
							 NIL NIL T NIL)
					      NC.LinkIconBorderWidth))
         (if (GREATERP NewLinkIconBorderWidth MaxBorderWidth)
	     then (NC.PrintMsg (if (SETQ InspectWindow (for Window in (OPENWINDOWS)
								  when (WINDOWPROP Window
										       (QUOTE
											 
									       NoteCardsInspector))
								  do (RETURN Window)))
				       then (GETPROMPTWINDOW InspectWindow 1)
				     else NIL)
				   T "You are limited to a maximum border width of " MaxBorderWidth)
		    MaxBorderWidth
	   else NewLinkIconBorderWidth])
)
(PUTPROPS NCPARAMETERS COPYRIGHT ("Xerox Corporation" 1984 1985 1986 1987))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (12745 27687 (NC.BuildInspector 12755 . 13840) (NC.InspectorFetchFn 13842 . 15042) (
NC.InspectorSelectionFn 15044 . 17423) (NC.DefaultCardTypeSelectionFn 17425 . 18223) (
NC.DefaultCardTypeCheckFn 18225 . 18453) (NC.ArrowHeadsInBrowserSelectionFn 18455 . 19398) (
NC.ArrowHeadsInBrowserCheckFn 19400 . 19670) (NC.EnableBravoToTEditConversionFetchFn 19672 . 19952) (
NC.EnableBravoToTEditConversionSelectionFn 19954 . 20406) (NC.DefaultFontFetchFn 20408 . 20821) (
NC.DefaultFontSelectionFn 20823 . 21089) (NC.GetFontFromUser 21091 . 23338) (NC.FontFaceShorthand 
23340 . 24106) (NC.UserSpecifiedTEditPropsSelectionFn 24108 . 25319) (
NC.UserSpecifiedTEditPropsCheckFn 25321 . 25633) (NC.DefaultLinkIconParametersSelectionFn 25635 . 
26291) (NC.ClearAllLinkIconImageBoxCaches 26293 . 27147) (NC.SetNewFileInitialSize 27149 . 27432) (
NC.MenuFontAfterChangeFn 27434 . 27685)) (27688 29634 (NC.SetLinkIconMaxWidth 27698 . 28664) (
NC.SetLinkIconBorderWidth 28666 . 29632)))))
STOP