(FILECREATED "19-Nov-85 12:20:57" {ERIS}<IRIS>GREGCO>DLIONFNKEYS.;3 5220   

      changes to:  (FNS BUILDFNKEYS)

      previous date: "14-Nov-85 17:06:51" {ERIS}<IRIS>GREGCO>DLIONFNKEYS.;1)


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

(PRETTYCOMPRINT DLIONFNKEYSCOMS)

(RPAQQ DLIONFNKEYSCOMS [(FILES KEYOBJ)
			  (GLOBALVARS DLION.FN.KEYS DLION.FN.KEYLABELS KEYOBJ.TEMPLATE)
			  [VARS (DLION.FN.KEYS (QUOTE (CENTER BOLD ITALICS UNDERLINE SUPERSCRIPT 
							      SUBSCRIPT SMALLER DEFAULTS)))
				(DLION.FN.KEYLABELS (QUOTE (CENTER BOLD ITALICS (UNDER- LINE)
								   (SUPER- SCRIPT)
								   (SUB- SCRIPT)
								   SMALLER DEFAULTS]
			  (BITMAPS FNKEYICON)
			  (FNS BUILDFNKEYS FNKEY.MENUFN)
			  (INITVARS (FNKEY.MENU (create MENU ITEMS ← (QUOTE ((Close (QUOTE CLOSEW)
										    "Closes a window")
									     (Bury (QUOTE BURYW)
										   
								   "Puts a window on the bottom.")
									     (Move (QUOTE MOVEW)
										   
								    "Moves a window by a corner.")
									     (Shrink (QUOTE SHRINKW)
										     
							     "Replaces this window with its icon"])
(FILESLOAD KEYOBJ)
(DECLARE: DOEVAL@COMPILE DONTCOPY

(GLOBALVARS DLION.FN.KEYS DLION.FN.KEYLABELS KEYOBJ.TEMPLATE)
)

(RPAQQ DLION.FN.KEYS (CENTER BOLD ITALICS UNDERLINE SUPERSCRIPT SUBSCRIPT SMALLER DEFAULTS))

(RPAQQ DLION.FN.KEYLABELS (CENTER BOLD ITALICS (UNDER- LINE)
				    (SUPER- SCRIPT)
				    (SUB- SCRIPT)
				    SMALLER DEFAULTS))

(RPAQ FNKEYICON (READBITMAP))
(80 50
"OOOOOOOOOOOOOOOOOOOO"
"OOOOOOOOOOOOOOOOOOOO"
"OO@@@@@@@@@@@@@@@@OO"
"OH@@@@@@@@@@@@@@@@AO"
"OH@@@@@@@@@@@@@@@@AO"
"NL@@@@@@@@@@@@@@@@BG"
"OFCOOOOOOOOOOOOOOLDG"
"NKF@@@@@@@@@@@@@@FHG"
"MEH@@@@@@@@@@@@@@A@C"
"NK@@@@@@@@@@@@@@@@HC"
"MG@@@@@@@@@@@@@@@@LC"
"NJ@@@@@@@@@@@@@@@@DC"
"MF@@@@@@@@@@@@@@@@DC"
"NJ@@@@@@@@@@@@@@@@DC"
"MF@@@@@@@@@@@@@@@@DC"
"NJ@@@@@@@@@@D@@@@@DC"
"MF@CO@@@@@@DD@@@@@DC"
"NJ@B@@@@@@@D@@@@@@DC"
"MF@B@BABNALODGHKH@DC"
"NJ@CNBACABBDDHDLD@DC"
"MF@B@BABAB@DDHDHD@DC"
"NJ@B@BABAB@DDHDHD@DC"
"MF@B@BCBABBDDHDHD@DC"
"NJ@B@AMBAALCDGHHD@DC"
"MF@@@@@@@@@@@@@@@@DC"
"NJ@@@@@@@@@@@@@@@@DC"
"MF@@@@@@@@@@@@@@@@DC"
"NJ@@@@@@@@@@@@@@@@DC"
"MF@@@@BA@@@@@@@@@@DC"
"NJ@@@@BB@@@@@@@@@@DC"
"MF@@@@BD@NBBCH@@@@DC"
"NJ@@@@BHAABBDD@@@@DC"
"MF@@@@CDAOADCH@@@@DC"
"NJ@@@@BBA@AD@D@@@@DC"
"MF@@@@BAAA@HDD@@@@DC"
"NJ@@@@B@HN@HCH@@@@DC"
"MF@@@@@@@@@H@@@@@@DC"
"NJ@@@@@@@@C@@@@@@@DC"
"MF@@@@@@@@@@@@@@@@DC"
"NK@@@@@@@@@@@@@@@@LC"
"ME@@@@@@@@@@@@@@@@HC"
"NKH@@@@@@@@@@@@@@A@C"
"OBN@@@@@@@@@@@@@@GHG"
"NDKOOOOOOOOOOOOOONLG"
"OIAEEEEEEEEEEEEEEEFG"
"OBBJJJJJJJJJJJJJJJKO"
"OLEEEEEEEEEEEEEEEEEO"
"ONBJJJJJJJJJJJJJJJOO"
"OOOOOOOOOOOOOOOOOOOO"
"OOOOOOOOOOOOOOOOOOOO")
(DEFINEQ

(BUILDFNKEYS
  [LAMBDA NIL                                                (* gbn "19-Nov-85 12:06")
    (PROG ([TXT (OPENTEXTSTREAM NIL NIL NIL NIL (QUOTE (READONLY T]
	     (WIDTH (FIX (TIMES (BITMAPWIDTH KEYOBJ.TEMPLATE)
				    8.3)))
	     W)
	    (TEDIT.INSERT TXT (CHARACTER (CHARCODE EOL))
			    1)
	    (for KEY in DLION.FN.KEYS as LABEL in DLION.FN.KEYLABELS
	       do (TEDIT.INSERT.OBJECT (KEYOBJ.CREATE KEY LABEL T)
					   TXT))             (* this will create abortable key objects 
							     (if you slide out of the region, no transitions are 
							     sent))
	    (TEDIT.SETSEL TXT 2 0 (QUOTE LEFT))
	    (TEDIT.PARALOOKS TXT (QUOTE (QUAD CENTERED)))
                                                             (* (TEDIT.NORMALIZECARET TXT 
							     (TEDIT.SETSEL TXT 0 0 (QUOTE LEFT))))
	    (SETQ W (CREATEW (CREATEREGION (IQUOTIENT (IDIFFERENCE (BITMAPWIDTH (
										     SCREENBITMAP))
									     WIDTH)
							      2)
						 5 WIDTH (IPLUS (FONTPROP MENUFONT (QUOTE
										HEIGHT))
								  (BITMAPHEIGHT KEYOBJ.TEMPLATE)
								  10))
				 "Dandelion function keys" 2))
	    (SCROLLW W 0 -5)                               (* used to have NOTITLE T in the props)
                                                             (* TEDIT TXT W NIL (QUOTE (LEAVETTY T PROMPTWINDOW 
							     DON'T)))
	    (OPENTEXTSTREAM TXT W NIL NIL (QUOTE (READONLY T)))
	    (WINDOWPROP W (QUOTE WINDOWENTRYFN)
			  (QUOTE NIL))                     (* (WINDOWPROP W (QUOTE TITLE) 
							     (QUOTE NIL)))
	    (WINDOWPROP W (QUOTE ICON)
			  FNKEYICON)
	    (WINDOWPROP W (QUOTE RIGHTBUTTONFN)
			  (QUOTE FNKEY.MENUFN))
	    (SETQ DLIONFNKEYS W])

(FNKEY.MENUFN
  [LAMBDA (KEYWINDOW)                                        (* gbn "28-Jan-85 01:17")
    (PROG ((ITEM (MENU FNKEY.MENU)))
          (if ITEM
	      then (APPLY* ITEM KEYWINDOW])
)

(RPAQ? FNKEY.MENU [create MENU ITEMS ← (QUOTE ((Close (QUOTE CLOSEW)
							"Closes a window")
						 (Bury (QUOTE BURYW)
						       "Puts a window on the bottom.")
						 (Move (QUOTE MOVEW)
						       "Moves a window by a corner.")
						 (Shrink (QUOTE SHRINKW)
							 "Replaces this window with its icon"])
(PUTPROPS DLIONFNKEYS COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (2681 4817 (BUILDFNKEYS 2691 . 4592) (FNKEY.MENUFN 4594 . 4815)))))
STOP