(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP")
(FILECREATED "18-Aug-88 19:08:19" {QV}<NOTECARDS>1.3LNEXT>PMIPATCH104.;1 5140   

      changes to%:  (VARS PMIPATCH104COMS)
                    (FNS NC.MakeLinksLegendMenu))


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

(PRETTYCOMPRINT PMIPATCH104COMS)

(RPAQQ PMIPATCH104COMS
       (

(* ;;; "New file")

        (DECLARE%: DONTCOPY (PROPS (PMIPATCH104 MAKEFILE-ENVIRONMENT)
                                   (PMIPATCH104 FILETYPE)))
        [DECLARE%: FIRST (P (NC.LoadFileFromDirectories 'NCBROWSERCARD]
        
        (* ;; 
        "pmi 8/18/88: No longer puts up a link legend for a browser that does not have any links.")

        
        (* ;; "Changed in NCBROWSERCARD")

        (FNS NC.MakeLinksLegendMenu)))



(* ;;; "New file")

(DECLARE%: DONTCOPY 

(PUTPROPS PMIPATCH104 MAKEFILE-ENVIRONMENT (:PACKAGE "INTERLISP" :READTABLE "INTERLISP"))

(PUTPROPS PMIPATCH104 FILETYPE :BCOMPL)
)
(DECLARE%: FIRST 

(NC.LoadFileFromDirectories 'NCBROWSERCARD)
)



(* ;; "pmi 8/18/88: No longer puts up a link legend for a browser that does not have any links.")




(* ;; "Changed in NCBROWSERCARD")

(DEFINEQ

(NC.MakeLinksLegendMenu
  [LAMBDA (Win LabelPairs)                                   (* ; "Edited 18-Aug-88 19:07 by pmi")

    (* ;; "Build a links legend menu and attach to Win")

    (* ;; "rht 1/10/85: Before starting, kill any old links legend menus for Win.")

    (* ;; "rht 1/13/86: Now holds onto value of PASSTOMAINCOMS windowprop of prompt win and restores after reattaching.")

    (* ;; "rht 1/15/86: Added windowprops MINSIZE and MAXSIZE to fix the bug where reshaping browser screws up links legend menu.")

    (* ;; 
   "rht 3/7/86: Now closes prompt window before attaching menu.  Uses ATTACHMENU to attach the menu.")

    (* ;; "rht 4/5/86: Took out call to NC.MoveWindowOntoScreen.  For big browsers it causes redraw of window which is too high a price to pay.")

    (* ;; "rht 3/20/87: Changed so that ATTACHMENU call is inside of NC.WithWindowsUnattached macro.  Also took out closing of prompt window, as it's no longer necessary.")

    (* ;; "rht 1/16/88: Now does nothing if card has non-nil OmitLinksLegendFlg user data prop.")

    (* ;; "pmi 8/18/88: No longer puts up a link legend if the browser does not have any links.")

    (DECLARE (GLOBALVARS NC.LinkDashingInBrowser))
    (OR (NCP.CardUserDataProp (NCP.WhichCard Win)
               'OmitLinksLegendFlg)
        (LET (Menu MenuWin PromptWin MainWinPromptInfo PromptWinPASSTOMAINCOMS)
             (for AttachedWin in (ATTACHEDWINDOWS Win) when (WINDOWPROP AttachedWin 'LINKSLEGENDWINP)
                do (REMOVEWINDOW AttachedWin))
             (if LabelPairs
                 then [SETQ Menu (COND
                                    (NC.LinkDashingInBrowser
                                     (create MENU
                                            ITEMS ← [for Pair in LabelPairs
                                                       join (LIST (CAR Pair)
                                                                  (LIST '"  "]
                                            TITLE ← 'Links
                                            MENUCOLUMNS ← 2))
                                    (T (create MENU
                                              ITEMS ← (for Pair in LabelPairs
                                                         collect (CAR Pair))
                                              TITLE ← 'Links
                                              MENUCOLUMNS ← 1] 
                                                             (* ; 
                                               "Stick the links legend window at upper right corner.")
                      [NC.WithTopWindowsUnattached Win (SETQ MenuWin (ATTACHMENU Menu Win
                                                                            'RIGHT
                                                                            'TOP] 
                                                             (* ; 
                                                     "Rig so that close of menu won't close browser.")
                      (WINDOWDELPROP MenuWin 'PASSTOMAINCOMS 'CLOSEW)
                      (WINDOWADDPROP MenuWin 'CLOSEFN [FUNCTION (LAMBDA (W)
                                                                  (DETACHWINDOW W]
                             T)
                      (WINDOWADDPROP MenuWin 'REPAINTFN 'NC.LinksLegendRepaintFn)
                      (WINDOWADDPROP MenuWin 'RESHAPEFN 'NC.LinksLegendReshapeFn)
                      (WINDOWADDPROP MenuWin 'LINKSLEGENDWINP T)
                      (WINDOWPROP Win 'NCLABELPAIRS LabelPairs)
                      (if NC.LinkDashingInBrowser
                          then (NC.LinksLegendRepaintFn MenuWin NIL])
)
(PUTPROPS PMIPATCH104 COPYRIGHT ("Xerox Corporation" 1988))
(DECLARE%: DONTCOPY
  (FILEMAP (NIL (1254 5057 (NC.MakeLinksLegendMenu 1264 . 5055)))))
STOP