ftp.nice.ch/pub/next/connectivity/infosystems/WAIStation.1.9.6.N.b.tar.gz#/WAIS/next-ui/BrowserPane.h

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.