(DEFINE-FILE-INFO READTABLE "XCL" PACKAGE "XCL-USER")
(IL:FILECREATED " 6-Oct-88 12:43:10" IL:{ERINYES}<LISPUSERS>MEDLEY>DICT-WINDOW-TYPES.\;3 4434   

      IL:|changes| IL:|to:|  (IL:FUNCTIONS DICT-WINDOW-RECONSTITUTER SEARCH-MENU-RECONSTITUTER 
                                    DICT-WINDOW-ABSTRACTER SEARCH-MENU-ABSTRACTER SEARCH-MENU-P 
                                    DICT-WINDOW-P)
                             (IL:WINDOW-TYPES :DICT-WINDOW :SEARCH-MENU)
                             (IL:VARS IL:DICT-WINDOW-TYPESCOMS)
                             (IL:FNS SEARCH-MENU-P)
                             (FILE-ENVIRONMENTS IL:DICT-WINDOW-TYPES)

      IL:|previous| IL:|date:| " 6-Oct-88 12:18:11" IL:{ERINYES}<LISPUSERS>MEDLEY>DICT-WINDOW-TYPES.\;2
)


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

(IL:PRETTYCOMPRINT IL:DICT-WINDOW-TYPESCOMS)

(IL:RPAQQ IL:DICT-WINDOW-TYPESCOMS ((FILE-ENVIRONMENTS IL:DICT-WINDOW-TYPES)
                                        (IL:WINDOW-TYPES :DICT-WINDOW :SEARCH-MENU)
                                        (IL:FUNCTIONS DICT-WINDOW-P DICT-WINDOW-ABSTRACTER 
                                               DICT-WINDOW-RECONSTITUTER)
                                        (IL:FUNCTIONS SEARCH-MENU-P SEARCH-MENU-ABSTRACTER 
                                               SEARCH-MENU-RECONSTITUTER)))

(DEFINE-FILE-ENVIRONMENT IL:DICT-WINDOW-TYPES :COMPILER :COMPILE-FILE
   :READTABLE "XCL"
   :PACKAGE "XCL-USER")

(ROOMS:DEF-WINDOW-TYPE :DICT-WINDOW :DEPENDENCIES (:TEDIT :TEXTSTREAM)
   :RECOGNIZER DICT-WINDOW-P
   :ABSTRACTER DICT-WINDOW-ABSTRACTER
   :RECONSTITUTER DICT-WINDOW-RECONSTITUTER
   :TITLE "Definitions"
   :FILES (IL:DICTTOOL IL:DICT-WINDOW-TYPES))

(ROOMS:DEF-WINDOW-TYPE :SEARCH-MENU :RECOGNIZER SEARCH-MENU-P
   :ABSTRACTER SEARCH-MENU-ABSTRACTER
   :RECONSTITUTER SEARCH-MENU-RECONSTITUTER
   :TITLE "Search Menu"
   :FILES (IL:SEARCHMENU IL:DICT-WINDOW-TYPES))

(DEFUN DICT-WINDOW-P (WINDOW)
   (DECLARE (GLOBAL IL:|Dict.DefWindow|))
   (EQ WINDOW IL:|Dict.DefWindow|))

(DEFUN DICT-WINDOW-ABSTRACTER (W)
   (LET (NERD DICT)
        (DECLARE (GLOBAL IL:|Dict.OutputStream|))
        (SETQ NERD (OR (IL:STREAMPROP (IL:TEXTSTREAM W)
                              'IL:|nerd|)
                       (IL:STREAMPROP (IL:|Dict.OutputStream|)
                              'IL:|nerd|)))
        (SETQ DICT (OR (IL:STREAMPROP (IL:TEXTSTREAM W)
                              'IL:|dict|)
                       (IL:STREAMPROP (IL:|Dict.OutputStream|)
                              'IL:|dict|)))
        (LIST :DICT (AND DICT (IL:|Dict.Name| DICT))
              :NERD
              (AND NERD (IL:|InvertedDict.Name| NERD)))))

(DEFUN DICT-WINDOW-RECONSTITUTER (DATA)
   (DECLARE (GLOBAL IL:|Dict.DefWindow|))
   (LET (DICTSTREAM DICTNAME DICT NERDNAME NERD)
        (SETQ DICTSTREAM (IL:|Dict.OutputStream| (IL:CREATEREGION 0 0 100 100)))
        (COND
           ((SETQ DICTNAME (GETF DATA :DICT))
            (COND
               ((SETQ DICT (IL:|DictFromName| DICTNAME))
                (IL:STREAMPROP DICTSTREAM 'IL:|dict| DICT)))))
        (COND
           ((SETQ NERDNAME (GETF DATA :NERD))
            (COND
               ((SETQ NERD (IL:|InvertedDictFromName| NERDNAME))
                (IL:STREAMPROP DICTSTREAM 'IL:|nerd| NERD)))))
        IL:|Dict.DefWindow|))

(DEFUN SEARCH-MENU-P (W)
   (EQUAL "Search Menu" (IL:WINDOWPROP W 'IL:TITLE)))

(DEFUN SEARCH-MENU-ABSTRACTER (W)
   (LET (NERD)
        (DECLARE (GLOBAL IL:|SearchMenu.Stream|))
        (SETQ NERD (AND (STREAMP IL:|SearchMenu.Stream|)
                        (IL:STREAMPROP IL:|SearchMenu.Stream| 'IL:|nerd|)))
        (LIST :NERD (AND NERD (IL:|InvertedDict.Name| NERD)))))

(DEFUN SEARCH-MENU-RECONSTITUTER (DATA)
   (LET (NERDNAME NERD)
        (DECLARE (GLOBAL IL:|SearchMenu| IL:|SearchMenu.Stream|))
        (IL:|SearchMenu.Create|)
        (COND
           ((NULL IL:|SearchMenu.Stream|)
            (SETQ IL:|SearchMenu.Stream| (IL:OPENTEXTSTREAM))))
        (COND
           ((SETQ NERDNAME (GETF DATA :NERD))
            (COND
               ((SETQ NERD (IL:|InvertedDictFromName| NERDNAME))
                (IL:STREAMPROP IL:|SearchMenu.Stream| 'IL:|nerd| NERD)))))
        IL:|SearchMenu|))
(IL:PUTPROPS IL:DICT-WINDOW-TYPES IL:COPYRIGHT ("Xerox Corporation" 1988))
(IL:DECLARE\: IL:DONTCOPY
  (IL:FILEMAP (NIL)))
IL:STOP
