(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