(FILECREATED "28-JUL-82 16:30:19" {PHYLUM}<FIKES>LISP>8200DISPLAYINTERFACE.;17 9299 changes to: (VARS 8200DISPLAYINTERFACEFNS) (FNS WhenPadMenuSelected) previous date: "17-JUN-82 17:23:54" {PHYLUM}<FIKES>LISP>8200DISPLAYINTERFACE.;16) (PRETTYCOMPRINT 8200DISPLAYINTERFACECOMS) (RPAQQ 8200DISPLAYINTERFACECOMS [(FNS * 8200DISPLAYINTERFACEFNS) (P (LOAD? (QUOTE {PHYLUM}<FIKES>LISP>8200INTERFACE.DCOM)) (CreateFonts)) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA]) (RPAQQ 8200DISPLAYINTERFACEFNS (Display8200 FeatureMenuItems Print8200Status WhenPadMenuSelected)) (DEFINEQ (Display8200 [LAMBDA NIL (* ref: "24-MAR-82 17:09") (* A display and menu based 8200 interface. Displays a window and two menus. The current status of the 8200 is maintained in the window. One menu is a "push a button" menu. The other is a "select feature" menu.) (DECLARE (USEDFREE TimesRoman16 Helvetica16Bold WindowTitleDisplayStream)) (PROG (oldTitleFont statusRegion oldQuantity temp (w (CREATEW NIL "8200 Control Panel")) [start (create MENU ITEMS ←('(Start)) MENUFONT ← Helvetica16Bold WHENSELECTEDFN ←(FUNCTION (LAMBDA NIL (Push8200Button 'StartPrint] [stop (create MENU ITEMS ←('(Stop)) MENUFONT ← Helvetica16Bold WHENSELECTEDFN ←(FUNCTION (LAMBDA NIL (Push8200Button 'StopPrint] (padMenu (create MENU ITEMS ←('(1 2 3 4 5 6 7 8 9 blank 0 clear)) MENUFONT ← Helvetica16Bold CENTERFLG ← T MENUCOLUMNS ← 3 ITEMHEIGHT ← 25 ITEMWIDTH ← 40 TITLE ←"Number Pad" WHENSELECTEDFN ←('WhenPadMenuSelected))) (outputMenu (create MENU ITEMS ←(FeatureMenuItems '(Uncollated CollatedStapled CollatedUnstapled)) MENUFONT ← Helvetica16Bold TITLE ←(GetMessage 'OutputButton))) (trayMenu (create MENU ITEMS ←(FeatureMenuItems '(Top Bottom)) MENUFONT ← Helvetica16Bold TITLE ←(GetMessage 'PaperTrayButton))) (copyMenu (create MENU ITEMS ←(FeatureMenuItems '(Lighter Darker Normal)) MENUFONT ← Helvetica16Bold TITLE ←(GetMessage 'CopyButton))) (modeMenu (create MENU ITEMS ←(FeatureMenuItems '(TwoSidedOriginalsAndCopies TwoSidedCopies OneSidedCopies)) MENUFONT ← Helvetica16Bold TITLE ←(GetMessage 'CopyModeButton))) (reductionMenu (create MENU ITEMS ←(FeatureMenuItems '(65 74 98 FullSize)) MENUFONT ← Helvetica16Bold TITLE ←(GetMessage 'Reduction))) (oldArray (ARRAY 30 'BYTE)) (newArray (ARRAY 30 'BYTE)) (quantity 1)) (oldTitleFont←(DSPFONT Helvetica16Bold WindowTitleDisplayStream)) (DSPFONT TimesRoman16 w) (Push8200Button 'Clear) (Push8200Button 1) (ADDMENU padMenu w (create POSITION XCOORD ← 0 YCOORD ← 0)) (ADDMENU outputMenu w (create POSITION XCOORD ←(padMenu:IMAGEWIDTH+5) YCOORD ←(padMenu:IMAGEHEIGHT-outputMenu:IMAGEHEIGHT))) (ADDMENU trayMenu w (create POSITION XCOORD ←(padMenu:IMAGEWIDTH+outputMenu:IMAGEWIDTH+10) YCOORD ←(padMenu:IMAGEHEIGHT-trayMenu:IMAGEHEIGHT))) (ADDMENU copyMenu w (create POSITION XCOORD ←( padMenu:IMAGEWIDTH+outputMenu:IMAGEWIDTH+trayMenu:IMAGEWIDTH+15) YCOORD ←(padMenu:IMAGEHEIGHT-copyMenu:IMAGEHEIGHT))) (ADDMENU modeMenu w (create POSITION XCOORD ←( padMenu:IMAGEWIDTH+outputMenu:IMAGEWIDTH+trayMenu:IMAGEWIDTH+copyMenu:IMAGEWIDTH+20) YCOORD ←(padMenu:IMAGEHEIGHT-modeMenu:IMAGEHEIGHT))) (ADDMENU reductionMenu w (create POSITION XCOORD ←( padMenu:IMAGEWIDTH+outputMenu:IMAGEWIDTH+trayMenu:IMAGEWIDTH+copyMenu:IMAGEWIDTH+modeMenu:IMAGEWIDTH+25 ) YCOORD ←(padMenu:IMAGEHEIGHT-reductionMenu:IMAGEHEIGHT))) (ADDMENU start w (create POSITION XCOORD ←(padMenu:IMAGEWIDTH/2-start:IMAGEWIDTH/2) YCOORD ←(padMenu:IMAGEHEIGHT+20))) (ADDMENU stop w (create POSITION XCOORD ←(padMenu:IMAGEWIDTH+outputMenu:IMAGEWIDTH/2+(-( stop:IMAGEWIDTH/2))) YCOORD ←(padMenu:IMAGEHEIGHT+20))) (DSPFONT oldTitleFont WindowTitleDisplayStream) (statusRegion←(create REGION LEFT ← 0 BOTTOM ←(padMenu:IMAGEHEIGHT+start:IMAGEHEIGHT+21) WIDTH ←(WINDOWPROP w 'WIDTH) HEIGHT ←(WINDOWPROP w 'HEIGHT))) (while T do (Read8200 newArray) (if ~((Get8200 newArray 'State)='ComponentControl or ~(Get8200 newArray 'State) or quantity=oldQuantity and (for i to 30 always (ELT newArray i)=(ELT oldArray i))) then temp←oldArray oldArray←newArray newArray←temp (DSPFILL statusRegion NIL NIL w) (MOVETOUPPERLEFT w) oldQuantity←quantity (Print8200Status w oldArray oldQuantity)) (DISMISS 1000]) (FeatureMenuItems [LAMBDA (items) (* ref: "22-MAR-82 16:01") (* Form the items list for a 8200 features menu.) (for x in items collect <(GetMessage x) <'Select8200Feature <'QUOTE x>>>]) (Print8200Status [LAMBDA (window array quantity) (* ref: "24-MAR-82 16:39") (* Print in window a description of the status of the 8200 as already read into array.) (DECLARE (USEDFREE Helvetica16Bold TimesRoman16Bold TimesRoman16)) (PROG (messages (state (Get8200 array 'State))) (SELECTQ state ((ComponentControl NIL) (RETURN)) T) (DSPFONT TimesRoman16Bold window) (printout window (GetMessage state)) (DSPFONT TimesRoman16 window) (messages←(for indicator in '(APLight CBPTDLight CDCLight FPBLPTLight LCITTLight LPBFPTLight OFDLight OFULight PWLight STTTSLight UOTLight UTPTLight) bind ivalue join (ivalue←(Get8200 array indicator)) (if ivalue~='off and ivalue then <(GetMessage indicator array) >))) [if state~='LampTest then (if messages then (DSPFONT Helvetica16Bold window) (printout window T T "Messages:") (DSPFONT TimesRoman16 window) (for m in messages do (printout window T -5 m))) (if (Get8200 array 'SCSILight)='on then (DSPFONT TimesRoman16Bold window) (printout window T T "Status -- ") (DSPFONT TimesRoman16 window) (printout window (GetMessage (Get8200 array 'OpStatusCode] (printout window T T) (DSPFONT TimesRoman16Bold window) (printout window "Number of copies -- ") (DSPFONT TimesRoman16 window) (printout window quantity) (printout window T T) (DSPFONT Helvetica16Bold window) (printout window "Feature Settings:") (DSPFONT TimesRoman16Bold window) (printout window T -5 (GetMessage 'OutputButton) " -- ") (DSPFONT TimesRoman16 window) (printout window (GetMessage (Get8200 array 'Output))) (DSPFONT TimesRoman16Bold window) (printout window T -5 (GetMessage 'PaperTrayButton) " -- ") (DSPFONT TimesRoman16 window) (printout window (GetMessage (Get8200 array 'PaperTray))) (DSPFONT TimesRoman16Bold window) (printout window T -5 (GetMessage 'CopyButton) " -- ") (DSPFONT TimesRoman16 window) (printout window (GetMessage (Get8200 array 'Copy))) (DSPFONT TimesRoman16Bold window) (printout window T -5 (GetMessage 'CopyModeButton) " -- ") (DSPFONT TimesRoman16 window) (printout window (GetMessage (Get8200 array 'CopyMode))) (DSPFONT TimesRoman16Bold window) (printout window T -5 (GetMessage 'ReductionButton) " -- ") (DSPFONT TimesRoman16 window) (printout window (GetMessage (Get8200 array 'Reduction]) (WhenPadMenuSelected [LAMBDA (item) (* ref: "19-MAR-82 11:50") (* WHENSELECTEDFN for the pad menu in Display8200.) (DECLARE (USEDFREE quantity)) (SELECTQ item (blank (Push8200Button 'Blank)) (clear (Push8200Button 'Clear) quantity←0) (if quantity lt 100 then (Push8200Button item) quantity←quantity*10+item]) ) (LOAD? (QUOTE {PHYLUM}<FIKES>LISP>8200INTERFACE.DCOM)) (CreateFonts) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDTOVAR NLAMA ) (ADDTOVAR NLAML ) (ADDTOVAR LAMA ) ) (DECLARE: DONTCOPY (FILEMAP (NIL (693 9076 (Display8200 703 . 5243) (FeatureMenuItems 5245 . 5573) (Print8200Status 5575 . 8586) (WhenPadMenuSelected 8588 . 9074))))) STOP