/* NAME: MacLip.h PROGRAMMED BY: Robert A. McIvor DATE: Version 2.02 Apr 1990 OBJECT: These are the global variables, includes, and defines for the set of programs used in the Loglan Interactive Parser (LIP) Macintosh version */ #pragma once // Includes #include #include #include #include #include #include #include // Defines #define kAEParse,'pars' #define aboutID 999 /*dialog resource for Copyright, Version etc.*/ #define alertID 998 /*resource for alert messages*/ #define appleMenu 1 /*apple Menu resource number*/ #define BTNOFF 0 /*Flag for button off*/ #define BTNON 1 /*Flag for button on*/ #define ECHOON 12 /*Full record check box*/ #define editMenu 257 /*Edit menu resource number*/ #define ECOPY 4 /*Edit menu copy item*/ #define ECUT 3 /*Edit menu cut item*/ #define EPASTE 5 /*Edit menu paste item*/ #define ENTER 3 /*ASCII enter character*/ #define FILEITEMS 9 /*number of items in File Menu*/ #define fileMenu 256 /*file menu resource number*/ #define HELPBUT 3 /*Help button*/ #define hwindID 1 /*Help window resource number*/ #define lastMenu 4 /*Menu count*/ #define mainID 1000 /*Main dialog resource number*/ #define MAXITEMS 22 /*Maximum item counat in main dialog*/ #define MCLOSE 4 /*Close item on file menu*/ #define MFEVENT 15 /*Multifinder event*/ #define MOPEN 2 /*Open item on file menu*/ #define MQUIT 11 /*Menu quit item*/ #define MY 6 /*Keyboard entry item on main dialog*/ #define NUMFILES 4 /*Number of possible file types*/ #define NUMRADGROUPS 3 /*Number of radio button groups*/ #define parseMenu 258 /*Parse menu resource number*/ #define PARSEBUT 1 /*Parse button on main dialog*/ #define pwindID 2 /*Parse window resource number*/ #define QUITBUT 4 /*Quit button item number*/ #define SAVEBUT 2 /*Save item button number*/ #define SAVECHK 13 /*Save edited input check box number*/ #define SENTBYSENT 21 /*Sentence-by-Sentence radio button*/ #define TAB 0x09 /*tabulation character*/ #define TEXTFAST 8 /*All at once radio button*/ #define TEXTSW 7 /*Text file entry radio button number*/ #define TXT 5 /*Main dialog text entry box*/ #define UNDO 1 /*Undo item in Edit Menu*/ #define US unsigned /*For Aztec C - Lattice C requires #define US */ //Globals DialogPtr abDialog; /*Pointer to about dialog*/ DialogRecord abRecord; /*Dialog record storage*/ Boolean ascript; // Mar 95 for detecting a script call Rect BlitRect; /*Off screen Grafport*/ TEHandle dlgTE; /*TEHandle for parse text */ short DoIt; /*Used for multifinder capability*/ Rect dragRect; /*TEEdit rectangle for dragging*/ DialogRecord dRecord; /*main Dialog record*/ long factor; /*used for calculating scrolling distance*/ Rect growRect; /*TEEdit rectangle for growing*/ Boolean gSDI; /*Set default item flag*/ short hasGestalt; /*Boolean to check for Gestalt*/ WindowPtr helpWindow; /*Pointer to the help window*/ WindowRecord hRecord; /*Window record for the help window*/ ControlHandle hScroll; /*Horizontal Scroll handle*/ TEHandle hTE; /*Text edit Record handle (for help info)*/ short i; /*File index number*/ CursHandle iBeam; /*Cursor handle for text entry*/ US char inpnam[30]; /*For name of input file*/ short inpos; /*selection point at cut*/ SFReply inReply; /*Standard file reply record*/ Rect itemBox; /*Used in getting handles to dialog items*/ Handle itemHdl[MAXITEMS]; /*To hold dialog item handles*/ short itemHit; /*Item hit in a dialog or modal dialog*/ long lseek(); /*Function declaration*/ short myControl;/*Temporary control handle*/ DialogPtr myDialog; /*Temporary dialog handle*/ EventRecord myEvent; /*Temporary event record*/ MenuHandle myMenus[lastMenu]; /*Handles to the various menus*/ GrafPort myPort; /*Temporary graph port*/ GrafPtr myPtr; /*Temporary graph port pointer*/ SFTypeList myType; /*Temporary file type list*/ short OffRowBytes; /*Measure of off-screen bit map*/ BitMap OffScreen; /*OffScreen bit map*/ Point oldOrigin; /*Used in calculating scrolling distance*/ Point Origin; /*Used in calculating scrolling*/ SFReply outReply; /*Standard file dialog out reply*/ TextStyle parseTS; /*TextStyle record for parse window */ WindowPtr parseWindow; /*Pointer to parse window*/ short penx; /*Used for scrolling parse tree*/ short peny; /*Used for scrolling parse tree*/ WindowRecord pRecord; /*Window record for parse window*/ Rect pRect; /*Rectangle used in updating*/ ControlHandle pvScroll; /*Control hangle for tree scrolling*/ Rect radBox; /*Box for text input, used for setting cursor*/ Handle radHdl; /*Handle to same*/ long Reply; /*return from Gestalt*/ OSErr resultCode; /*Result code for IO errors*/ GrafPtr savePort; /*Temporary Graf pointer for saving*/ long SizeofOff;/*Used in offscreen grafport*/ long sleeep; /*Used for Multifinder compatibility*/ Point tpOrigin; /*Used in scroll updating*/ Point thOrigin; /*Used in scroll updating*/ short theType; /*Used for getting dialog handles*/ SysEnvRec theWorld; /*Used for Multifinder compatibility*/ ControlHandle vScroll; /*Control handle for vertical scroll bar (help)*/ CursHandle Watch; /*Delay cursor*/ ControlHandle whichControl; /*Temporary control handle*/ DialogPtr whichDialog; /*Temporary dialog pointer*/ WindowPtr whichWindow; /*Temporary window pointer*/ long winht; /*Used in calculating scrolling length*/ short WNE; /*Wait Next Event flag*/ struct rSet { /*Structure for radio buttons*/ unsigned char defaultOn; unsigned char nowOn; }radSet[NUMRADGROUPS]; // Prototypes void AdjustControl(Point penpos); void alert(short n,short m); void checkCursor(void); void checkout(short item, unsigned char *name, short fileno); void control(short ctrlno, short ctlval, short set); void doClose(void); void docommand(unsigned long mResult); void domulti(void); void DoOffScreen(Rect *Offrect); void doparse(void); void dosave(void); void DrawWindow(WindowPtr theWindow,short hpos,short vpos); void GrowWnd(WindowPtr whichWindow); void IClose(short refno, short flag); void IOCheck(OSErr code); void IOpen (char *name,short vol,short *refno); void initlip(void); void initMac(void); void initRects(void); void message(short n,short m, unsigned char *txt); void MoveScrollBars(WindowPtr thisWindow, ControlHandle tvscroll,ControlHandle thscroll); void nfputc (char c); void nfputs (unsigned char *str, short style); void openout(ControlHandle handle,unsigned char *name,short fileno); void opentext(void); void outlin(short no,DialogPtr dialog); void PageScroll(short code,long amount); void parseline(void); void radioset(short i); void ResizePRect(WindowPtr theWindow); void ScrollBits(void); void setupdialogs(void); void setupmenu(void); void setscroll(void); void WriteParse(void); Boolean AppleEventsInstalled(void); Boolean GetLine(char *str); Boolean INextLine(short refno); Boolean TrapAvailable(short theTrap); short NumToolboxTraps(void); TrapType GetTrapType(short theTrap); OSErr DoAEParse(AEDesc *ptrToTheResult,char *iline); pascal void resume(void); pascal void ScrollDown(ControlHandle whichControl, short theCode); pascal void ScrollUp(ControlHandle whichControl, short theCode); pascal OSErr MyGotRequiredParams(AppleEvent *theAppleEvent); pascal OSErr MyHandleOAPP (AppleEvent *theAppleEvent, AppleEvent *reply, long Refcon); pascal OSErr MyHandleODOC (AppleEvent *theAppleEvent,AppleEvent *reply,long Refcon); pascal OSErr MyHandlePDOC (AppleEvent *theAppleEvent,AppleEvent *reply,long Refcon); pascal OSErr MyHandleQUIT (AppleEvent *theAppleEvent,AppleEvent *reply,long Refcon); pascal OSErr HandleAEParse(const AppleEvent *theAppleEvent, const AppleEvent *theReply, long theRefCon);