-- file: TOCSelectionDefs.Mesa
-- last edited by Brotz, July 29, 1980 12:31 PM

DIRECTORY
inD: FROM "InteractorDefs",
vmD: FROM "VirtualMgrDefs";

tsD: DEFINITIONS =

BEGIN

AddRange: PROCEDURE [low, high: vmD.TOCIndex];
-- Includes the new range [low .. high] in the toc selection.


RemoveRange: PROCEDURE [low, high: vmD.TOCIndex];
-- Removes the range [low .. high] from the toc selection.


ResetTOCSelection: PROCEDURE;
-- Resets the entire TOCSelection to be empty.

SetTOCSelection: PROCEDURE [index: vmD.TOCIndex];
-- sets the TOC selection to the range [index..index+1).


IsSelected: PROCEDURE [index: vmD.TOCIndex] RETURNS [BOOLEAN];
-- Returns TRUE iff index is in the current TOCSelection.


TOCSelectionEmpty: PROCEDURE RETURNS [BOOLEAN];
-- Returns TRUE iff the current TOCSelection is empty.


FirstSelectedEntry: PROCEDURE RETURNS [vmD.TOCIndex];
-- Returns the lowest entry in the current TOCSelection. Returns 0 if the current
-- TOCSelection is empty.


LastSelectedEntry: PROCEDURE RETURNS [vmD.TOCIndex];
-- Returns the highest entry in the current TOCSelection. Returns 0 if the current
-- TOCSelection is empty.


NextSelectedEntry: PROCEDURE [index: vmD.TOCIndex] RETURNS [vmD.TOCIndex];
-- Returns the next higher entry after index in the current TOCSelection. Returns 0 if no
-- higher selected entry exists.


PrevSelectedEntry: PROCEDURE [index: vmD.TOCIndex] RETURNS [vmD.TOCIndex];
-- Returns the next lower entry before index in the current TOCSelection. Returns 0 if no
-- lower selected entry exists.


ConsiderAll: PROCEDURE [tnp: inD.TOCTextNbrPtr];
-- Marks (on screen) as selected all selected TOCEntries.


DeconsiderAll: PROCEDURE [tnp: inD.TOCTextNbrPtr];
-- Unmarks (on screen) as selected all selected TOCEntries.


TOCTextTracker: PROCEDURE [tnp: inD.TOCTextNbrPtr];
-- Sets cursor shape for TOC Text subneighborhood. Watches for button up and down,
-- selects and restores selections in TOC according to the TOC selection protocol.


END. -- of TOCSelectionDefs --