(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