(FILECREATED " 9-Jan-87 19:45:25" {ERIS}<LISPUSERS>KOTO>PHONE-DIRECTORY.;3 7991
changes to: (FNS Cache-Phone-Directory-Files)
previous date: "22-Aug-86 15:54:28" {ERIS}<LISPUSERS>KOTO>PHONE-DIRECTORY.;2)
(* Copyright (c) 1986, 1987 by Xerox Corporation. All rights reserved.)
(PRETTYCOMPRINT PHONE-DIRECTORYCOMS)
(RPAQQ PHONE-DIRECTORYCOMS ((FNS Cache-Phone-Directory-Files Let-your-fingers-do-the-walking
Phone-Directory-Kill-Proc Phone-Window-ButtonEventFn Lookup-Person Phone-Window-WhenOpenedFn) (BITMAPS
fingersIconMask fingersIconBM) (INITVARS (*Cached-Phone-Directory-Files* NIL) (*Phone-Directory-Pos*
(create POSITION XCOORD ← 15 YCOORD ← (DIFFERENCE SCREENHEIGHT 75))) (*Phone-Directory-Region* (
CREATEREGION 15 (DIFFERENCE SCREENHEIGHT 258) 400 250))) (GLOBALVARS *Cached-Phone-Directory-Files*
*Phone-Directory-Pos* *Phone-Directory-Region* fingersIconMask fingersIconBM) (FILES GREP) (P (
Let-your-fingers-do-the-walking))))
(DEFINEQ
(Cache-Phone-Directory-Files
(LAMBDA (msgStream) (* smL " 9-Jan-87 19:40") (* * Cache the phone directory files in core) (printout
msgStream T "Caching phone directory files...") (LET ((oldFiles *Cached-Phone-Directory-Files*)) (SETQ
*Cached-Phone-Directory-Files* (for file in (for f inside PHONELISTFILES collect (FINDFILE f)) bind
localFile when (NOT (NULL file)) collect (printout msgStream T "Caching " file "...") (SETQ localFile
(PACKFILENAME.STRING (QUOTE HOST) (QUOTE CORE) (QUOTE VERSION) NIL (QUOTE BODY) file)) (COPYFILE file
localFile) localFile)) (for file in oldFiles do (DELFILE file))) (printout NIL "done" T T)))
(Let-your-fingers-do-the-walking
[LAMBDA NIL (* smL "21-Aug-86 14:08")
(* * Create a directory lookup window)
(LET ((w (CREATEW *Phone-Directory-Region* "Phone directory" NIL)))
[WINDOWPROP w (QUOTE ICONFN)
(FUNCTION (LAMBDA (w icon)
(OR icon (ICONW fingersIconBM fingersIconMask *Phone-Directory-Pos* T]
(WINDOWADDPROP w (QUOTE OPENFN)
(FUNCTION Phone-Window-WhenOpenedFn))
(WINDOWADDPROP w (QUOTE EXPANDFN)
(FUNCTION Phone-Window-WhenOpenedFn))
(WINDOWADDPROP w (QUOTE CLOSEFN)
(FUNCTION Phone-Directory-Kill-Proc))
(WINDOWADDPROP w (QUOTE SHRINKFN)
(FUNCTION Phone-Directory-Kill-Proc))
(WINDOWPROP w (QUOTE BUTTONEVENTFN)
(FUNCTION Phone-Window-ButtonEventFn))
[WINDOWPROP w (QUOTE RIGHTBUTTONFN)
(FUNCTION (LAMBDA (w)
(if (EQ (THIS.PROCESS)
(WINDOWPROP w (QUOTE PROCESS)))
then [ADD.PROCESS (BQUOTE (DOWINDOWCOM (\, w]
else (DOWINDOWCOM w]
(SHRINKW w)
w])
(Phone-Directory-Kill-Proc
[LAMBDA (window) (* smL "21-Aug-86 13:05")
(* * Kill the phone directory process associated with the window)
(LET [(proc (WINDOWPROP window (QUOTE PROCESS]
(if (PROCESSP proc)
then (if (TTY.PROCESSP proc)
then (TTY.PROCESS T))
(DEL.PROCESS proc])
(Phone-Window-ButtonEventFn
[LAMBDA (w) (* smL " 1-Aug-86 09:37")
(* * The button event fn for the phone directory lookup window -
if the user bugs in the title, lets them re-cache the phone list)
(if [AND (NOT (MOUSESTATE UP))
(NOT (INSIDEP (DSPCLIPPINGREGION NIL w)
(LASTMOUSEX w)
(LASTMOUSEY w)))
(MENU (LOADTIMECONSTANT (create MENU
ITEMS ←(QUOTE ("Recache the directory files?"
]
then (Cache-Phone-Directory-Files PROMPTWINDOW])
(Lookup-Person
[LAMBDA (w) (* smL "21-Aug-86 13:46")
(* * The main program for the Phone-Directory)
(OPENW w)
(TTYDISPLAYSTREAM w)
(TTY.PROCESS (THIS.PROCESS))
(OR *Cached-Phone-Directory-Files* (Cache-Phone-Directory-Files T))
(bind name
do (TERPRI)
(SETQ name (TTYIN "Name: " NIL NIL (QUOTE (STRING NORAISE))
NIL NIL NIL NIL))
(if (NOT (NULL name))
then (GREP name *Cached-Phone-Directory-Files*))
until (NOT (OPENWP w])
(Phone-Window-WhenOpenedFn
[LAMBDA (w) (* smL "21-Aug-86 13:21")
(* * The OPENFN for the Phone lookup window)
(if (WINDOWPROP w (QUOTE PROCESS))
then (TTY.PROCESS (WINDOWPROP w (QUOTE PROCESS)))
else (OPENW w)
(ADD.PROCESS (BQUOTE (Lookup-Person (\, w)))
(QUOTE NAME)
(QUOTE Lookup-Person)
(QUOTE WINDOW)
w])
)
(RPAQ fingersIconMask (READBITMAP))
(57 62
"AOOOOOOOOOOOOL@@"
"GOOOOOOOOOOOOO@@"
"GOOOOOOOOOOOOO@@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"OOOOOOOOOOOOOOH@"
"GOOOOOOOOOOOOO@@"
"GOOOOOOOOOOOOO@@"
"COOOOOOOOOOOON@@"
"@OOOOOOOOOOOOH@@")
(RPAQ fingersIconBM (READBITMAP))
(57 62
"AOOOOOOOOOOOOL@@"
"GOOOOOOOOOOOOO@@"
"GOOOOOOOOOOOOO@@"
"O@@@@@@@@@@@@GH@"
"N@@@@@@@@@@@@CH@"
"N@@GOOL@@@@@@CH@"
"N@@COON@@@@@@CH@"
"N@@AOON@@@@@@CH@"
"N@@AOOO@@@@@@CH@"
"N@@AOOO@@@@@@CH@"
"N@@COOO@@@@@@CH@"
"N@@COOOH@@@@@CH@"
"N@@COOOH@@@@@CH@"
"N@@COOOL@@@@@CH@"
"N@@COOOL@@@@@CH@"
"N@@@OOON@@@@@CH@"
"N@@@OOON@@@@@CH@"
"N@@@OOOO@@@@@CH@"
"N@@@GOOO@@@@@CH@"
"N@@@GOOOH@@@@CH@"
"N@@@OOOOH@@@@CH@"
"N@@AOOGOL@@@@CH@"
"N@@AONCOL@@@@CH@"
"N@@COHIOL@@@@CH@"
"N@@COIION@@@@CH@"
"N@@GOALON@@@@CH@"
"N@@GLCLOO@@@@CH@"
"N@@OHCNGO@@@@CH@"
"N@@@@GNGOH@@@CH@"
"N@@@@GOCOH@@@CH@"
"N@@@@ONAOH@@@CH@"
"N@@@AOLAOL@@@CH@"
"N@@@AOL@OL@@@CH@"
"N@@@COH@ON@@@CH@"
"N@@@COH@GN@@@CH@"
"N@@@GO@@GO@@@CH@"
"N@@@GN@@CO@@@CH@"
"N@@@OL@@AO@@@CH@"
"N@@@OL@@AOH@@CH@"
"N@@AOH@@@OH@@CH@"
"N@@AO@@@@OL@@CH@"
"N@@AO@@@@GL@@CH@"
"N@@AN@@@@CN@@CH@"
"N@@AL@@@@CN@@CH@"
"N@@@@@@@@AO@@CH@"
"N@@@@@@@@@O@@CH@"
"N@@@@@@@@@F@@CH@"
"O@@@GOHAON@@@GH@"
"O@@AOONCOOH@@GH@"
"OL@GOOOGOON@AOH@"
"OOOOL@OOHAOOOOH@"
"OOOO@@GO@@GOOOH@"
"NOOL@@GO@@AOOKH@"
"NAO@@@CN@@@GLCH@"
"N@@@@@CN@@@@@CH@"
"N@@@@@@@@@@@@CH@"
"N@@@@@@@@@@@@CH@"
"N@@@@@@@@@@@@CH@"
"G@@@@@@@@@@@@G@@"
"GOOOOOOOOOOOOO@@"
"COOOOOOOOOOOON@@"
"@OOOOOOOOOOOOH@@")
(RPAQ? *Cached-Phone-Directory-Files* NIL)
(RPAQ? *Phone-Directory-Pos* (create POSITION XCOORD ← 15 YCOORD ← (DIFFERENCE SCREENHEIGHT 75)))
(RPAQ? *Phone-Directory-Region* (CREATEREGION 15 (DIFFERENCE SCREENHEIGHT 258) 400 250))
(DECLARE: DOEVAL@COMPILE DONTCOPY
(GLOBALVARS *Cached-Phone-Directory-Files* *Phone-Directory-Pos* *Phone-Directory-Region*
fingersIconMask fingersIconBM)
)
(FILESLOAD GREP)
(Let-your-fingers-do-the-walking)
(PUTPROPS PHONE-DIRECTORY COPYRIGHT ("Xerox Corporation" 1986 1987))
(DECLARE: DONTCOPY
(FILEMAP (NIL (965 5013 (Cache-Phone-Directory-Files 975 . 1610) (Let-your-fingers-do-the-walking 1612
. 2859) (Phone-Directory-Kill-Proc 2861 . 3271) (Phone-Window-ButtonEventFn 3273 . 3891) (
Lookup-Person 3893 . 4522) (Phone-Window-WhenOpenedFn 4524 . 5011)))))
STOP