This is Preferences.h in view mode; [Download] [Up]
/* Preferences is a subclass Object which maintains the app preference info and displays the various preference interface through the use of an InspectorManager object. */ #ifndef PREFERENCES_H #define PREFERENCES_H #import <objc/Object.h> #import <sys/param.h> @class Sound; @interface Preferences : Object { /* The InspectorManager object */ id inspectorMgr; /* The inspector groups numbers */ unsigned int generalPrefsGrp; unsigned int archiePrefsGrp; unsigned int queryPrefsGrp; unsigned int ftpPrefsGrp; /* General preferences outlets */ id showQueryID; // Show new queries object id useAudioID; // Use audio notification object id newWindowID; // Display untitled first window object id debugEnableID; // Should debug:method:... messages be logged object id generalBoxID; // Box view containing above objects id audioFormID; // Form of sound names /* Archie preferences outlets */ id hostBrowserID; // Hostname object id customHostID; // TextField for the custom hostname id customTitleID; // TextField title for the custom host field id sortMatrixID; // Sort method object id patternMatrixID; // Pattern matching object id exactBtnID; // Exact match flag object id hitsFormID; // Max hits object id niceMatrixID; // Niceness object id archieBoxID; // Box view containing above objects /* Archie prefs related variables */ int (*cmpProc)(); // The query reply sort routine /* Query preferences outlets */ id modalArchieQueryID; // Run modal status flag id modalDirQueryID; // Run modal status flag id serverTimeoutID; // Server timeout (secs) field id serverRetriesID; // Server retry count field id maxThreadsID; // Max # of concurrent dir query threads allowed id queryBoxID; // Box view containing above objects /* FTP preferences outlets */ id retrieveSubDirsID; // Recursive subdir retrieval flag id collisionWarnID; // File name collision warning flag id transferPriorityID; // File transfer priority slider id fileBrowserID; // Browser of files that can be opened in Workspace id fileExtID; // TextField for adding file types id removeID; // File type remove Button id addID; // File type add Button id maxFileSizeID; // Maximum file size(K) to open without warning id prefixCaseID; // Case sensitive file prefixes flag id suffixCaseID; // Case sensitive file suffixes flag id anonPasswdID; // The anonymous login password TextField id transferDirID; // The local transfer directory TextField id ftpBoxID; // Box view containing above objects // FTP file types variables char **fileTypeArray; // An array of file type patterns int arraySize; // The allocated size of the array int arrayCount; // The number of array element used struct _PrefValues { // General BOOL showNewQueries; BOOL audioNotification; BOOL untitledFirstWindow; BOOL debuggingEnabled; Sound *sounds[3]; int appDebugLevel; // Archie const char *serverHost; char customHost[MAXHOSTNAMELEN]; BOOL isCustomHost; char queryType; int maxReplies; int sortFlag; BOOL exactMode; int niceLevel; // Query BOOL modalArchieQueries; BOOL modalDirQueries; int serverTimeout; int serverRetries; int maxThreadCount; int debugLevel; // FTP int maxFileSize; BOOL prefixCaseSensitive; BOOL suffixCaseSensitive; BOOL retrieveSubDirs; BOOL collisionWarnings; int transferPriority; const char *anonPasswd; // The anonymous login password const char *transferDir; const char *fileTypeList; } prefs, oldPrefs; int resetPrefPanel; // Is the panel display out of sync with values? } /*\ ---------------------- Class Methods ---------------------- \*/ + (const char *) notificationDefault:(int) type; /*\ ---------------------- Initialization Methods ---------------------- \*/ - init; /*\ ---------------------- Display Methods ---------------------- \*/ - display; /*\ ---------------------- Preference Access Methods ---------------------- \*/ /* Archie prefs values */ - (const char *) serverHost; - (char) queryType; - (int) maxReplies; - (int) sortFlag; - (int) niceLevel; - (BOOL) exactMode; - (int (*)()) cmpProc; /* Query prefs values */ - (BOOL) modalArchieQueries; - (BOOL) modalDirQueries; - (int) serverTimeout; - (int) serverRetries; - (int) maxThreadCount; /* FTP prefs values */ - (BOOL) retrieveSubDirs; - (BOOL) collisionWarnings; - (BOOL) prefixCaseSensitive; - (BOOL) suffixCaseSensitive; - (int) maxFileSize; - (int) transferPriority; - (const char *) anonPasswd; - (const char *) transferDir; - (BOOL) canOpenFileType:(const char *) ext; /* General prefs values */ - (BOOL) showNewQueries; - (BOOL) audioNotification; - (BOOL) untitledFirstWindow; - (BOOL) debuggingEnabled; - (const char *) sndName:(int) type; - notificationSnd:(int) type; /*\ ------------------- Preference Interface Actions ------------------- \*/ /* General prefs methods */ - setShowNewQueries: sender; - setAudioNotification: sender; - setUntitledFirstWindow: sender; - setDebuggingEnabled: sender; - setNotificationSnd: sender; - setNotificationDefaults: sender; /* Archie prefs methods */ - setQueryType: sender; - setExactMode: sender; - setMaxReplies: sender; - setSortType: sender; - setNiceLevel: sender; - setHostname: sender; - setCustomHost: sender; - setDebugLevel: sender; /* Query prefs methods */ - setModalAQueries: sender; - setModalDQueries: sender; - setServerTimeout: sender; - setServerRetries: sender; - setMaxThreadCount: sender; /* FTP prefs methods */ - setRetrieveSubDirs: sender; - setPrefixCaseSensitive: sender; - setSuffixCaseSensitive: sender; - setTransferPriority: sender; - setMaxFileSize: sender; - setCollisionWarnings: sender; - addFileType: sender; - removeFileType: sender; - setAnonLogin: sender; - setTransferDir: sender; /*\ -------------------- Browser Delegate Methods -------------------- \*/ - (int) browser: sender fillMatrix: matrix inColumn:(int) column; - (int) loadFileTypes: sender fillMatrix: matrix inColumn:(int) column; - (int) loadArchieServers: sender fillMatrix: matrix inColumn:(int) column; /*\ ---------------- InspectorManager Delegate Methods ---------------- \*/ - groupChanged: sender to:(int) newGroup; - inspectRevert: sender; - inspectOK: sender; @end /*\ ---------------------- Defaults Category ---------------------- \*/ @interface Preferences(Defaults) + initialize; - loadDefaults; - saveDefaults: sender; - restoreDefaults: sender; @end /*\ -------------------- Error & Debugging Categories -------------------- \*/ #import "errMessages.keys" #import "appMessages.keys" #import "Object_AllocNDebug.h" /*\ ---------------------- Constants ---------------------- \*/ #define GENERAL_PREFS_BIT 1 #define ARCHIE_PREFS_BIT 2 #define QUERY_PREFS_BIT 4 #define FTP_PREFS_BIT 8 #define ALL_PREFS_BITS 15 /* Sound notificaton type eunds */ enum {DirLoaded, QueryReceived, FTPTransfer}; #endif
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.