Mac OS 9
HyperXCmd.h
Go to the documentation of this file.
1 
19 #ifndef __HYPERXCMD__
20 #define __HYPERXCMD__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __FP__
27 #include <fp.h>
28 #endif
29 
30 #ifndef __EVENTS__
31 #include <Events.h>
32 #endif
33 
34 #ifndef __TEXTEDIT__
35 #include <TextEdit.h>
36 #endif
37 
38 #ifndef __MENUS__
39 #include <Menus.h>
40 #endif
41 
42 #ifndef __STANDARDFILE__
43 #include <StandardFile.h>
44 #endif
45 
46 #if PRAGMA_ONCE
47 #pragma once
48 #endif
49 
50 #ifdef __cplusplus
51 extern "C"
52 {
53 #endif
54 
55 #if PRAGMA_IMPORT
56 #pragma import on
57 #endif
58 
59 #if PRAGMA_STRUCT_ALIGN
60 #pragma options align = mac68k
61 #elif PRAGMA_STRUCT_PACKPUSH
62 #pragma pack(push, 2)
63 #elif PRAGMA_STRUCT_PACK
64 #pragma pack(2)
65 #endif
66 
67  /* result codes */
68  enum
69  {
70  xresSucc = 0,
71  xresFail = 1,
72  xresNotImp = 2
73  };
74 
75  /* XCMDBlock constants for event.what... */
76  enum
77  {
78  xOpenEvt = 1000, /* the first event after you are created */
79  xCloseEvt = 1001, /* your window is being forced close (Quit?) */
80  xGiveUpEditEvt = 1002, /* you are losing Edit... */
81  xGiveUpSoundEvt = 1003, /* you are losing the sound channel... */
82  xHidePalettesEvt = 1004, /* someone called HideHCPalettes */
83  xShowPalettesEvt = 1005, /* someone called ShowHCPalettes */
84  xEditUndo = 1100, /* Edit©©Undo */
85  xEditCut = 1102, /* Edit©©Cut */
86  xEditCopy = 1103, /* Edit©©Copy */
87  xEditPaste = 1104, /* Edit©©Paste */
88  xEditClear = 1105, /* Edit©©Clear */
89  xSendEvt = 1200, /* script has sent you a message (text) */
90  xSetPropEvt = 1201, /* set a window property */
91  xGetPropEvt = 1202, /* get a window property */
92  xCursorWithin = 1300, /* cursor is within the window */
93  xMenuEvt = 1400, /* user has selected an item in your menu */
94  xMBarClickedEvt = 1401, /* a menu is about to be shown--update if needed */
95  xShowWatchInfoEvt = 1501, /* for variable and message watchers */
96  xScriptErrorEvt = 1502, /* place the insertion point */
97  xDebugErrorEvt = 1503, /* user clicked "Debug" at a complaint */
98  xDebugStepEvt = 1504, /* hilite the line */
99  xDebugTraceEvt = 1505, /* same as step but tracing */
100  xDebugFinishedEvt = 1506 /* script ended */
101  };
102 
103  enum
104  {
105  paletteProc = 2048, /* Windoid with grow box */
106  palNoGrowProc = 2052, /* standard Windoid defproc */
107  palZoomProc = 2056, /* Windoid with zoom and grow */
108  palZoomNoGrow = 2060 /* Windoid with zoom and no grow */
109  };
110 
111  enum
112  {
113  hasZoom = 8,
114  hasTallTBar = 2,
115  toggleHilite = 1
116  };
117 
118  /* paramCount is set to these constants when first calling special XThings */
119  enum
120  {
121  xMessageWatcherID = -2,
122  xVariableWatcherID = -3,
123  xScriptEditorID = -4,
124  xDebuggerID = -5
125  };
126 
127  /* XTalkObjectPtr->objectKind values */
128  enum
129  {
130  stackObj = 1,
131  bkgndObj = 2,
132  cardObj = 3,
133  fieldObj = 4,
134  buttonObj = 5
135  };
136 
137  /* selectors for ShowHCAlert's dialogs (shown as buttonID:buttonText) */
138  enum
139  {
140  errorDlgID = 1, /* 1:OK (default) */
141  confirmDlgID = 2, /* 1:OK (default) and 2:Cancel */
142  confirmDelDlgID = 3, /* 1:Cancel (default) and 2:Delete */
143  yesNoCancelDlgID = 4 /* 1:Yes (default), 2:Cancel, and 3:No */
144  };
145 
146  /* type definitions */
147  struct XCmdBlock
148  {
149  short paramCount; /* If = -1 then new use for XWindoids */
150  Handle params[16];
151  Handle returnValue;
152  Boolean passFlag;
153  SignedByte filler1;
154  UniversalProcPtr entryPoint; /* to call back to HyperCard */
155  short request;
156  short result;
157  long inArgs[8];
158  long outArgs[4];
159  };
160  typedef struct XCmdBlock XCmdBlock;
161  typedef XCmdBlock *XCmdPtr;
162 
163  struct XWEventInfo
164  {
166  WindowRef eventWindow;
167  long eventParams[9];
168  Handle eventResult;
169  };
170  typedef struct XWEventInfo XWEventInfo;
171  typedef XWEventInfo *XWEventInfoPtr;
172  struct XTalkObject
173  {
174  short objectKind; /* stack, bkgnd, card, field, or button */
175  long stackNum; /* reference number of the source stack */
176  long bkgndID;
177  long cardID;
178  long buttonID;
179  long fieldID;
180  };
181  typedef struct XTalkObject XTalkObject;
182  typedef XTalkObject *XTalkObjectPtr;
183  /* maximum number of checkpoints in a script */
184  enum
185  {
186  maxCachedChecks = 16
187  };
188 
189  struct CheckPts
190  {
191  short checks[16];
192  };
193  typedef struct CheckPts CheckPts;
194  typedef CheckPts *CheckPtPtr;
195  typedef CheckPtPtr *CheckPtHandle;
199 #if CALL_NOT_IN_CARBON
208  Handle
209  EvalExpr(XCmdPtr paramPtr, ConstStr255Param expr);
210 
219  void
220  SendCardMessage(XCmdPtr paramPtr, ConstStr255Param msg);
221 
230  void
231  SendHCMessage(XCmdPtr paramPtr, ConstStr255Param msg);
232 
241  void
242  RunHandler(XCmdPtr paramPtr, Handle handler);
243 
255  Handle
256  GetGlobal(XCmdPtr paramPtr, ConstStr255Param globName);
257 
266  void
267  SetGlobal(XCmdPtr paramPtr, ConstStr255Param globName, Handle globValue);
268 
277  void
278  ZeroBytes(XCmdPtr paramPtr, void *dstPtr, long longCount);
279 
291  void
292  ScanToReturn(XCmdPtr paramPtr, Ptr *scanPtr);
293 
302  void
303  ScanToZero(XCmdPtr paramPtr, Ptr *scanPtr);
304 
313  Boolean
314  StringEqual(XCmdPtr paramPtr, ConstStr255Param str1, ConstStr255Param str2);
315 
324  long
325  StringLength(XCmdPtr paramPtr, void *strPtr);
326 
335  void *
336  StringMatch(XCmdPtr paramPtr, ConstStr255Param pattern, void *target);
337 
346  void
347  ZeroTermHandle(XCmdPtr paramPtr, Handle hndl);
348 
360  void
361  BoolToStr(XCmdPtr paramPtr, Boolean value, Str255 str);
362 
371  void
372  Double_tToStr(XCmdPtr paramPtr, double_t num, Str255 str);
373 
382  void
383  LongToStr(XCmdPtr paramPtr, long posNum, Str255 str);
384 
393  void
394  NumToHex(XCmdPtr paramPtr, long num, short nDigits, Str255 str);
395 
404  void
405  NumToStr(XCmdPtr paramPtr, long num, Str255 str);
406 
415  Handle
416  PasToZero(XCmdPtr paramPtr, ConstStr255Param str);
417 
426  void
427  PointToStr(XCmdPtr paramPtr, Point pt, Str255 str);
428 
437  void
438  RectToStr(XCmdPtr paramPtr, const Rect *rct, Str255 str);
439 
448  void
449  ReturnToPas(XCmdPtr paramPtr, void *zeroStr, Str255 pasStr);
450 
459  Boolean
460  StrToBool(XCmdPtr paramPtr, ConstStr255Param str);
461 
470  double_t
471  StrToDouble_t(XCmdPtr paramPtr, ConstStr255Param str);
472 
481  long
482  StrToLong(XCmdPtr paramPtr, ConstStr255Param str);
483 
492  long
493  StrToNum(XCmdPtr paramPtr, ConstStr255Param str);
494 
503  void
504  StrToPoint(XCmdPtr paramPtr, ConstStr255Param str, Point *pt);
505 
514  void
515  StrToRect(XCmdPtr paramPtr, ConstStr255Param str, Rect *rct);
516 
525  void
526  ZeroToPas(XCmdPtr paramPtr, void *zeroStr, Str255 pasStr);
527 
539  Handle
540  GetFieldByID(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID);
541 
550  Handle
551  GetFieldByName(XCmdPtr paramPtr, Boolean cardFieldFlag,
552  ConstStr255Param fieldName);
553 
562  Handle
563  GetFieldByNum(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldNum);
564 
573  void
574  SetFieldByID(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID,
575  Handle fieldVal);
576 
585  void
586  SetFieldByName(XCmdPtr paramPtr, Boolean cardFieldFlag,
587  ConstStr255Param fieldName, Handle fieldVal);
588 
597  void
598  SetFieldByNum(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldNum,
599  Handle fieldVal);
600 
609  TEHandle
610  GetFieldTE(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID,
611  short fieldNum, ConstStr255Param fieldName);
612 
621  void
622  SetFieldTE(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID,
623  short fieldNum, ConstStr255Param fieldName, TEHandle fieldTE);
624 
636  void
638 
647  void
648  EndXSound(XCmdPtr paramPtr);
649 
658  Boolean
659  GetFilePath(XCmdPtr paramPtr, ConstStr255Param fileName, short numTypes,
660  ConstSFTypeListPtr typeList, Boolean askUser, OSType *fileType,
661  Str255 fullName);
662 
671  void
672  GetXResInfo(XCmdPtr paramPtr, short *resFile, short *resID, ResType *rType,
673  Str255 name);
674 
683  void
684  Notify(XCmdPtr paramPtr);
685 
694  void
696 
705  void
707  ConstStr255Param windowName, ConstStr255Param msg);
708 
717  WindowRef
719 
728  long
729  StackNameToNum(XCmdPtr paramPtr, ConstStr255Param stackName);
730 
739  short
740  ShowHCAlert(XCmdPtr paramPtr, short dlgID, ConstStr255Param promptStr);
741 
750  Boolean
752 
761  void
763 
775  WindowRef
776  NewXWindow(XCmdPtr paramPtr, const Rect *boundsRect, ConstStr255Param title,
777  Boolean visible, short procID, Boolean color, Boolean floating);
778 
787  WindowRef
788  GetNewXWindow(XCmdPtr paramPtr, ResType templateType, short templateID,
789  Boolean color, Boolean floating);
790 
799  void
801 
813  void
815 
824  void
826 
835  void
837  Boolean registering);
838 
847  void
848  SetXWIdleTime(XCmdPtr paramPtr, WindowRef window, long interval);
849 
858  void
860 
869  void
871 
880  void
882  Boolean allowHCEvts);
883 
895  void
897 
906  void
908 
917  WordBreakUPP
919 
928  void
930 
944 
953  void
954  SetCheckPoints(XCmdPtr paramPtr, CheckPtHandle checkLines);
955 
964  void
965  FormatScript(XCmdPtr paramPtr, Handle scriptHndl, long *insertionPoint,
966  Boolean quickFormat);
967 
976  void
977  SaveXWScript(XCmdPtr paramPtr, Handle scriptHndl);
978 
987  void
988  GetObjectName(XCmdPtr paramPtr, XTalkObjectPtr xObjPtr, Str255 objName);
989 
998  void
999  GetObjectScript(XCmdPtr paramPtr, XTalkObjectPtr xObjPtr, Handle *scriptHndl);
1000 
1009  void
1010  SetObjectScript(XCmdPtr paramPtr, XTalkObjectPtr xObjPtr, Handle scriptHndl);
1011 
1023  void
1025 
1034  void
1035  GoScript(XCmdPtr paramPtr);
1036 
1045  void
1046  StepScript(XCmdPtr paramPtr, Boolean stepInto);
1047 
1056  void
1057  CountHandlers(XCmdPtr paramPtr, short *handlerCount);
1058 
1067  void
1068  GetHandlerInfo(XCmdPtr paramPtr, short handlerNum, Str255 handlerName,
1069  Str255 objectName, short *varCount);
1070 
1079  void
1080  GetVarInfo(XCmdPtr paramPtr, short handlerNum, short varNum, Str255 varName,
1081  Boolean *isGlobal, Str255 varValue, Handle varHndl);
1082 
1091  void
1092  SetVarValue(XCmdPtr paramPtr, short handlerNum, short varNum, Handle varHndl);
1093 
1102  Handle
1104 
1113  void
1114  TraceScript(XCmdPtr paramPtr, Boolean traceInto);
1115 
1116 #endif /* CALL_NOT_IN_CARBON */
1117 
1118 #if PRAGMA_STRUCT_ALIGN
1119 #pragma options align = reset
1120 #elif PRAGMA_STRUCT_PACKPUSH
1121 #pragma pack(pop)
1122 #elif PRAGMA_STRUCT_PACK
1123 #pragma pack()
1124 #endif
1125 
1126 #ifdef PRAGMA_IMPORT_OFF
1127 #pragma import off
1128 #elif PRAGMA_IMPORT
1129 #pragma import reset
1130 #endif
1131 
1132 #ifdef __cplusplus
1133 }
1134 #endif
1135 
1136 #endif /* __HYPERXCMD__ */
Event Manager Interfaces.
void BoolToStr(XCmdPtr paramPtr, Boolean value, Str255 str)
short ShowHCAlert(XCmdPtr paramPtr, short dlgID, ConstStr255Param promptStr)
void ScanToReturn(XCmdPtr paramPtr, Ptr *scanPtr)
Handle GetFieldByNum(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldNum)
void GetObjectName(XCmdPtr paramPtr, XTalkObjectPtr xObjPtr, Str255 objName)
void SetFieldTE(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID, short fieldNum, ConstStr255Param fieldName, TEHandle fieldTE)
void SendWindowMessage(XCmdPtr paramPtr, WindowRef windPtr, ConstStr255Param windowName, ConstStr255Param msg)
void SetFieldByNum(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldNum, Handle fieldVal)
void FormatScript(XCmdPtr paramPtr, Handle scriptHndl, long *insertionPoint, Boolean quickFormat)
double_t StrToDouble_t(XCmdPtr paramPtr, ConstStr255Param str)
void ScanToZero(XCmdPtr paramPtr, Ptr *scanPtr)
Boolean GetFilePath(XCmdPtr paramPtr, ConstStr255Param fileName, short numTypes, ConstSFTypeListPtr typeList, Boolean askUser, OSType *fileType, Str255 fullName)
void RectToStr(XCmdPtr paramPtr, const Rect *rct, Str255 str)
void XWAlwaysMoveHigh(XCmdPtr paramPtr, WindowRef window, Boolean moveHigh)
void SetVarValue(XCmdPtr paramPtr, short handlerNum, short varNum, Handle varHndl)
void StrToRect(XCmdPtr paramPtr, ConstStr255Param str, Rect *rct)
void XWHasInterruptCode(XCmdPtr paramPtr, WindowRef window, Boolean haveCode)
void LongToStr(XCmdPtr paramPtr, long posNum, Str255 str)
void SetGlobal(XCmdPtr paramPtr, ConstStr255Param globName, Handle globValue)
void BeginXWEdit(XCmdPtr paramPtr, WindowRef window)
void Notify(XCmdPtr paramPtr)
void GetVarInfo(XCmdPtr paramPtr, short handlerNum, short varNum, Str255 varName, Boolean *isGlobal, Str255 varValue, Handle varHndl)
long StringLength(XCmdPtr paramPtr, void *strPtr)
void CloseXWindow(XCmdPtr paramPtr, WindowRef window)
void ShowHCPalettes(XCmdPtr paramPtr)
void ZeroToPas(XCmdPtr paramPtr, void *zeroStr, Str255 pasStr)
void SetCheckPoints(XCmdPtr paramPtr, CheckPtHandle checkLines)
void ReturnToPas(XCmdPtr paramPtr, void *zeroStr, Str255 pasStr)
Boolean StringEqual(XCmdPtr paramPtr, ConstStr255Param str1, ConstStr255Param str2)
void ZeroTermHandle(XCmdPtr paramPtr, Handle hndl)
void GetObjectScript(XCmdPtr paramPtr, XTalkObjectPtr xObjPtr, Handle *scriptHndl)
void SendCardMessage(XCmdPtr paramPtr, ConstStr255Param msg)
void CountHandlers(XCmdPtr paramPtr, short *handlerCount)
void TraceScript(XCmdPtr paramPtr, Boolean traceInto)
Handle EvalExpr(XCmdPtr paramPtr, ConstStr255Param expr)
void Double_tToStr(XCmdPtr paramPtr, double_t num, Str255 str)
void AbortScript(XCmdPtr paramPtr)
void SetObjectScript(XCmdPtr paramPtr, XTalkObjectPtr xObjPtr, Handle scriptHndl)
Handle GetFieldByID(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID)
void GetHandlerInfo(XCmdPtr paramPtr, short handlerNum, Str255 handlerName, Str255 objectName, short *varCount)
WordBreakUPP HCWordBreakProc(XCmdPtr paramPtr)
void EndXWEdit(XCmdPtr paramPtr, WindowRef window)
void PointToStr(XCmdPtr paramPtr, Point pt, Str255 str)
void GetXResInfo(XCmdPtr paramPtr, short *resFile, short *resID, ResType *rType, Str255 name)
TEHandle GetFieldTE(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID, short fieldNum, ConstStr255Param fieldName)
void GoScript(XCmdPtr paramPtr)
void FlushStackFile(XCmdPtr paramPtr)
void NumToHex(XCmdPtr paramPtr, long num, short nDigits, Str255 str)
WindowRef FrontDocWindow(XCmdPtr paramPtr)
void StepScript(XCmdPtr paramPtr, Boolean stepInto)
void RunHandler(XCmdPtr paramPtr, Handle handler)
Handle PasToZero(XCmdPtr paramPtr, ConstStr255Param str)
void RegisterXWMenu(XCmdPtr paramPtr, WindowRef window, MenuRef menu, Boolean registering)
void EndXSound(XCmdPtr paramPtr)
void XWAllowReEntrancy(XCmdPtr paramPtr, WindowRef window, Boolean allowSysEvts, Boolean allowHCEvts)
void * StringMatch(XCmdPtr paramPtr, ConstStr255Param pattern, void *target)
Handle GetFieldByName(XCmdPtr paramPtr, Boolean cardFieldFlag, ConstStr255Param fieldName)
void SaveXWScript(XCmdPtr paramPtr, Handle scriptHndl)
void HideHCPalettes(XCmdPtr paramPtr)
CheckPtHandle GetCheckPoints(XCmdPtr paramPtr)
void ZeroBytes(XCmdPtr paramPtr, void *dstPtr, long longCount)
Handle GetGlobal(XCmdPtr paramPtr, ConstStr255Param globName)
void SetFieldByName(XCmdPtr paramPtr, Boolean cardFieldFlag, ConstStr255Param fieldName, Handle fieldVal)
void SetFieldByID(XCmdPtr paramPtr, Boolean cardFieldFlag, short fieldID, Handle fieldVal)
void BeginXSound(XCmdPtr paramPtr, WindowRef window)
WindowRef NewXWindow(XCmdPtr paramPtr, const Rect *boundsRect, ConstStr255Param title, Boolean visible, short procID, Boolean color, Boolean floating)
Boolean StrToBool(XCmdPtr paramPtr, ConstStr255Param str)
Boolean AbortInQueue(XCmdPtr paramPtr)
void SendHCMessage(XCmdPtr paramPtr, ConstStr255Param msg)
WindowRef GetNewXWindow(XCmdPtr paramPtr, ResType templateType, short templateID, Boolean color, Boolean floating)
long StrToLong(XCmdPtr paramPtr, ConstStr255Param str)
void PrintTEHandle(XCmdPtr paramPtr, TEHandle hTE, StringPtr header)
long StrToNum(XCmdPtr paramPtr, ConstStr255Param str)
void StrToPoint(XCmdPtr paramPtr, ConstStr255Param str, Point *pt)
long StackNameToNum(XCmdPtr paramPtr, ConstStr255Param stackName)
void SetXWIdleTime(XCmdPtr paramPtr, WindowRef window, long interval)
void SendHCEvent(XCmdPtr paramPtr, const EventRecord *event)
void NumToStr(XCmdPtr paramPtr, long num, Str255 str)
Handle GetStackCrawl(XCmdPtr paramPtr)
Basic Macintosh data types.
unsigned char * StringPtr
Definition: MacTypes.h:477
unsigned char Boolean
Definition: MacTypes.h:318
Menu Manager Interfaces.
Standard File package Interfaces.
const OSType * ConstSFTypeListPtr
Definition: StandardFile.h:583
TextEdit Interfaces.
FPCE Floating-Point Definitions and Declarations.
Definition: HyperXCmd.h:190
Definition: Components.h:266
Definition: Events.h:224
Definition: Quickdraw.h:1648
Definition: Menus.h:753
Definition: MacTypes.h:520
Definition: MacTypes.h:527
Definition: TextEdit.h:272
Definition: HyperXCmd.h:148
Definition: HyperXCmd.h:173
Definition: HyperXCmd.h:164