Unit WordAPI

Classes

Functions

AddDoubleDlgField -
AddDoubleParam -
AddLongDlgField -
AddLongParam -
AddShortDlgField -
AddShortParam -
AddStringDlgField -
AddStringParam -
Create -
Create - copies function result into buffer^, if available
Done - commandID: see worddecs.
Execute -
ExecuteCommand -
wbAddButton -
wbAddKey -
wbAddMenu -
wbAddMenuItem -
wbAddToolbar - was t_short
wbRegister - TWordArrayCommand = OBJECT(TWordCommand) { AddStringArray; AddDoubleArray NOT IMPLEMENTED! } END; *) (* miscellaineous useful commands

************************************************************************ Useful Setup Functions
_GetResult - call wdCommandDispatch; returns 0 if OK, else wdError.
_SetDlgField -

Types

ADlgOption
AFlag
EnumIOMode
PArrayDef
PControlBlock
PDoubleArray
POperator
PStringArray
TArrayDef
TControlBlock
TFlags
TFType
TIOMode
TOperator
TWordCommand

Constants

MAX_ARGS
T_DOUBLE
T_LONG
T_NONE
T_SHORT
T_STRING

Variables


Functions


PROCEDURE AddDoubleDlgField(fieldId: word; doubleVal: Double);


PROCEDURE AddDoubleParam(doubleVal : Double);


PROCEDURE AddLongDlgField(fieldId: word; longVal: LongInt);


PROCEDURE AddLongParam(longVal : Integer);


PROCEDURE AddShortDlgField(fieldId: word; shortVal: Integer);


PROCEDURE AddShortParam(shortVal : Integer);


PROCEDURE AddStringDlgField(fieldId: word; strP: PChar; bufSize: word);


PROCEDURE AddStringParam(strP : PChar);


CONSTRUCTOR Create(commandID : Integer; retType : TFType; retBuf : PChar; retBufSize : word);


CONSTRUCTOR Create(commandID:Integer; retType:TFType; retBuf:PChar; retBufSize:word; dialogOption:ADlgOption; fMode:TIOMode);

copies function result into buffer^, if available

DESTRUCTOR Done;

commandID: see worddecs.PAS; retType : type of function return; retBuf : (only if retType <> T_NONE) pointer to a buffer where RETURNed values are to be stored (max Len=retBufSize)

FUNCTION Execute : Integer;


FUNCTION ExecuteCommand(VAR wcb : TWordCommand) : Boolean;


Function wbAddButton(context:integer; tbname:shortstring; position:integer; Macro,Face:shortstring):word;


Function wbAddKey(context,KeyCode:integer; KCommand:shortstring):word;


Function wbAddMenu(context:integer; MName:shortstring; Position, Menutype:integer):word;


Function wbAddMenuItem(context:integer; MName, MCommand, MText:shortstring; position, MType:integer):word;


Function wbAddToolbar(context:integer; tbname:shortstring):word;

was t_short

FUNCTION wbRegister(docID:Integer; functionName,description:ShortString):word;

TWordArrayCommand = OBJECT(TWordCommand) { AddStringArray; AddDoubleArray NOT IMPLEMENTED! } END; *) (* miscellaineous useful commands

************************************************************************ Useful Setup Functions


PROCEDURE _GetResult(buffer : Pointer; bufSize : word);

call wdCommandDispatch; returns 0 if OK, else wdError.xx

PROCEDURE _SetDlgField(fieldId : word; fType : TFType);


Types


ADlgOption = (CMD_DEFAULTS, { GetCurValues }
                CMD_DIALOG,  {display dialog}
                CMD_ACTION,
                CMD_DLG_ACTION);
DlgOption
AFlag = (T0, T1, T2, T3, DataIsArray, DlgSetData, DlgGetData, bufferTooSmall);

EnumIOMode = (DLG_GET_DATA, DLG_SET_DATA);
Input and output constants for dialog commands
PArrayDef = ^TArrayDef

PControlBlock = ^TControlBlock
wdoprArgs[MaxArgs]
PDoubleArray = Pointer

POperator = ^TOperator

PStringArray = ^PChar

TArrayDef = record
cArrayDimensions : Integer;
arrayDimensions : Array[0..0] OF Byte;
end;

TControlBlock = record
cmdID : Integer;
retBuf : Pointer;
retBufSize : word;
isFunction : Boolean;
dlgIOMode : TIOMode;
dlgOpts : ADlgOption;
argsCount : Integer;
returnOp : TOperator;
args : Array[0..MAX_ARGS-1] OF TOperator;
end;
display dialog
TFlags = SET OF AFlag

TFType = SmallInt

TIOMode = SET OF EnumIOMode

TOperator = record
bufferSize : word;
fldID : word;
end;

TWordCommand = OBJECT
    wcb : TControlBlock

Constants

MAX_ARGS = 34

T_DOUBLE = 3

T_LONG = 2

T_NONE = 0

Winword 6/95 API interface. win 16: as copied from Martin Austermeier's capilib.pas win 32: change types, calling mechanism for wdCommandDispatch

T_SHORT = 1

T_STRING = 4


Variables