mirror of
https://github.com/byteworksinc/ORCA-Pascal.git
synced 2025-02-17 20:30:33 +00:00
149 lines
5.5 KiB
ObjectPascal
149 lines
5.5 KiB
ObjectPascal
{$keep 'SFToolSet'}
|
|
unit SFToolSet;
|
|
interface
|
|
|
|
{********************************************************
|
|
*
|
|
* Standard File Operations Tool Set Interface File
|
|
*
|
|
* Other USES Files Needed: Common, Dialog Manager
|
|
*
|
|
* Other Tool Sets Needed: Tool Locator, Memory Manager,
|
|
* Miscellaneous Tool Set, QuickDraw II,
|
|
* Event Manager, Window Manager, Control Manager,
|
|
* Menu Manager, LineEdit Tool Set, Dialog Manager
|
|
*
|
|
* Copyright 1987-1990
|
|
* By the Byte Works, Inc.
|
|
* All Rights Reserved
|
|
*
|
|
*********************************************************}
|
|
|
|
uses
|
|
Common, DialogMgr;
|
|
|
|
const
|
|
(* Filter procedure results. *)
|
|
noDisplay = $0000; (* don't display file *)
|
|
noSelect = $0001; (* display file, but don't allow selection *)
|
|
displaySelect = $0002; (* display file and allow selection *)
|
|
|
|
type
|
|
typeList = record
|
|
numEntries: byte;
|
|
fileType: array [1..10] of byte; (* Array can be expanded *)
|
|
end;
|
|
typeListPtr = ^typeList;
|
|
|
|
replyRecord = record
|
|
good: boolean;
|
|
fileType: integer;
|
|
auxFileType: integer;
|
|
fileName: packed array [0..15] of char;
|
|
fullPathName: pathName;
|
|
end;
|
|
|
|
replyRecord5_0 = record
|
|
good: integer;
|
|
fileType: integer;
|
|
auxFileType: longint;
|
|
nameVerb: integer;
|
|
nameRef: longint;
|
|
pathVerb: integer;
|
|
pathRef: longint;
|
|
end;
|
|
|
|
typeRec = record
|
|
flags: integer;
|
|
fileType: integer;
|
|
auxType: longint;
|
|
end;
|
|
|
|
typeList5_0 = record
|
|
numEntries: integer;
|
|
fileAndAuxTypes: array [1..10] of typeRec; (* change array size *)
|
|
end; (* as needed *)
|
|
typeList5_0Ptr = ^typeList5_0;
|
|
|
|
multiReplyRecord = record
|
|
good: integer;
|
|
namesHandle: handle;
|
|
end;
|
|
|
|
|
|
procedure SFBootInit; tool ($17, $01); (* WARNING: an application should
|
|
NEVER make this call *)
|
|
|
|
procedure SFStartup (userID, dPageAddr: integer); tool ($17, $02);
|
|
|
|
procedure SFShutDown; tool ($17, $03);
|
|
|
|
function SFVersion: integer; tool ($17, $04);
|
|
|
|
procedure SFReset; tool ($17, $05); (* WARNING: an application should
|
|
NEVER make this call *)
|
|
|
|
function SFStatus: boolean; tool ($17, $06);
|
|
|
|
procedure SFAllCaps (allCapsFlag: boolean); tool ($17, $0D);
|
|
|
|
procedure SFGetFile (whereX, whereY: integer; prompt: univ pStringPtr;
|
|
filterProc: procPtr; theTypeList: typeListPtr;
|
|
var theReply: replyRecord); tool ($17, $09);
|
|
|
|
procedure SFGetFile2 (whereX, whereY, promptVerb: integer;
|
|
promptRef: univ longint; filterProcPtr: procPtr;
|
|
var theTypeList: typeList5_0;
|
|
var theReply: replyRecord5_0); tool ($17, $0E);
|
|
|
|
procedure SFMultiGet2 (whereX, whereY, promptVerb: integer;
|
|
promptRef: univ longint; filterProcPtr: procPtr;
|
|
var theTypeList: typeList5_0;
|
|
var theReply: multiReplyRecord); tool ($17, $14);
|
|
|
|
procedure SFPGetFile (whereX, whereY: integer; prompt: univ pStringPtr;
|
|
filterProc: procPtr; theTypeList: typeListPtr;
|
|
theDialogTemplate: dialogTempPtr; dialogHookPtr: procPtr;
|
|
var theReply: replyRecord); tool ($17, $0B);
|
|
|
|
procedure SFPGetFile2 (whereX, whereY: integer; itemDrawPtr: procPtr;
|
|
promptVerb: integer; promptRef: univ longint;
|
|
filterProcPtr: procPtr; var theTypeList: typeList5_0;
|
|
var dlgTemp: dialogTemplate; dialogHookPtr: procPtr;
|
|
var theReply: replyRecord5_0); tool ($17, $10);
|
|
|
|
procedure SFPMultiGet2 (whereX, whereY: integer; itemDrawPtr: procPtr;
|
|
promptVerb: integer; promptRef: univ longint;
|
|
filterProcPtr: procPtr;
|
|
var theTypeList: typeList5_0;
|
|
var dlgTemp: dialogTemplate; dialogHookPtr: procPtr;
|
|
var theReply: multiReplyRecord); tool ($17, $15);
|
|
|
|
procedure SFPPutFile (whereX, whereY: integer; prompt, origName: univ pStringPtr;
|
|
maxLen: integer; theDialogTemplate: dialogTempPtr;
|
|
dialogHookPtr: procPtr; var theReply: replyRecord);
|
|
tool ($17, $0C);
|
|
|
|
procedure SFPPutFile2 (whereX, whereY: integer; itemDrawPtr: procPtr;
|
|
promptVerb: integer; promptRef: univ longint;
|
|
origNameVerb: integer; origNameRef: univ longint;
|
|
var dlgTemp: dialogTemplate; dialogHookPtr: procPtr;
|
|
var theReply: replyRecord5_0); tool ($17, $11);
|
|
|
|
procedure SFPutFile (whereX, whereY: integer; prompt, origName: univ pStringPtr;
|
|
maxLen: integer; var theReply: replyRecord);
|
|
tool ($17, $0A);
|
|
|
|
procedure SFPutFile2 (whereX, whereY, promptVerb: integer;
|
|
promptRef: univ longint; origNameVerb: integer;
|
|
origNameRef: univ longint;
|
|
var theReply: replyRecord5_0); tool ($17, $0F);
|
|
|
|
procedure SFReScan (filterProcPtr: procPtr; var theTypeList: typeList);
|
|
tool ($17, $13);
|
|
|
|
function SFShowInvisible (invisibleState: boolean): boolean; tool ($17, $12);
|
|
|
|
implementation
|
|
end.
|