HyperXCmd.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:24k
- /*
- File: HyperXCmd.h
-
- Contains: Interfaces for HyperCard XCMD's
-
- Version: Technology: HyperCard 2.3
- Release: QuickTime 6.0.2
-
- Copyright: (c) 1987-2001 by Apple Computer, Inc., all rights reserved
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __HYPERXCMD__
- #define __HYPERXCMD__
- #ifndef __MACTYPES__
- #include "MacTypes.h"
- #endif
- #ifndef __FP__
- #include "fp.h"
- #endif
- #ifndef __EVENTS__
- #include "Events.h"
- #endif
- #ifndef __TEXTEDIT__
- #include "TextEdit.h"
- #endif
- #ifndef __MENUS__
- #include "Menus.h"
- #endif
- #ifndef __STANDARDFILE__
- #include "StandardFile.h"
- #endif
- #if PRAGMA_ONCE
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
- /* result codes */
- enum {
- xresSucc = 0,
- xresFail = 1,
- xresNotImp = 2
- };
- /* XCMDBlock constants for event.what... */
- enum {
- xOpenEvt = 1000, /* the first event after you are created */
- xCloseEvt = 1001, /* your window is being forced close (Quit?) */
- xGiveUpEditEvt = 1002, /* you are losing Edit... */
- xGiveUpSoundEvt = 1003, /* you are losing the sound channel... */
- xHidePalettesEvt = 1004, /* someone called HideHCPalettes */
- xShowPalettesEvt = 1005, /* someone called ShowHCPalettes */
- xEditUndo = 1100, /* Edit--Undo */
- xEditCut = 1102, /* Edit--Cut */
- xEditCopy = 1103, /* Edit--Copy */
- xEditPaste = 1104, /* Edit--Paste */
- xEditClear = 1105, /* Edit--Clear */
- xSendEvt = 1200, /* script has sent you a message (text) */
- xSetPropEvt = 1201, /* set a window property */
- xGetPropEvt = 1202, /* get a window property */
- xCursorWithin = 1300, /* cursor is within the window */
- xMenuEvt = 1400, /* user has selected an item in your menu */
- xMBarClickedEvt = 1401, /* a menu is about to be shown--update if needed */
- xShowWatchInfoEvt = 1501, /* for variable and message watchers */
- xScriptErrorEvt = 1502, /* place the insertion point */
- xDebugErrorEvt = 1503, /* user clicked "Debug" at a complaint */
- xDebugStepEvt = 1504, /* hilite the line */
- xDebugTraceEvt = 1505, /* same as step but tracing */
- xDebugFinishedEvt = 1506 /* script ended */
- };
- enum {
- paletteProc = 2048, /* Windoid with grow box */
- palNoGrowProc = 2052, /* standard Windoid defproc */
- palZoomProc = 2056, /* Windoid with zoom and grow */
- palZoomNoGrow = 2060 /* Windoid with zoom and no grow */
- };
- enum {
- hasZoom = 8,
- hasTallTBar = 2,
- toggleHilite = 1
- };
- /* paramCount is set to these constants when first calling special XThings */
- enum {
- xMessageWatcherID = -2,
- xVariableWatcherID = -3,
- xScriptEditorID = -4,
- xDebuggerID = -5
- };
- /* XTalkObjectPtr->objectKind values */
- enum {
- stackObj = 1,
- bkgndObj = 2,
- cardObj = 3,
- fieldObj = 4,
- buttonObj = 5
- };
- /* selectors for ShowHCAlert's dialogs (shown as buttonID:buttonText) */
- enum {
- errorDlgID = 1, /* 1:OK (default) */
- confirmDlgID = 2, /* 1:OK (default) and 2:Cancel */
- confirmDelDlgID = 3, /* 1:Cancel (default) and 2:Delete */
- yesNoCancelDlgID = 4 /* 1:Yes (default), 2:Cancel, and 3:No */
- };
- /* type definitions */
- struct XCmdBlock {
- short paramCount; /* If = -1 then new use for XWindoids */
- Handle params[16];
- Handle returnValue;
- Boolean passFlag;
- SignedByte filler1;
- UniversalProcPtr entryPoint; /* to call back to HyperCard */
- short request;
- short result;
- long inArgs[8];
- long outArgs[4];
- };
- typedef struct XCmdBlock XCmdBlock;
- typedef XCmdBlock * XCmdPtr;
- struct XWEventInfo {
- EventRecord event;
- WindowPtr eventWindow;
- long eventParams[9];
- Handle eventResult;
- };
- typedef struct XWEventInfo XWEventInfo;
- typedef XWEventInfo * XWEventInfoPtr;
- struct XTalkObject {
- short objectKind; /* stack, bkgnd, card, field, or button */
- long stackNum; /* reference number of the source stack */
- long bkgndID;
- long cardID;
- long buttonID;
- long fieldID;
- };
- typedef struct XTalkObject XTalkObject;
- typedef XTalkObject * XTalkObjectPtr;
- /* maximum number of checkpoints in a script */
- enum {
- maxCachedChecks = 16
- };
- struct CheckPts {
- short checks[16];
- };
- typedef struct CheckPts CheckPts;
- typedef CheckPts * CheckPtPtr;
- typedef CheckPtPtr * CheckPtHandle;
- /*
- HyperTalk Utilities
- */
- #if CALL_NOT_IN_CARBON
- EXTERN_API( Handle )
- EvalExpr (XCmdPtr paramPtr,
- ConstStr255Param expr);
- EXTERN_API( void )
- SendCardMessage (XCmdPtr paramPtr,
- ConstStr255Param msg);
- EXTERN_API( void )
- SendHCMessage (XCmdPtr paramPtr,
- ConstStr255Param msg);
- EXTERN_API( void )
- RunHandler (XCmdPtr paramPtr,
- Handle handler);
- /*
- Memory Utilities
- */
- EXTERN_API( Handle )
- GetGlobal (XCmdPtr paramPtr,
- ConstStr255Param globName);
- EXTERN_API( void )
- SetGlobal (XCmdPtr paramPtr,
- ConstStr255Param globName,
- Handle globValue);
- EXTERN_API( void )
- ZeroBytes (XCmdPtr paramPtr,
- void * dstPtr,
- long longCount);
- /*
- String Utilities
- */
- EXTERN_API( void )
- ScanToReturn (XCmdPtr paramPtr,
- Ptr * scanPtr);
- EXTERN_API( void )
- ScanToZero (XCmdPtr paramPtr,
- Ptr * scanPtr);
- EXTERN_API( Boolean )
- StringEqual (XCmdPtr paramPtr,
- ConstStr255Param str1,
- ConstStr255Param str2);
- EXTERN_API( long )
- StringLength (XCmdPtr paramPtr,
- void * strPtr);
- EXTERN_API( void *)
- StringMatch (XCmdPtr paramPtr,
- ConstStr255Param pattern,
- void * target);
- EXTERN_API( void )
- ZeroTermHandle (XCmdPtr paramPtr,
- Handle hndl);
- /*
- String Conversions
- */
- EXTERN_API( void )
- BoolToStr (XCmdPtr paramPtr,
- Boolean value,
- Str255 str);
- EXTERN_API( void )
- Double_tToStr (XCmdPtr paramPtr,
- double_t num,
- Str255 str);
- EXTERN_API( void )
- LongToStr (XCmdPtr paramPtr,
- long posNum,
- Str255 str);
- EXTERN_API( void )
- NumToHex (XCmdPtr paramPtr,
- long num,
- short nDigits,
- Str255 str);
- EXTERN_API( void )
- NumToStr (XCmdPtr paramPtr,
- long num,
- Str255 str);
- EXTERN_API( Handle )
- PasToZero (XCmdPtr paramPtr,
- ConstStr255Param str);
- EXTERN_API( void )
- PointToStr (XCmdPtr paramPtr,
- Point pt,
- Str255 str);
- EXTERN_API( void )
- RectToStr (XCmdPtr paramPtr,
- const Rect * rct,
- Str255 str);
- EXTERN_API( void )
- ReturnToPas (XCmdPtr paramPtr,
- void * zeroStr,
- Str255 pasStr);
- EXTERN_API( Boolean )
- StrToBool (XCmdPtr paramPtr,
- ConstStr255Param str);
- EXTERN_API( double_t )
- StrToDouble_t (XCmdPtr paramPtr,
- ConstStr255Param str);
- EXTERN_API( long )
- StrToLong (XCmdPtr paramPtr,
- ConstStr255Param str);
- EXTERN_API( long )
- StrToNum (XCmdPtr paramPtr,
- ConstStr255Param str);
- EXTERN_API( void )
- StrToPoint (XCmdPtr paramPtr,
- ConstStr255Param str,
- Point * pt);
- EXTERN_API( void )
- StrToRect (XCmdPtr paramPtr,
- ConstStr255Param str,
- Rect * rct);
- EXTERN_API( void )
- ZeroToPas (XCmdPtr paramPtr,
- void * zeroStr,
- Str255 pasStr);
- /*
- Field Utilities
- */
- EXTERN_API( Handle )
- GetFieldByID (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- short fieldID);
- EXTERN_API( Handle )
- GetFieldByName (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- ConstStr255Param fieldName);
- EXTERN_API( Handle )
- GetFieldByNum (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- short fieldNum);
- EXTERN_API( void )
- SetFieldByID (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- short fieldID,
- Handle fieldVal);
- EXTERN_API( void )
- SetFieldByName (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- ConstStr255Param fieldName,
- Handle fieldVal);
- EXTERN_API( void )
- SetFieldByNum (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- short fieldNum,
- Handle fieldVal);
- EXTERN_API( TEHandle )
- GetFieldTE (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- short fieldID,
- short fieldNum,
- ConstStr255Param fieldName);
- EXTERN_API( void )
- SetFieldTE (XCmdPtr paramPtr,
- Boolean cardFieldFlag,
- short fieldID,
- short fieldNum,
- ConstStr255Param fieldName,
- TEHandle fieldTE);
- /*
- Miscellaneous Utilities
- */
- EXTERN_API( void )
- BeginXSound (XCmdPtr paramPtr,
- WindowPtr window);
- EXTERN_API( void )
- EndXSound (XCmdPtr paramPtr);
- EXTERN_API( Boolean )
- GetFilePath (XCmdPtr paramPtr,
- ConstStr255Param fileName,
- short numTypes,
- ConstSFTypeListPtr typeList,
- Boolean askUser,
- OSType * fileType,
- Str255 fullName);
- EXTERN_API( void )
- GetXResInfo (XCmdPtr paramPtr,
- short * resFile,
- short * resID,
- ResType * rType,
- Str255 name);
- EXTERN_API( void )
- Notify (XCmdPtr paramPtr);
- EXTERN_API( void )
- SendHCEvent (XCmdPtr paramPtr,
- const EventRecord * event);
- EXTERN_API( void )
- SendWindowMessage (XCmdPtr paramPtr,
- WindowPtr windPtr,
- ConstStr255Param windowName,
- ConstStr255Param msg);
- EXTERN_API( WindowPtr )
- FrontDocWindow (XCmdPtr paramPtr);
- EXTERN_API( long )
- StackNameToNum (XCmdPtr paramPtr,
- ConstStr255Param stackName);
- EXTERN_API( short )
- ShowHCAlert (XCmdPtr paramPtr,
- short dlgID,
- ConstStr255Param promptStr);
- EXTERN_API( Boolean )
- AbortInQueue (XCmdPtr paramPtr);
- EXTERN_API( void )
- FlushStackFile (XCmdPtr paramPtr);
- /*
- Creating and Disposing XWindoids
- */
- EXTERN_API( WindowPtr )
- NewXWindow (XCmdPtr paramPtr,
- const Rect * boundsRect,
- ConstStr255Param title,
- Boolean visible,
- short procID,
- Boolean color,
- Boolean floating);
- EXTERN_API( WindowPtr )
- GetNewXWindow (XCmdPtr paramPtr,
- ResType templateType,
- short templateID,
- Boolean color,
- Boolean floating);
- EXTERN_API( void )
- CloseXWindow (XCmdPtr paramPtr,
- WindowPtr window);
- /*
- XWindoid Utilities
- */
- EXTERN_API( void )
- HideHCPalettes (XCmdPtr paramPtr);
- EXTERN_API( void )
- ShowHCPalettes (XCmdPtr paramPtr);
- EXTERN_API( void )
- RegisterXWMenu (XCmdPtr paramPtr,
- WindowPtr window,
- MenuHandle menu,
- Boolean registering);
- EXTERN_API( void )
- SetXWIdleTime (XCmdPtr paramPtr,
- WindowPtr window,
- long interval);
- EXTERN_API( void )
- XWHasInterruptCode (XCmdPtr paramPtr,
- WindowPtr window,
- Boolean haveCode);
- EXTERN_API( void )
- XWAlwaysMoveHigh (XCmdPtr paramPtr,
- WindowPtr window,
- Boolean moveHigh);
- EXTERN_API( void )
- XWAllowReEntrancy (XCmdPtr paramPtr,
- WindowPtr window,
- Boolean allowSysEvts,
- Boolean allowHCEvts);
- /*
- Text Editing Utilities
- */
- EXTERN_API( void )
- BeginXWEdit (XCmdPtr paramPtr,
- WindowPtr window);
- EXTERN_API( void )
- EndXWEdit (XCmdPtr paramPtr,
- WindowPtr window);
- EXTERN_API( WordBreakUPP )
- HCWordBreakProc (XCmdPtr paramPtr);
- EXTERN_API( void )
- PrintTEHandle (XCmdPtr paramPtr,
- TEHandle hTE,
- StringPtr header);
- /*
- Script Editor support
- */
- EXTERN_API( CheckPtHandle )
- GetCheckPoints (XCmdPtr paramPtr);
- EXTERN_API( void )
- SetCheckPoints (XCmdPtr paramPtr,
- CheckPtHandle checkLines);
- EXTERN_API( void )
- FormatScript (XCmdPtr paramPtr,
- Handle scriptHndl,
- long * insertionPoint,
- Boolean quickFormat);
- EXTERN_API( void )
- SaveXWScript (XCmdPtr paramPtr,
- Handle scriptHndl);
- EXTERN_API( void )
- GetObjectName (XCmdPtr paramPtr,
- XTalkObjectPtr xObjPtr,
- Str255 objName);
- EXTERN_API( void )
- GetObjectScript (XCmdPtr paramPtr,
- XTalkObjectPtr xObjPtr,
- Handle * scriptHndl);
- EXTERN_API( void )
- SetObjectScript (XCmdPtr paramPtr,
- XTalkObjectPtr xObjPtr,
- Handle scriptHndl);
- /*
- Debugging Tools support
- */
- EXTERN_API( void )
- AbortScript (XCmdPtr paramPtr);
- EXTERN_API( void )
- GoScript (XCmdPtr paramPtr);
- EXTERN_API( void )
- StepScript (XCmdPtr paramPtr,
- Boolean stepInto);
- EXTERN_API( void )
- CountHandlers (XCmdPtr paramPtr,
- short * handlerCount);
- EXTERN_API( void )
- GetHandlerInfo (XCmdPtr paramPtr,
- short handlerNum,
- Str255 handlerName,
- Str255 objectName,
- short * varCount);
- EXTERN_API( void )
- GetVarInfo (XCmdPtr paramPtr,
- short handlerNum,
- short varNum,
- Str255 varName,
- Boolean * isGlobal,
- Str255 varValue,
- Handle varHndl);
- EXTERN_API( void )
- SetVarValue (XCmdPtr paramPtr,
- short handlerNum,
- short varNum,
- Handle varHndl);
- EXTERN_API( Handle )
- GetStackCrawl (XCmdPtr paramPtr);
- EXTERN_API( void )
- TraceScript (XCmdPtr paramPtr,
- Boolean traceInto);
- #endif /* CALL_NOT_IN_CARBON */
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __HYPERXCMD__ */