home *** CD-ROM | disk | FTP | other *** search
Wrap
#import <appkit/appkit.h> /****************************************************************************** PAStringList The PAStringList (a subclass of Storage) is a convenient way to deal with lists of character strings. It contains methods for adding strings, inserting strings, sorting strings and searching for strings. The PAStringList can also add strings from a delimited string (such as the ones passed to an app by the workspace). The delimiters can be supplied or assumed to be white space. Finally, the PAStringList implements a browser delegate method so that it can easily display itself if set to be a browser delegate. Copyright 1992, Jeff Martin (jmartin@next.com) (415) 780-3833. ******************************************************************************/ @interface PAStringList : Storage { BOOL isSorted; // Whether or not the list is currently sorted } // Convenience adding methods (defaulting to ifAbsent=NO, noCopy=NO, // sorted=NO and at=count) - addString:(const char *)string; - addStringIfAbsent:(const char *)string; - addStringNoCopy:(const char *)string; - addStringIfAbsentNoCopy:(const char *)string; - addString:(const char *)string at:(int)at; - addStringIfAbsent:(const char *)string at:(int)at; - addStringNoCopy:(const char *)string at:(int)at; - addStringIfAbsentNoCopy:(const char *)string at:(int)at; - addStringSorted:(const char *)string; - addStringIfAbsentSorted:(const char *)string; - addStringNoCopySorted:(const char *)string; - addStringIfAbsentNoCopySorted:(const char *)string; // The main adding method (all other adds call this) - addString:(const char *)string ifAbsent:(BOOL)ifAbsent noCopy:(BOOL)noCopy sorted:(BOOL)sorted at:(int)at; // Adding Multiple strings - addStrings:(const char *const*)strings; - addStrings:(const char *const*)strings ifAbsent:(BOOL)ifAbsent noCopy:(BOOL)noCopy sorted:(BOOL)sorted at:(int)at; // Adding another PAStringList - addPAStringList:stringListObject; - addPAStringList:stringListObject ifAbsent:(BOOL)ifAbsent noCopy:(BOOL)noCopy sorted:(BOOL)sorted at:(int)at; // Adding individual strings from delimited (tab or otherwise) string - addDelimitedStrings:(const char *)string delimiters:(const char *)dels; - addDelimitedStrings:(const char *)string delimiters:(const char *)dels ifAbsent:(BOOL)ifAbsent sorted:(BOOL)sorted at:(int)at; // Finding strings in list - (const char *const*)strings; - (const char *)stringAt:(int)at; // Finding the index of a given string and/or whether it is in list - (BOOL)stringExists:(const char *)string; - (unsigned)indexOfString:(const char *)string; - (unsigned)indexOfString:(const char *)string exists:(BOOL *)exists; // Removing strings from list - removeString:(const char *)string; - removeStrings:(const char *const*)strings; - (char *)removeStringAt:(int)at; // Sorting list - (BOOL)isSorted; - sortStrings:sender; // Archiving - write:(NXTypedStream *)stream; - read:(NXTypedStream *)stream; // Cleanup - freeStrings; - free; // Bonus NXBrowser support - (int)browser:sender fillMatrix:matrix inColumn:(int)column; @end