AdobeOps.mesa
Copyright Ó 1990 b, 1992y Xerox Corporation. All rights reserved.
Philip James, February 21, 1991 4:21 pm PST
Foote, June 24, 1992 8:46 am PDT
DIRECTORY
AdobeP75V2,
CHNameP2V0 USING [ThreePartName],
Rope USING [ROPE];
AdobeOps: CEDAR DEFINITIONS = {
Place: TYPE = RECORD [x, y: INTEGER];
ARNumber: TYPE = LONG CARDINAL;
nilARNumber: ARNumber = 0;
nilPossibilities: EnumeratedSequence;
nullDependsOnIndex: DependsOnIndex = LAST[CARD16];
ARVersion: TYPE = LONG CARDINAL;
ARSystemHandle: TYPE = REF ARSystemObject;
ARSystemObject: TYPE = RECORD [
name: Rope.ROPE ¬ NIL, -- name of the ARSystem --
host: Rope.ROPE ¬ NIL, -- file server where the ARs are stored --
directory: Rope.ROPE ¬ NIL, -- directory where the ARs are stored --
refCount: CARDINAL ¬ 0, -- number of active Adobe tools using this system --
sysQL: QueryList ¬ NIL,
otherQLs: QLHandle ¬ NIL,
version: ARVersion ¬ 0, -- description version --
service: Rope.ROPE ¬ NIL,
service: CHNameP2V0.ThreePartName ← [NIL, NIL, NIL],
fieldList: AdobeP75V2.FieldList ¬ NIL,
formSWOrderArray: FormSWOrder ¬ ALL[NIL]]; -- specifies display order of FormSW items for individual tools --
WhichToRead: TYPE = {fieldname, fieldvalue};
ARValuesList: TYPE = REF ARValues;
ARValues: TYPE = MACHINE DEPENDENT RECORD[
arseq: SEQUENCE length: CARDINAL OF ARFieldType];
ARFieldType: TYPE = ARRAY WhichToRead OF Rope.ROPE ¬ ALL[NIL];
FormSWOrder: TYPE = ARRAY ToolType OF UserSpecifiedOrder;
UserSpecifiedOrder: TYPE = REF UserOrderSequence;
UserOrderSequence: TYPE = RECORD[
order: SEQUENCE length: CARDINAL OF CARDINAL];
FieldList: TYPE = AdobeP75V2.FieldList;
FieldListArray: TYPE = AdobeP75V2.FieldListArray;
FieldItemHandle: TYPE = REF FieldItemObject;
FieldItemObject: TYPE = AdobeP75V2.FieldItemObject;
FieldItemObjectRec: TYPE = AdobeP75V2.FieldItemObjectRec;
FieldList: TYPE = REF FieldListArray;
FieldListArray: TYPE = RECORD[
flSeq: SEQUENCE len: CARDINAL OF FieldItemObject];
FieldItemObject: TYPE = REF FieldItemObjectRec;
FieldItemObjectRec: TYPE = RECORD [
name: Rope.ROPENIL,
tmp: Rope.ROPENIL,
defaultInfo: ARRAY ToolType OF DefaultInfoHandle ← ALL[NIL],
body:
SELECT type: FieldType FROM
arId => NULL,
dateTime => NULL,
numeric => NULL,
fixedLengthString => [maxLength: CARDINAL ← 0],
enumerated => [
field: DependsOnIndex ← LAST[CARD16], -- index of system depended on --
possibilities: KeyedPossibilities ← NIL], -- the menu items --
string => NULL,
ENDCASE];
ArFIO: TYPE ~ REF arId FieldItemObjectRec;
DateFIO: TYPE ~ REF dateTime FieldItemObjectRec;
NumFIO: TYPE ~ REF numeric FieldItemObjectRec;
FixFIO: TYPE ~ REF fixedLengthString FieldItemObjectRec;
EnumFIO: TYPE ~ REF enumerated FieldItemObjectRec;
StrFIO: TYPE ~ REF string FieldItemObjectRec;
AcceleratorInfo: TYPE = AdobeP75V2.AcceleratorInfo;
KeyedPossibilities: TYPE = AdobeP75V2.KeyedPossibilities;
KeyedPossibilitiesSeq: TYPE = AdobeP75V2.KeyedPossibilitiesSeq;
Possibilities: TYPE = AdobeP75V2.Possibilities;
KeyedPossibilities: TYPE = REF KeyedPossibilitiesSeq;
KeyedPossibilitiesSeq: TYPE = RECORD [
seq: SEQUENCE len: CARDINAL OF Possibilities];
Possibilities: TYPE = RECORD [
keyedDependency: CARDINAL ← 0, enumRecs: EnumeratedSequence ← NIL];
DefaultInfoHandle: TYPE = REF DefaultInfoObject;
DefaultInfoObject: TYPE = RECORD [
default: Rope.ROPE ¬ NIL,
tmp: Rope.ROPE ¬ NIL,
systemMust: BOOLEAN ¬ FALSE,
place: Place ¬ [0, -1],
width: CARDINAL ¬ 0];
QLHandle: TYPE = REF QLObject;
QLObject: TYPE = RECORD [qL: QueryList, next: QLHandle];
QueryList: TYPE = REF QueryListBody;
QueryListBody: TYPE = RECORD [name: Rope.ROPE, list: SetOfARs];
SetOfARs: TYPE = AdobeP75V2.SetOfARs;
SetOfARsObject: TYPE = AdobeP75V2.SetOfARsObject;
RunOfARs: TYPE = AdobeP75V2.RunOfARs;
SetOfARs: TYPE = REF SetOfARsObject;
SetOfARsObject: TYPE = RECORD [
arSeq: SEQUENCE len: CARDINAL OF RunOfARs];
RunOfARs: TYPE = RECORD [
startValue: ARNumber, runLength: LONG CARDINAL];
runLength of 1 -> single AR
DependsOnIndex: TYPE = AdobeP75V2.DependsOnIndex;
FieldType: TYPE = AdobeP75V2.FieldType;
ToolType: TYPE = AdobeP75V2.ToolType;
DependsOnIndex: TYPE = CARDINAL;
FieldType: TYPE = MACHINE DEPENDENT {
arId(0), dateTime(1), numeric(2), fixedLengthString(3), enumerated(4), string(5)};
EnumeratedSequence: TYPE = AdobeP75V2.EnumeratedSequence;
EnumeratedSequenceType: TYPE = AdobeP75V2.EnumeratedSequenceType;
Enumerated: TYPE = RECORD [string: Rope.ROPE, value: UNSPECIFIED];
EnumeratedSequence: TYPE = REF EnumeratedSequenceType;
EnumeratedSequenceType: TYPE = MACHINE DEPENDENT RECORD [
seq(0): SEQUENCE length(0): CARDINAL OF Enumerated];
nilEnum: CARD16 = LAST[CARD16];
}.