This is BrowserPane.h in view mode; [Download] [Up]
// BrowserPane.h // // Free software created 1 Feb 1992 // by Paul Burchard <burchard@math.utah.edu>. // // Provides a scrolling list of strings in NX_LISTMODE; i.e. its entries may be // multiply selected in all the usual ways. The strings are all distinct // (although displayed abbreviations may not be---see below); entering an // existing string has no effect. // // The stringValue of the BrowserPane is a TAB-separated list of the selected // strings. Selecting entries sends the action to the target. The selection // can be adjusted by mouse, via selectEntryAt::, or via methods which change // the stringValue (such as takeStringValueFrom:, appendStringValueFrom:). // Double-clicking selects that single entry, sends the doubleAction to the // target, and sends an openFile:: message to the delegate (if any). Note: // action methods which set the string value won't send the action to the // target if the target is the same as the sender (to avoid circularity). // The separator character (TAB) can be changed to any non-null character. // // The strings may be displayed in alphabetized and/or abbreviated form. The // default isFirst:second: comparison method uses NXOrderStrings(); the default // abbreviate: method is to take the final ``path component'' of a file name. // (Note: abbreviations must not be longer than originals.) Alphabetization // uses abbreviated values. [Note...currently the setAlphabetized: method // isn't retroactive; call it before entering any data.] // // If isEditable is set, then the standard NeXT editing operations (and Delete) // will work (pasteboard interaction uses same format as stringValue) once the // object is made FirstResponder (by clicking on it). This object displays its // FirstResponder status by highlighting itself. It allows the -copy: // operation whether or not it is editable. The delegate (if any) will be sent // a removeFile:ok: message upon Cut or Delete operations, and a prepFile:ok: // message on Copy. The delegate will also receive a -textDidChange: message // when the contents of the list are changed due to user actions. // // Entries may be disabled; their text is dimmed and not selectable. To make // new entries disabled by default, set the isDisabledOnEntry flag. // // Both the action and the doubleAction are by default takeStringValueFrom:. // // If the -initFrame:cellClass: initializer is used, the cell class should be // a subclass of TextFieldCell. // #import <appkit/appkit.h> @interface BrowserPane : ScrollView { id stringValue; id stringList; id delegate; id target; SEL action; SEL doubleAction; BOOL isAlphabetized; BOOL isAbbreviated; BOOL isEditable; BOOL isDisabledOnEntry; char separator; } - initFrame:(const NXRect *)frameRect; - initFrame:(const NXRect *)frameRect cellClass:factoryId; - free; // Target, action, and value. - setTarget:anObject; - setAction:(SEL)aSelector; - setDoubleAction:(SEL)aSelector; - target; - (SEL)action; - (SEL)doubleAction; - sendAction; - sendDoubleAction; - takeStringValueFrom:sender; - appendStringValueFrom:sender; - setStringValue:(const char *)aString; - setStringValue:(const char *)aString append:(BOOL)flag; - (char)separator; - setSeparator:(char)c; // Editing. - setEditable:(BOOL)yn; - (BOOL)isEditable; - cut:sender; - copy:sender; - paste:sender; - delete:sender; - selectAll:sender; - keyDown:(NXEvent *)theEvent; - mouseDown:(NXEvent *)theEvent; // Responding to changes in environment. - (BOOL)acceptsFirstResponder; - becomeFirstResponder; - resignFirstResponder; - read:(NXTypedStream *)stream; - write:(NXTypedStream *)stream; - resizeSubviews:(const NXSize *)oldSize; // Delegated file operations and user-induced text change notification. - (int)openFile:(const char *)fileName ok:(int *)flag; - (int)prepFile:(const char *)fileName ok:(int *)flag; - (int)removeFile:(const char *)fileName ok:(int *)flag; - textDidChange:sender; // Managing the list. - clear; - clearSelection; - addEntry:(const char *)aString; - (int)indexAddEntry:(const char *)aString; - (const char *)entryAt:(int)row; - removeEntryAt:(int)row; - removeSelection; - (unsigned)count; - addFiles:(const char *)dir suffix:(const char *)sfx; - selectEntryAt:(int)row append:(BOOL)yn; - (BOOL)isEntrySelectedAt:(int)row; - (int)indexOfEntry:(const char *)aString; - setEntryEnabled:(BOOL)yn at:(int)row; - (BOOL)isEntryEnabledAt:(int)row; - setDisabledOnEntry:(BOOL)yn; - (BOOL)isDisabledOnEntry; - setAlphabetized:(BOOL)yn; - (BOOL)isAlphabetized; - (BOOL)isFirst:(const char *)firstString second:(const char *)secondString; - setAbbreviated:(BOOL)yn; - (BOOL)isAbbreviated; - abbreviate:(const char *)srcString to:(char *)destString; // Accessing Cells for enhanced functions. - cellAt:(int)row; @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.