(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