(FILECREATED "30-Nov-84 10:09:58" {AZTEC}<TRILLIUM>BIRTHDAY84>ITEMTYPES>IDO-PSW-ITEMTYPES.;1 9658   

      changes to:  (ITEMTYPES BUTTON.WITH.MULTIPLE.INDICATORS)
		   (VARS IDO-PSW-ITEMTYPESCOMS)

      previous date: "25-Aug-84 18:33:55" {AZTEC}<TRILLIUM>BIRTHDAY84>IDO-PSW-ITEMTYPES.;1)


(PRETTYCOMPRINT IDO-PSW-ITEMTYPESCOMS)

(RPAQQ IDO-PSW-ITEMTYPESCOMS ((ITEMTYPES BUTTON.WITH.MULTIPLE.INDICATORS 
					 BUTTON.WITH.ON/OFF.INDICATORS GENERAL.BUTTON.CHANGE.CELL)
			      (P (COMPILE.INTERNAL.FNS.IF.NECESSARY))))
(READ.ITEMTYPE BUTTON.WITH.MULTIPLE.INDICATORS 5)
(\TYPE ITEM.TYPE NAME BUTTON.WITH.MULTIPLE.INDICATORS COMMENT  
"A button with any number of indicators" KIND COMPOSITE PARAMETERS  ((\TYPE PARAMETER NAME PLACEMENT 
TYPE  (POSITION) DEFAULT  (10 . 10) COMMENT  "Offset for the button")  (\TYPE PARAMETER NAME 
BUTTON.PICTURE TYPE  (BITMAP.NAME) DEFAULT SIMPLE.BUTTON.BITMAP COMMENT  "The graphic for the button")
  (\TYPE PARAMETER NAME INDICATORS TYPE  (LIST  (STRUCTURE  ((BITMAP  (BITMAP.NAME))  (VALUE  (
CONSTANT))))) DEFAULT  ((EXTERNAL.BUTTON.BITMAP VALUE.1)  (OFFPAGE.BUTTON.BITMAP VALUE.2)  (
SIMPLE.BUTTON.BITMAP VALUE.3)) COMMENT  "The list of BITMAP/REFERENCE VALUE pairs for the indicators")
  (\TYPE PARAMETER NAME BUTTON/INDICATOR.SPACING TYPE  (OFFSET.VECTOR) DEFAULT  (0 . 51) COMMENT  
"Spacing between button and bottom indicator")  (\TYPE PARAMETER NAME INDICATOR.SPACING TYPE  (
OFFSET.VECTOR) DEFAULT  (0 . 0) COMMENT  "Spacing between the indicators")  (\TYPE PARAMETER NAME 
RESPONSE TYPE  (ONEOF  (NONE BLACK.WHILE.DEPRESSED INVERTS.WHEN.DEPRESSED)) DEFAULT NONE COMMENT  
"The response to being depressed")  (\TYPE PARAMETER NAME CELL TYPE  (CELL) DEFAULT CELL.1 COMMENT  
"The affected cell")  (\TYPE PARAMETER NAME INITIAL.VALUE TYPE  (CONSTANT) DEFAULT ON.VALUE COMMENT  
"An initial value for the cell")) SUBITEM.SPECS  ((ITEM CASCADE.BUTTON  (PLACEMENT PLACEMENT)  (
BUTTONS INDICATORS)  (CELL CELL)  (PICTURE BUTTON.PICTURE)  (RESPONSE RESPONSE))  (FOREACH  (
THIS.INDICATOR IN INDICATORS)  (I FROM 0) DO  (ITEM INDICATOR  (PLACEMENT  (PTRANSLATE PLACEMENT  (
NEW.POSITION  (IPLUS  (ITIMES I  (CAR INDICATOR SPACING))  (CAR BUTTON/INDICATOR.SPACING))  (IPLUS  (
ITIMES I  (CDR INDICATOR SPACING))  (CDR BUTTON/INDICATOR.SPACING)))))  (BITMAP  (CAR THIS.INDICATOR))
  (CELL CELL)  (REFERENCE.VALUE  (CADR THIS.INDICATOR))))  (ITEM INITIALIZATION  (PLACEMENT PLACEMENT)
  (ACTION.FORM  (LIST  (QUOTE SET.CELL) CELL INITIAL.VALUE)))) OTHER  (FNS  ((1 
CONVERT.BUTTON.WITH.MULTIPLE.INDICATORS.OFFSETS))) CLASSES  (BUTTON COMPOSITE) VERSION 1)
(DEFINEQ

(CONVERT.BUTTON.WITH.MULTIPLE.INDICATORS.OFFSETS
  [LAMBDA (ITEM)                                             (* edited: "25-Aug-84 18:13")
    (CONVERT.GRIDDED.OFFSETSQ ITEM BUTTON/INDICATOR.HORIZONTAL.SPACING BUTTON/INDICATOR.SPACING 
			      BUTTON/INDICATOR.SPACING)
    (CONVERT.GRIDDED.OFFSETSQ ITEM HORIZONTAL.SPACING VERTICAL.SPACING INDICATOR.SPACING])
)
(READ.ITEMTYPE BUTTON.WITH.ON/OFF.INDICATORS 5)
(\TYPE ITEM.TYPE NAME BUTTON.WITH.ON/OFF.INDICATORS COMMENT  
"A button with an ON indicator and an OFF indicator" KIND COMPOSITE PARAMETERS  ((\TYPE PARAMETER NAME
 PLACEMENT TYPE  (POSITION) DEFAULT  (10 . 10) COMMENT  "Offset for the button")  (\TYPE PARAMETER 
NAME BUTTON.PICTURE TYPE  (BITMAP.NAME) DEFAULT SIMPLE.BUTTON.BITMAP COMMENT  
"The graphic for the button")  (\TYPE PARAMETER NAME ON.INDICATOR.PICTURE TYPE  (BITMAP.NAME) DEFAULT 
SIMPLE.BUTTON.BITMAP COMMENT  "The graphic for the ON indicator")  (\TYPE PARAMETER NAME 
OFF.INDICATOR.PICTURE TYPE  (BITMAP.NAME) DEFAULT SMALL.SPOT.BITMAP COMMENT  
"The grahpic for the OFF indicator")  (\TYPE PARAMETER NAME BUTTON/INDICATOR.SPACING TYPE  (
OFFSET.VECTOR) DEFAULT  (0 . 51) COMMENT  "Spacing between button and bottom indicator")  (\TYPE 
PARAMETER NAME INDICATOR.SPACING TYPE  (OFFSET.VECTOR) DEFAULT  (0 . 0) COMMENT  
"Spacing between the indicators")  (\TYPE PARAMETER NAME RESPONSE TYPE  (ONEOF  (NONE 
BLACK.WHILE.DEPRESSED INVERTS.WHEN.DEPRESSED)) DEFAULT NONE COMMENT  "The response to being depressed"
)  (\TYPE PARAMETER NAME CELL TYPE  (CELL) DEFAULT CELL.1 COMMENT  "The affected cell")  (\TYPE 
PARAMETER NAME INITIAL.VALUE TYPE  (CONSTANT) DEFAULT ON.VALUE COMMENT  
"An initial value for the cell")  (\TYPE PARAMETER NAME ON.VALUE TYPE  (CONSTANT) DEFAULT ON.VALUE 
COMMENT  "The On value")  (\TYPE PARAMETER NAME OFF.VALUE TYPE  (CONSTANT) DEFAULT OFF.VALUE COMMENT  
"The OFF value")) SUBITEM.SPECS  ((ITEM CASCADE.BUTTON  (PLACEMENT PLACEMENT)  (BUTTONS  (LIST  (LIST 
ON.INDICATOR.PICTURE ON.VALUE)  (LIST OFF.INDICATOR.PICTURE OFF.VALUE)))  (CELL CELL)  (PICTURE 
BUTTON.PICTURE)  (RESPONSE RESPONSE))  (ITEM INDICATOR  (PLACEMENT  (PTRANSLATE PLACEMENT 
BUTTON/INDICATOR.SPACING))  (BITMAP ON.INDICATOR.PICTURE)  (CELL CELL)  (CONDITION.OPERATION  (QUOTE =
))  (REFERENCE.VALUE ON.VALUE))  (ITEM INDICATOR  (PLACEMENT  (PTRANSLATE  (PTRANSLATE PLACEMENT 
INDICATOR.SPACING) BUTTON/INDICATOR.SPACING))  (BITMAP OFF.INDICATOR.PICTURE)  (CELL CELL)  (
CONDITION.OPERATION  (QUOTE =))  (REFERENCE.VALUE OFF.VALUE))  (ITEM INITIALIZATION  (PLACEMENT 
PLACEMENT)  (NAME  "un-named initialization")  (ACTION.FORM  (LIST  (QUOTE SET.CELL) CELL 
INITIAL.VALUE)))) OTHER  (FNS  ((1 CONVERT.BUTTON.WITH.ON/OFF.INDICATORS))) CLASSES  (BUTTON COMPOSITE
) VERSION 1)
(DEFINEQ

(CONVERT.BUTTON.WITH.ON/OFF.INDICATORS
  [LAMBDA (ITEM)                                             (* edited: "25-Aug-84 18:19")
    (CONVERT.GRIDDED.OFFSETSQ ITEM HORIZONTAL.SPACING VERTICAL.SPACING INDICATOR.SPACING)
    (CONVERT.GRIDDED.OFFSETSQ ITEM BUTTON/INDICATOR.HORIZONTAL.SPACING VERTICAL.OFFSET 
			      BUTTON/INDICATOR.SPACING])
)
(READ.ITEMTYPE GENERAL.BUTTON.CHANGE.CELL 5)
(\TYPE ITEM.TYPE NAME GENERAL.BUTTON.CHANGE.CELL COMMENT  "A general button" KIND COMPOSITE PARAMETERS
  ((\TYPE PARAMETER NAME PLACEMENT TYPE  (POSITION) DEFAULT  (170 . 170) COMMENT  
"The grid position of the lower left corner of the button" GRID.TYPE  (LOCATION))  (\TYPE PARAMETER 
NAME PICTURE TYPE  (BITMAP.NAME) DEFAULT SIMPLE.BUTTON.BITMAP COMMENT  "The artwork for the button")  
(\TYPE PARAMETER NAME TEXT TYPE  (LIST  (STRING)) DEFAULT  ("Label") COMMENT  
"The words associated with the button")  (\TYPE PARAMETER NAME TEXT.OFFSET TYPE  (OFFSET.VECTOR) 
DEFAULT  (17 . 17) COMMENT  "The offset of the words from the lower left corner of the button")  (
\TYPE PARAMETER NAME HORIZONTAL.ALIGNMENT TYPE  (ONEOF  (LEFT CENTER RIGHT)) DEFAULT CENTER COMMENT  
"Horizontal alignment of text about reference point")  (\TYPE PARAMETER NAME VERTICAL.ALIGNMENT TYPE  
(ONEOF  (TOP CENTER BOTTOM)) DEFAULT CENTER COMMENT  
"Vertical alignment of text about the reference point")  (\TYPE PARAMETER NAME FONT TYPE  (FONT) 
DEFAULT NIL COMMENT  "Font in which to print the label")  (\TYPE PARAMETER NAME SOURCE TYPE  (ONEOF  (
INPUT)) DEFAULT INPUT COMMENT  "The source for BITBLT for the labels")  (\TYPE PARAMETER NAME 
OPERATION TYPE  (ONEOF  (REPLACE INVERT PAINT ERASE)) DEFAULT INVERT COMMENT  
"The operation for BITBLT for the labels")  (\TYPE PARAMETER NAME RESPONSE TYPE  (ONEOF  (NONE 
BLACK.WHILE.DEPRESSED INVERTS.WHEN.DEPRESSED)) DEFAULT BLACK.WHILE.DEPRESSED COMMENT  
"The response to being depressed")  (\TYPE PARAMETER NAME CELL TYPE  (CELL) DEFAULT CELL.1 COMMENT  
"The cell to affect and display")  (\TYPE PARAMETER NAME VALUE.TO.CHANGE.TO TYPE  (CONSTANT) DEFAULT 
ON COMMENT  "The value to change the cell to upon actuation")  (\TYPE PARAMETER NAME INITIAL.VALUE 
TYPE  (CONSTANT) DEFAULT OFF COMMENT  "An initial value for the cell")) SUBITEM.SPECS  ((LABEL GRAPHIC
  (ITEM PICTURE  (PLACEMENT  (PTRANSLATE PLACEMENT  (MINUS BUTTON.BITMAP.EXTRA) 0))  (BITMAP PICTURE))
)  (SELECT RESPONSE  (NONE  (ITEM SENSITIVE.REGION  (PLACEMENT  (BOUNDING.BOX GRAPHIC))  (ACTION.FORM 
 (LIST  (QUOTE CHANGE.CELL) CELL  (KWOTE VALUE.TO.CHANGE.TO)))))  (BLACK.WHILE.DEPRESSED  (ITEM 
FLASHING.SENSITIVE.REGION  (PLACEMENT  (BOUNDING.BOX GRAPHIC))  (ACTION.FORM  (LIST  (QUOTE 
CHANGE.CELL) CELL  (KWOTE VALUE.TO.CHANGE.TO)))))  (INVERTS.WHEN.DEPRESSED  (ITEM 
INVERTING.SENSITIVE.REGION  (PLACEMENT  (BOUNDING.BOX GRAPHIC))  (ACTION.FORM  (LIST  (QUOTE 
CHANGE.CELL) CELL  (KWOTE VALUE.TO.CHANGE.TO))))))  (ITEM BLOCK.OF.TEXT  (PLACEMENT  (PTRANSLATE 
PLACEMENT TEXT.OFFSET))  (LIST.OF.LINES TEXT)  (XALIGNMENT HORIZONTAL.ALIGNMENT)  (YALIGNMENT 
VERTICAL.ALIGNMENT)  (FONT FONT)  (OPERATION OPERATION))  (ITEM INITIALIZATION  (PLACEMENT PLACEMENT) 
 (ACTION.FORM  (LIST  (QUOTE SET.CELL) CELL INITIAL.VALUE)))) OTHER  (BITMAPS  ((SIMPLE.BUTTON.BITMAP 
 {(READBITMAP)(40 40
"OOOOOOOOM@@@"
"OOOOOOOOMH@@"
"OOOOOOOOML@@"
"N@@@@@@AMN@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"N@@@@@@AMO@@"
"OOOOOOOOMO@@"
"OOOOOOOOMO@@"
"OOOOOOOOMO@@"
"@@@@@@@@@O@@"
"OOOOOOOOLG@@"
"GOOOOOOONC@@"
"COOOOOOOOA@@"
"AOOOOOOOOH@@"
"@OOOOOOOOL@@")})) FNS  ((1 CONVERT.GENERAL.BUTTON.CHANGE.CELL.OFFSETS))) CLASSES  (BUTTON COMPOSITE) VERSION 1)
(DEFINEQ

(CONVERT.GENERAL.BUTTON.CHANGE.CELL.OFFSETS
  [LAMBDA (ITEM)                                             (* edited: "16-Aug-84 10:07")
    (CONVERT.GRIDDED.OFFSETSQ ITEM HORIZONTAL.OFFSET VERTICAL.OFFSET TEXT.OFFSET])
)
(COMPILE.INTERNAL.FNS.IF.NECESSARY)
(DECLARE: DONTCOPY
  (FILEMAP (NIL (2602 2984 (CONVERT.BUTTON.WITH.MULTIPLE.INDICATORS.OFFSETS 2612 . 2982)) (5374 5737 (
CONVERT.BUTTON.WITH.ON/OFF.INDICATORS 5384 . 5735)) (9363 9600 (
CONVERT.GENERAL.BUTTON.CHANGE.CELL.OFFSETS 9373 . 9598)))))
STOP