-- file: IntCommon.Mesa
-- edited by Brotz, April 1, 1981 5:39 PM
-- edited by Levin, July 15, 1980 4:24 PM
-- edited by Schroeder, March 13, 1981 11:45 AM

DIRECTORY
crD: FROM "CoreDefs",
dsD: FROM "DisplayDefs",
Editor,
exD: FROM "ExceptionDefs",
inD: FROM "InteractorDefs",
LaurelHardcopyDefs,
lmD: FROM "LaurelMenuDefs",
lsD: FROM "LaurelStateDefs",
ovD: FROM "OverviewDefs",
RetrieveDefs,
StreamDefs,
vmD: FROM "VirtualMgrDefs";

intCommon: PROGRAM
SHARES inD = PUBLIC

BEGIN OPEN inD;

-- Purpose: Named common block for variables shared by the interactor modules.

--leftMargin,
--rightMargin,
--lineBarLeftX,
--consideredLeftX,
first X coord. in TOC considered mark field
--markLeftX,
first X coord. in TOC mark field
--numberLeftX,
first X coord. in TOC number field
--numberRightX,
first X coord. not in TOC number field
-- Above commented out values have been moved to inD as constants.

dateLeftX,
-- first X coord. in TOC date field
dateRightX,
-- first X coord. not in TOC date field
fromLeftX,
-- first X coord. in TOC from field
fromRightX,
-- first X coord. not in TOC from field
subjectLeftX,
-- first X in first line of TOC subject field
subjectExtensionLeftX: ScreenXCoord;
-- first X coord. in additional TOC subject field lines

displayMessageIndex: vmD.TOCIndex;

--CRWidth, Moved to inD as constant.
--digitWidth: CARDINAL; Moved to inD as constant.

secondsLastChecked,
lastMinuteSeconds: CARDINAL;

keystream: StreamDefs.StreamHandle;

regions,
mailCommandRegion,
TOCRegion,
TOCCommandRegion,
DMRegion,
CMCommandRegion,
CMRegion,
exceptionsRegion: RegionPtr;

linePoolPtr: LinePtr;

mailCommandNbr,
tocCommandNbr,
cmCommandNbr: CommandNbrPtr;

tocTextNbr: TOCTextNbrPtr;
dmTextNbr,
cmTextNbr: MessageTextNbrPtr;

tocThumbLineNbr,
dmThumbLineNbr,
cmThumbLineNbr: ThumbLineNbrPtr;

tocdmBoundaryPadNbr,
dmcmBoundaryPadNbr: BoundaryPadNbrPtr;

boundarySet: BoundarySet;

versionHouse,
timeHouse,
newMessagesHouse,
freePagesHouse,
userCommandHouse,
userBracketsHouse,
newMailCommandHouse,
mailFileCommandHouse,
mailFileBracketsHouse,
quitCommandHouse,
displayCommandHouse,
hardcopyCommandHouse,
deleteCommandHouse,
undeleteCommandHouse,
moveToCommandHouse,
moveToBracketsHouse,
newFormCommandHouse,
answerCommandHouse,
forwardCommandHouse,
getCommandHouse,
putCommandHouse,
copyCommandHouse,
runCommandHouse,
deliverCommandHouse,
runBracketsHouse,
findHouse,
findBracketsHouse,
substituteHouse,
substituteNewBracketsHouse,
substituteOldBracketsHouse,
copySourceBracketsHouse,
copyTargetBracketsHouse,
printerBracketsHouse,
copiesBracketsHouse,
duplexBracketsHouse,
formBracketsHouse,
getPutBracketsHouse,
currentCommand: HousePtr;

hardcopyMenuSegment,
getPutMenuSegment,
runMenuSegment,
findMenuSegment,
substituteMenuSegment,
copyMenuSegment: lsD.StateSegment;

editorMenuState: lmD.EditorMenuState;

imageFileName: STRING ← NIL;

audioEnabled,
twoSidedPrinting,
twoSidedPrintingDefault,
passwordPrinting,
passwordPrintingDefault,
timeMayBeBogus,
hardcopyInstallError,
calledFromDebugger,
debuggerExtant,
commandMode,
runCommandMode,
newTargetSelection,
pendingDeleteSetByControl,
controlRedEnabled,
bluePendingDelete,
secondarySelectionEnabled,
disableWriting,
cForCopies,
haveMailFile,
composedMessageEdited,
newFormAfterDelivery,
displayAfterDelete,
autoConfirm: BOOLEAN;

fontDirectorySegment: lsD.StateSegment;
hardcopyWidthTableSegment: lsD.StateSegment;
hardcopyFormTable: LaurelHardcopyDefs.HardcopyFormTable;
defaultHardcopyFormName: STRING ← NIL;
newMailTune: STRING ← NIL;

defaultHardCopies,
hardCopies: CARDINAL;

target,
source: TextSelection;

actionPoint: ovD.CharIndex;

currentSelection: Editor.UnderlineType;

multiClickTimeOut: CARDINAL; -- in 1/26ths of a second --
tapTimeOut: CARDINAL; -- in 1/26ths of a second --
continuousScrollTimeOut: CARDINAL; -- in 1/26ths of a second --
continuousScrollDelay: CARDINAL; -- in 1/26ths of a second --
nextBracketTimeout: CARDINAL; -- in 1/26ths of a second --
nextBracketDelay: CARDINAL; -- in 1/26ths of a second --

user: crD.DMSUser;

mailFileHandle: crD.UFileHandle;
retrieveHandle: RetrieveDefs.Handle;

ProtocolSelector: TYPE = {auto, gv, mtp};

profileRegistry: STRING;
profileSendMode: ProtocolSelector;
profileSend: STRING;
profileRetrieveMode: ProtocolSelector;
profileRetrieve: STRING;
gvTestingMode: BOOLEAN;

leafOk: BOOLEAN;
remoteFilePath: STRING;

hardcopyHost: STRING;
hardcopyUserName: STRING;

bugReportee: STRING;

runPath: STRING;

arpaGatewayHostNames: DESCRIPTOR FOR ARRAY OF STRING;

mailcheckPollingInterval: CARDINAL; -- in seconds --

editorType: Editor.EditorType;
exceptionType: exD.ExceptionType;

commandType: Editor.CommandType;
pendingCommandType: Editor.CommandType ← noCommand;

END. -- of intCommon --