static pascal DialogItemIndex MyAlert (UInt8 whichAlert, ConstStr255Param str1, ConstStr255Param str2) { DialogItemIndex result = kDialogItemIndexNone; if (!AEInteractWithUser (kNoTimeOut,NULL,NULL)) { ParamText (LMGetCurApName ( ), str1 ? str1 : "\p", str2 ? str2 : "\p", "\p"); InitCursor ( ); switch (whichAlert) { case kAlertIndex_ShortField : result = CautionAlert (kResID_Base + whichAlert, gStandardModalFilterUPP); break; default : result = StopAlert (kResID_Base + whichAlert, gStandardModalFilterUPP); break; } if (MoreAssertPCG (result != kDialogItemIndexNone)) { EventRecord modifiers; OSEventAvail (0,&modifiers); if (modifiers.modifiers & optionKey) Debugger ( ); } }
static Boolean IsSystemStartup(void) // Returns true if we're still at system startup time. // We do this in the traditional way, by testing the first // byte of CurApName. We only use this for debugging. { return LMGetCurApName()[0] == 0xFF; }
OSStatus OpenFileDialog( OSType applicationSignature, short numTypes, OSType typeList[], NavDialogRef *outDialog ) { OSStatus theErr = noErr; if ( gOpenFileDialog == NULL ) { NavDialogCreationOptions dialogOptions; NavTypeListHandle openList = NULL; NavGetDefaultDialogCreationOptions( &dialogOptions ); dialogOptions.modality = kWindowModalityNone; dialogOptions.clientName = CFStringCreateWithPascalString( NULL, LMGetCurApName(), GetApplicationTextEncoding()); openList = (NavTypeListHandle)NewOpenHandle( applicationSignature, numTypes, typeList ); theErr = NavCreateGetFileDialog( &dialogOptions, openList, GetPrivateEventUPP(), NULL, NULL, NULL, &gOpenFileDialog ); if ( theErr == noErr ) { theErr = NavDialogRun( gOpenFileDialog ); if ( theErr != noErr ) { NavDialogDispose( gOpenFileDialog ); gOpenFileDialog = NULL; } } if (openList != NULL) { DisposeHandle((Handle)openList); } if ( dialogOptions.clientName != NULL ) { CFRelease( dialogOptions.clientName ); } } else { if ( NavDialogGetWindow( gOpenFileDialog ) != NULL ) { SelectWindow( NavDialogGetWindow( gOpenFileDialog )); } } if ( outDialog != NULL ) { *outDialog = gOpenFileDialog; } return NULL; }
static void set_about_item(void){ Str255 aboutitem; StringHandle abouthandle; GetMenuItemText( GetMenuHandle(mApple), iAbout, aboutitem); abouthandle = NewString( aboutitem); if( abouthandle){ StringPtr curApName = LMGetCurApName(); long len = Munger( (Handle)abouthandle, 1, "MathLink\252", 9, curApName + 1, *curApName); if( len > 0){ **abouthandle = (unsigned char)len; HLock( (Handle)abouthandle); SetMenuItemText( GetMenuHandle(mApple), iAbout, *abouthandle); } DisposeHandle( (Handle)abouthandle); } }
OSStatus SaveFileDialog( WindowRef parentWindow, CFStringRef documentName, OSType filetype, OSType fileCreator, void *inContextData, NavDialogRef *outDialog ) { NavDialogCreationOptions dialogOptions; OSStatus theErr = noErr; NavGetDefaultDialogCreationOptions( &dialogOptions ); dialogOptions.clientName = CFStringCreateWithPascalString( NULL, LMGetCurApName(), GetApplicationTextEncoding()); dialogOptions.saveFileName = documentName; dialogOptions.modality = ( parentWindow != NULL ) ? kWindowModalityWindowModal : kWindowModalityAppModal; dialogOptions.parentWindow = parentWindow; theErr = NavCreatePutFileDialog( &dialogOptions, filetype, fileCreator, GetEventUPP(), inContextData, outDialog ); if ( theErr == noErr ) { theErr = NavDialogRun( *outDialog ); if ( theErr != noErr ) { NavDialogDispose( *outDialog ); } if ( theErr != noErr || dialogOptions.modality == kWindowModalityAppModal ) { *outDialog = NULL; // The dialog has already been disposed. } } if ( dialogOptions.clientName != NULL ) { CFRelease( dialogOptions.clientName ); } return theErr; }
static OSStatus UniversalConfirmSaveDialog( WindowRef parentWindow, CFStringRef documentName, Boolean quitting, void* inContextData, NavDialogRef *outDialog, NavUserAction *outUserAction ) { OSStatus theErr = noErr; NavAskSaveChangesAction action = 0; NavDialogRef dialog = NULL; NavUserAction userAction = kNavUserActionNone; NavDialogCreationOptions dialogOptions; NavEventUPP eventUPP; Boolean disposeAfterRun; NavGetDefaultDialogCreationOptions( &dialogOptions ); action = quitting ? kNavSaveChangesQuittingApplication : kNavSaveChangesClosingDocument; dialogOptions.modality = ( parentWindow != NULL ) ? kWindowModalityWindowModal : kWindowModalityAppModal; dialogOptions.parentWindow = parentWindow; dialogOptions.clientName = CFStringCreateWithPascalString( NULL, LMGetCurApName(), GetApplicationTextEncoding()); if ( documentName != NULL ) { dialogOptions.saveFileName = documentName; } eventUPP = ( inContextData == NULL ) ? GetPrivateEventUPP() : GetEventUPP(); disposeAfterRun = ( dialogOptions.modality == kWindowModalityAppModal && inContextData == NULL ); theErr = NavCreateAskSaveChangesDialog( &dialogOptions, action, eventUPP, inContextData, &dialog ); if ( theErr == noErr ) { theErr = NavDialogRun( dialog ); if ( theErr != noErr || disposeAfterRun ) { userAction = NavDialogGetUserAction( dialog ); NavDialogDispose( dialog ); dialog = NULL; } } if ( dialogOptions.clientName != NULL ) { CFRelease( dialogOptions.clientName ); } if ( outDialog != NULL ) { *outDialog = dialog; } if ( outUserAction != NULL ) { *outUserAction = userAction; } return theErr; }