home *** CD-ROM | disk | FTP | other *** search
- Name: defDispTbl
-
-
- File: macros.mac
-
-
- Description:
-
- Defines a dispatch table consisting of keyboard and mouse event descriptions,
- and object/message pairs to be sent when event occurs. This table is labeled
- with the object name concatenated with "DispTbl" (e.g. VertMenuDispTbl).
-
-
- Syntax:
-
- defDispTbl object,\
- <acode,scode,state,ur,lc,lr,rc,obj,msg[,obj,msg...]>
-
-
- Field Meanings:
-
- object defining object name
- acode ASCII code of keyboard event
- scode scan code of keyboard event
- state button state (Nil = Don't care, 0 = Button released,
- 1 = Button pressed),
- ur upper row of valid mouse region
- lc left column
- lr lower row
- rc right column
- obj object to get message when event occurs
- msg message to pass to object when event occurs
-
-
- Example:
-
- defDispTbl VertMenu,\
- <0,0,3,0,0,0,0,System,Reset>,\
- <13,28,0,MR,LC,LR,LC+8,Self,Select>,\
- <0,68,3,0,0,0,0,Self,Clear,System,Refresh,System,Read>,\
- <27,1,0,0,0,24,79,Self,Clear>,\
- <0,Nil,1,0,0,24,79,Self,DeHilite>,\
- <Nil,Nil,Nil,0,0,24,79,Hardware,Refresh>
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: defMenu
-
-
- File: macros.mac
-
-
- Description:
-
- Defines a menu consisting of zero terminated ASCII strings. This menu is
- labeled with the object name concatenated with "Menu" (e.g. DialogMenu).
-
-
- Syntax:
-
- defMenu object,\
- <'string[,'string'...]>
-
-
- Field Meanings:
-
- object defining object name
- string ASCII string for menu item
-
-
- Example:
-
- defMenu Dialog,\
- <'Ok','Cancel','Help'>
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: defMenuTbl
-
-
- File: macros.mac
-
-
- Description:
-
- Defines a menu dispatch table consisting of object/message pairs
- cooresponding to menu items defined with the defMenu macro. This table is
- labeled with the object name concatenated with "MenuTbl" (e.g.
- DialogMenuTbl).
-
-
- Syntax:
-
- defMenuTbl object,\
- <obj,msg[,obj,msg...]>
-
-
- Field Meanings:
-
- object defining object name
- obj object to get message when menu item selected
- msg message to pass to object when menu item selected
-
-
- Example:
-
- defMenuTbl Dialog,\
- <SomeObj,Activate>,\
- <Self,Clear>,\
- <Help,Refresh>
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: defMsg
-
-
- File: objects.mac
-
-
- Description:
-
- Defines a message consisting of a _Message structure of three method pointers
- cooresponding to the Before, Primary, and After methods. This structure is
- labeled with the object name concatenated with the message name (e.g.
- ScreenRefresh).
-
-
- Syntax:
-
- defMsg object,\
- message,\
- <[before],[primary],[after]>
-
-
- Field Meanings:
-
- object defining object name
- message message being defined
- before Before method (procedure) name
- primary Primary method name
- after After method name
-
-
- Example:
-
- defMsg Screen,\
- Refresh,\
- <,drawBackDrop,drawLabel>
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: defObj
-
-
- File: objects.mac
-
-
- Description:
-
- Defines an object consisting of an ject structure of three pointers to
- an ancestor table, instance variable table, and a message table. This
- structure is labeled with the object name.
-
-
- Syntax:
-
- defObj object,\
- <[obj1[,obj2...]]>,\
- <[inst1,size1,value1[,inst2,size2,value2...]]>,\
- <msg1[,msg2...]>
-
-
- Field Meanings:
-
- object name of object being defined
- obj ancestral object name
- inst instance variable name
- size instance variable size
- value instance variable initial value
- msg message name object will respond to
-
-
- Example:
-
- defObj File,\
- <MemMngr>,\
- <MemSize,2,80h,\
- MemSeg,2,Nil,\
- FileHdl,2,Nil,\
- BytesRead,2,Nil>,\
- <Open,Read,Init>
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: getInst
-
-
- File: objects.mac
-
-
- Description:
-
- Gets the value of an instance variable.
-
-
- Syntax:
-
- getInst reg,inst[,obj]
-
-
- Field Meanings:
-
- reg destination register
- inst instance variable name
- obj source object (it is assumed that the SI register
- contains the source object address if not specified)
-
-
- Example:
-
- getInst bx,InxPtr,Self ;Get Self's index pointer
- getInst si,TextPtr ;And its text pointer
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: getInst$
-
-
- File: objects.mac
-
-
- Description:
-
- Gets the value of an instance variable when the source object is pointed to
- by a Self instance variable.
-
-
- Syntax:
-
- getInst$ reg,inst[,obj-inst]
-
-
- Field Meanings:
-
- reg destination register
- inst instance variable name
- obj-inst source object instance variable
-
-
- Example:
-
- getInst$ dh,Row1,MasterObj ;Get master's upper row
- getInst dl,Col1 ;And left column
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: getStackArgs
-
-
- File: macros.mac
-
-
- Description:
-
- Gets method arguments off the stack and places them in the specified
- registers.
-
-
- Syntax:
-
- getStackArgs <reg[,reg...]>
-
-
- Field Meanings:
-
- reg destination register
-
-
- Example:
-
- getStackArgs <ax,bx,cx> ;Get top 3 stack items
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: initObj
-
-
- File: objects.mac
-
-
- Description:
-
- Initializes an object. Only those objects passed messages by the send or
- sendLoop macro need to be initialized.
-
-
- Syntax:
-
- initObj object
-
-
- Field Meanings:
-
- object name of object to be in initialized
-
-
- Example:
-
- initObj VertMenu ;Must be initialized before
- ; any of its ancestors
- initObj Menu
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: send
-
-
- File: objects.mac
-
-
- Description:
-
- Sends a message to an object. Object must first be initialized with the
- initObj macro.
-
-
- Syntax:
-
- send object,message[,<arg1[,arg2...]>]
-
-
- Field Meanings:
-
- object name of object to sent message
- message name of message sent to object
- arg optional message argument (retreived with the
- getStackArgs macro and changed with setStackArgs)
-
-
- Example:
-
- send Screen,Refresh ;Send Screen a Refresh msg
- send MenuBar,Hilite,ax ;Hilite AXth menu item
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: setInst
-
-
- File: objects.mac
-
-
- Description:
-
- Sets the value of an instance variable.
-
-
- Syntax:
-
- setInst inst,source[,[obj],size]
-
-
- Field Meanings:
-
- inst instance variable name
- source source register or memory location
- obj source object (it is assumed that the SI register
- contains the source object address if not specified)
- size size of data item (only needed if source is memory)
-
-
- Example:
-
- setInst TextPtr,si,Self ;Set Self's text pointer
- setInst InxPtr,Nil,,2 ;And index pointer
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: setInst$
-
-
- File: objects.mac
-
-
- Description:
-
- Sets the value of an instance variable when the source object is pointed to
- by a Self instance variable.
-
-
- Syntax:
-
- setInst$ inst,source[,[obj-inst],size]
-
-
- Field Meanings:
-
- inst instance variable name
- source source register or memory location
- obj-inst source object instance variable
- size size of data item (only needed if source is memory)
-
-
- Example:
-
- setInst$ TextPtr,si,MasterObj ;Set master's text pointer
- setInst InxPtr,Nil,,2 ;And index pointer
-
-
-
- =============================================================================
- =============================================================================
-
-
-
- Name: setStackArgs
-
-
- File: macros.mac
-
-
- Description:
-
- Sets method stack arguments with the specified register values.
-
-
- Syntax:
-
- setStackArgs <reg[,reg...]>
-
-
- Field Meanings:
-
- reg source register
-
-
- Example:
-
- getStackArgs <ax,bx> ;Get top 2 stack items
- inc ax
- xor bx,bx
- setStackArgs <ax,bx> ;Now change those values
-