Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
Feature Files/VRPreferences.h
////////// |
// |
// File: VRPreferences.h |
// |
// Contains: Header file for VRScript preferences management. |
// |
// Written by: Tim Monroe |
// |
// Copyright: © 1999 by Apple Computer, Inc., all rights reserved. |
// |
// Change History (most recent first): |
// |
// <1> 06/02/99 rtm first file |
// |
////////// |
#pragma once |
////////// |
// |
// header files |
// |
////////// |
#include "ComApplication.h" |
#include "VRScript.h" |
#if TARGET_OS_WIN32 |
#include <winreg.h> |
#endif |
#if TARGET_OS_MAC |
#include <Folders.h> |
#endif |
////////// |
// |
// constants |
// |
////////// |
// preferences dialog item IDs |
#define kPreferencesDialogID 2000 |
#define kPrefsButtonDone 1 |
#define kPrefsButtonCancel 2 |
#define kPrefsRadioPromptUser 3 |
#define kPrefsRadioDirOfMovieFile 4 |
#define kPrefsRadioDirOfApplication 5 |
#define kPrefsRadioUserSpecifiedPath 6 |
#define kPrefsTextEditFilePath 7 |
#define kPrefsRadioFileNamePlusVRS 8 |
#define kPrefsRadioUserSpecifiedName 9 |
#define kPrefsTextEditFileName 10 |
#define kPrefsFilePathUserItem 13 |
#define kPrefsFileNameUserItem 14 |
// values for fScriptLocType field of a preferences record |
enum { |
kVRPrefs_PromptUser = (UInt32)0, // prompt the user for the location and name |
kVRPrefs_DirOfMovieFile = (UInt32)1, // script file is in same directory as the movie file |
kVRPrefs_DirOfApplication = (UInt32)2, // script file is in same directory as the application file |
kVRPrefs_UserSpecifiedPath = (UInt32)3 // script file is in a directory specified by an absolute pathname |
}; |
// values for fScriptNameType field of a preferences record |
enum { |
kVRPrefs_FileNamePlusTXT = (UInt32)0, // script file name is the movie file basename with .txt suffix |
kVRPrefs_UserSpecifiedName = (UInt32)1 // script file name is specified by a relative pathname |
}; |
#if TARGET_OS_WIN32 |
// registry database labels |
#define kVRPrefs_PrefsKeyName "Software\\VRScript" |
#define kVRPrefs_ScriptLocTypeLabel "Script directory selector" |
#define kVRPrefs_ScriptPathNameLabel "Script directory pathname" |
#define kVRPrefs_ScriptNameTypeLabel "Script file name selector" |
#define kVRPrefs_ScriptBaseNameLabel "Script file basename" |
#endif |
#if TARGET_OS_MAC |
#define kVRPrefs_PrefsFileName "VRScript Preferences" |
#endif |
////////// |
// |
// data types |
// |
////////// |
typedef struct VRScriptPrefsRec { |
// the desired location of the script file |
UInt16 fScriptLocType; // the desired location of the script file |
Str255 fScriptPathName; // the user specified pathname of the script file directory |
// the desired name of the script file |
UInt32 fScriptNameType; // the desired name of the script file |
Str63 fScriptBaseName; // the user specified basename of the script file |
// application execution options (NOT YET IMPLEMENTED) |
Boolean fTurboMode; // use turbo execution mode? |
Boolean fVerboseMode; // use verbose mode? |
// preferences-management info |
Boolean fPrefsFileExists; // does a preferences file exist? |
Boolean fPrefsDataDirty; // have the stored preferences changed? |
} VRScriptPrefsRec, *VRScriptPrefsPtr, **VRScriptPrefsHdl; |
////////// |
// |
// function prototypes |
// |
////////// |
void VRPrefs_Init (void); |
void VRPrefs_Stop (void); |
void VRPrefs_ShowPrefsDialog (void); |
static void VRPrefs_FillPrefsDialogFromPrefs (DialogPtr theDialog); |
PASCAL_RTN void VRPrefs_DrawPrefsDialogUserItem (DialogPtr theDialog, DialogItemIndex theItem); |
static Boolean VRPrefs_PrefsFileExists (void); |
//static OSErr VRPrefs_GetPrefsFileFSSpec (OSType theCreator, OSType theFileType, FSSpec *theFSSpec); |
static OSErr VRPrefs_GetPrefsFileFSSpec (char *theFileName, FSSpecPtr theFSSpec); |
static void VRPrefs_ReadPrefsFile (void); |
static void VRPrefs_UpdatePrefsFile (void); |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14