Up

# NSBrowser

### Authors

Scott Christley (`scottc@net-community.com`)
Felipe A. Rodriguez (`far@ix.netcom.com`)
Franck Wolff (`wolff@cybercable.fr`)
Mirko Viviani (`mirko.viviani@rccr.cremona.it`)
Fred Kiefer (`FredKiefer@gmx.de`)

> Control to display and select from hierarchal lists

Copyright: (C) 1996, 1997, 2002 Free Software Foundation, Inc.

### Contents -

1. Software documentation for the NSBrowser class
2. Software documentation for the NSBrowser(GNUstepExtensions) category
3. Software documentation for the NSObject(NSBrowserDelegate) informal protocol

# Software documentation for the NSBrowser class

## NSBrowser : NSControl

> Declared in:
>   AppKit/NSBrowser.h

> Conforms to:
>   NSCoding

Availability: OpenStep
Description forthcoming.

Instance Variables
Method summary

- -acceptsAlphaNumericalKeys
- -sendsActionOnAlphaNumericalKeys
- -setAcceptsAlphaNumericalKeys:
- -setSendsActionOnAlphaNumericalKeys:
- +cellClass
- -acceptsArrowKeys
- -addColumn
- -allowsBranchSelection
- -allowsEmptySelection
- -allowsMultipleSelection
- -cellPrototype
- -columnOfMatrix:
- -delegate
- -displayAllColumns
- -displayColumn:
- -doClick:
- -doDoubleClick:
- -doubleAction
- -drawTitle:inRect:ofColumn:
- -drawTitleOfColumn:inRect:
- -firstVisibleColumn
- -frameOfColumn:
- -frameOfInsideOfColumn:
- -hasHorizontalScroller
- -isLoaded
- -isTitled
- -lastColumn
- -lastVisibleColumn
- -loadColumnZero
- -loadedCellAtRow:column:
- -matrixClass
- -matrixInColumn:
- -maxVisibleColumns
- -minColumnWidth
- -numberOfVisibleColumns
- -path
- -pathSeparator
- -pathToColumn:
- -reloadColumn:
- -reusesColumns
- -scrollColumnToVisible:
- -scrollColumnsLeftBy:
- -scrollColumnsRightBy:
- -scrollViaScroller:
- -selectAll:
- -selectRow:inColumn:
- -selectedCell
- -selectedCellInColumn:
- -selectedCells
- -selectedColumn
- -selectedRowInColumn:
- -sendAction
- -sendsActionOnArrowKeys
- -separatesColumns
- -setAcceptsArrowKeys:
- -setAllowsBranchSelection:
- -setAllowsEmptySelection:
- -setAllowsMultipleSelection:
- -setCellClass:
- -setCellPrototype:
- -setDelegate:
- -setDoubleAction:
- -setHasHorizontalScroller:
- -setLastColumn:
- -setMatrixClass:
- -setMaxVisibleColumns:
- -setMinColumnWidth:
- -setPath:
- -setPathSeparator:
- -setReusesColumns:
- -setSendsActionOnArrowKeys:
- -setSeparatesColumns:
- -setTakesTitleFromPreviousColumn:
- -setTitle:ofColumn:
- -setTitled:
- -takesTitleFromPreviousColumn
- -tile
- -titleFrameOfColumn:
- -titleHeight
- -titleOfColumn:
- -updateScroller
- -validateVisibleColumns

### cellClass

+ (Class) cellClass;
Availability: OpenStep

Returns the NSBrowserCell class (regardless of whether a -setCellClass: message has been sent to a particular instance). This method is not meant to be used by applications.

See Also: -setCellClass:

### acceptsArrowKeys

- (BOOL) acceptsArrowKeys;
Availability: OpenStep

Returns whether the arrow keys are enabled. By default `YES`.

See Also: -setAcceptsArrowKeys:

### addColumn

- (void) addColumn;
Availability: OpenStep

Adds a column to the right of the last column, adjusts subviews and scrolls to make the new column visible if needed.

### allowsBranchSelection

- (BOOL) allowsBranchSelection;
Availability: OpenStep

Returns whether the user can select branch items when multiple selection is enabled. By default `YES`.

See Also: -setAllowsBranchSelection:

### allowsEmptySelection

- (BOOL) allowsEmptySelection;
Availability: OpenStep

Returns whether there can be nothing selected. By default `YES`.

See Also: -setAllowsEmptySelection:

### allowsMultipleSelection

- (BOOL) allowsMultipleSelection;
Availability: OpenStep

Returns whether the user can select multiple items. By default `YES`.

See Also: -allowsMultipleSelection

### cellPrototype

- (id) cellPrototype;
Availability: OpenStep

Returns the NSBrowser's prototype NSCell instance.

See Also: -setCellPrototype:

### columnOfMatrix:

- (int) columnOfMatrix: (NSMatrix*)matrix;
Availability: OpenStep

Returns the column number in which matrix is located. Returns -1 if matrix is not found.

### delegate

- (id) delegate;
Availability: OpenStep

Returns the NSBrowser's delegate.

See Also: -setDelegate:

### displayAllColumns

- (void) displayAllColumns;
Availability: OpenStep

Updates the NSBrowser to display all loaded columns.

See Also: -displayColumn: -tile

### displayColumn:

- (void) displayColumn: (int)column;
Availability: OpenStep

Updates the NSBrowser to display the column with the given index.

### doClick:

- (void) doClick: (id)sender;
Availability: OpenStep

Responds to (single) mouse clicks in a column of the NSBrowser.

See Also: -doDoubleClick:

### doDoubleClick:

- (void) doDoubleClick: (id)sender;
Availability: OpenStep

Responds to double-clicks in a column of the NSBrowser.

See Also: -doClick: -sendAction:to:

### doubleAction

- (SEL) doubleAction;
Availability: OpenStep

Returns the NSBrowser's double-click action method.

See Also: -setDoubleAction:

### drawTitle: inRect: ofColumn:

- (void) drawTitle: (NSString*)title inRect: (NSRect)aRect ofColumn: (int)column;
Availability: OpenStep
Draws the title for the column at index column within the rectangle defined by aRect.

### drawTitleOfColumn: inRect:

- (void) drawTitleOfColumn: (int)column inRect: (NSRect)aRect;
Availability: MacOS-X 10.0.0
Description forthcoming.

### firstVisibleColumn

- (int) firstVisibleColumn;
Availability: OpenStep
Returns the index of the first visible column.

### frameOfColumn:

- (NSRect) frameOfColumn: (int)column;
Availability: OpenStep

Returns the rectangle containing the column at index column.

### frameOfInsideOfColumn:

- (NSRect) frameOfInsideOfColumn: (int)column;
Availability: OpenStep
Returns the rectangle containing the column at index column,

### hasHorizontalScroller

- (BOOL) hasHorizontalScroller;
Availability: OpenStep

Returns whether an NSScroller is used to scroll horizontally. By default a NSBrowser has a horizontal scroller.

See Also: -setHasHorizontalScroller:

### isLoaded

- (BOOL) isLoaded;
Availability: OpenStep
Returns whether column zero is loaded.

### isTitled

- (BOOL) isTitled;
Availability: OpenStep

Returns whether columns display titles. By default a NSBrowser displays titles.

See Also: -setTitled:

### lastColumn

- (int) lastColumn;
Availability: OpenStep

Returns the index of the last column loaded.

See Also: -setLastColumn:

### lastVisibleColumn

- (int) lastVisibleColumn;
Availability: OpenStep
Returns the index of the last visible column.

### loadColumnZero

- (void) loadColumnZero;
Availability: OpenStep
Loads column zero; unloads previously loaded columns.

### loadedCellAtRow: column:

- (id) loadedCellAtRow: (int)row column: (int)column;
Availability: OpenStep
Loads if necessary and returns the NSCell at row in column. if you change this code, you may want to look at the _loadColumn method in which the following code is integrated (for speed)

### matrixClass

- (Class) matrixClass;
Availability: OpenStep

Returns the class of NSMatrix used in the NSBrowser's columns.

See Also: -setMatrixClass:

### matrixInColumn:

- (NSMatrix*) matrixInColumn: (int)column;
Availability: OpenStep

Returns the matrix located in the column identified by index column. Returns `nil` if the matrix does not exists

### maxVisibleColumns

- (int) maxVisibleColumns;
Availability: OpenStep

Returns the maximum number of visible columns. By default a NSBrowser has 3 visible columns.

See Also: -setMaxVisibleColumns:

### minColumnWidth

- (int) minColumnWidth;
Availability: OpenStep

Returns the minimum column width in pixels.

See Also: -setMinColumnWidth:

### numberOfVisibleColumns

- (int) numberOfVisibleColumns;
Availability: OpenStep

Returns the number of columns visible.

See Also: -firstVisibleColumn -lastVisibleColumn

### path

- (NSString*) path;
Availability: OpenStep

Returns the browser's current path.

See Also: -pathToColumn:

### pathSeparator

- (NSString*) pathSeparator;
Availability: OpenStep

Returns the path separator. The default is "/".

See Also: -setPathSeparator:

### pathToColumn:

- (NSString*) pathToColumn: (int)column;
Availability: OpenStep

Returns a string representing the path from the first column up to, but not including, the column at index column.

See Also: -path

### reloadColumn:

- (void) reloadColumn: (int)column;
Availability: OpenStep
Reloads column if it is loaded; sets it as the last column. Reselects previously selected cells, if they remain.

### reusesColumns

- (BOOL) reusesColumns;
Availability: OpenStep

Returns `YES` if NSMatrix objects aren't freed when their columns are unloaded. By default a NSBrowser does not reuses their columns.

See Also: -setReusesColumns: [NSMatrix -renewRows:columns:]

### scrollColumnToVisible:

- (void) scrollColumnToVisible: (int)column;
Availability: OpenStep

Scrolls to make the column at index column visible.

See Also: -scrollColumnsRightBy: -scrollColumnsLeftBy:

### scrollColumnsLeftBy:

- (void) scrollColumnsLeftBy: (int)shiftAmount;
Availability: OpenStep

Scrolls columns left by shiftAmount columns.

See Also: -scrollColumnsRightBy: -scrollColumnToVisible:

### scrollColumnsRightBy:

- (void) scrollColumnsRightBy: (int)shiftAmount;
Availability: OpenStep

Scrolls columns right by shiftAmount columns.

See Also: -scrollColumnsLeftBy: -scrollColumnToVisible:

### scrollViaScroller:

- (void) scrollViaScroller: (NSScroller*)sender;
Availability: OpenStep
Scrolls columns left or right based on an NSScroller.

### selectAll:

- (void) selectAll: (id)sender;
Availability: OpenStep

Selects all NSCells in the last column of the NSBrowser.

See Also: [NSMatrix -selectAll:]

### selectRow: inColumn:

- (void) selectRow: (int)row inColumn: (int)column;
Availability: OpenStep

Selects the cell at index row in the column identified by index column. If the delegate method -browser:selectRow:inColumn: is implemented, this is its responsability to select the cell. This method adds a NSBrowser column if needed and deselects other selections if the browser does not allows multiple selection.

See Also: -loadedCellAtRow:column: -browser:selectRow:inColumn: [NSMatrix -selectCellAtRow:column:]

### selectedCell

- (id) selectedCell;
Availability: OpenStep

Returns the last (rightmost and lowest) selected NSCell. Returns `nil` if no cell is selected

See Also: -selectedCells -selectedCellInColumn:

### selectedCellInColumn:

- (id) selectedCellInColumn: (int)column;
Availability: OpenStep

Returns the last (lowest) NSCell that's selected in column. Returns `nil` if no cell is selected

See Also: -selectedCell -selectedCells

### selectedCells

- (NSArray*) selectedCells;
Availability: OpenStep

Returns a NSArray of selected cells in the rightmost column. Returns `nil` if no cell is selected.

See Also: -selectedCell -selectedCellInColumn: [NSMatrix selectedCells]

### selectedColumn

- (int) selectedColumn;
Availability: OpenStep
Returns the index of the last column with a selected item.

### selectedRowInColumn:

- (int) selectedRowInColumn: (int)column;
Availability: OpenStep

Returns the row index of the selected cell in the column specified by index column. Returns -1 if no cell is selected

See Also: -selectedCellInColumn: [NSMatrix -selectedRow]

### sendAction

- (BOOL) sendAction;
Availability: OpenStep
Sends the action message to the target. Returns `YES` upon success, `NO` if no target for the message could be found.

### sendsActionOnArrowKeys

- (BOOL) sendsActionOnArrowKeys;
Availability: OpenStep

Returns `NO` if pressing an arrow key only scrolls the browser, `YES` if it also sends the action message specified by [NSControl -setAction:] . By default `YES`.

See Also: -setSendsActionOnArrowKeys: -acceptsArrowKeys [NSControl -setAction:] [NSControl -action]

### separatesColumns

- (BOOL) separatesColumns;
Availability: OpenStep

Returns whether columns are separated by bezeled borders. By default a NSBrowser has separate columns.

See Also: -setSeparatesColumns:

### setAcceptsArrowKeys:

- (void) setAcceptsArrowKeys: (BOOL)flag;
Availability: OpenStep

Enables or disables the arrow keys as used for navigating within and between browsers. By default `YES`.

See Also: -acceptsArrowKeys

### setAllowsBranchSelection:

- (void) setAllowsBranchSelection: (BOOL)flag;
Availability: OpenStep

Sets whether the user can select branch items when multiple selection is enabled. By default `YES`.

See Also: -allowsBranchSelection

### setAllowsEmptySelection:

- (void) setAllowsEmptySelection: (BOOL)flag;
Availability: OpenStep

Sets whether there can be nothing selected. By default `YES`.

See Also: -allowsEmptySelection

### setAllowsMultipleSelection:

- (void) setAllowsMultipleSelection: (BOOL)flag;
Availability: OpenStep

Sets whether the user can select multiple items. By default `YES`.

See Also: -allowsMultipleSelection

### setCellClass:

- (void) setCellClass: (Class)classId;
Availability: OpenStep

Sets the class of NSCell used in the columns of the NSBrowser.

See Also: -setCellPrototype: -cellPrototype +cellClass

### setCellPrototype:

- (void) setCellPrototype: (NSCell*)aCell;
Availability: OpenStep

Sets the NSCell instance copied to display items in the columns of NSBrowser.

See Also: -cellPrototype

### setDelegate:

- (void) setDelegate: (id)anObject;
Availability: OpenStep

Sets the delegate of the receiver. If not `nil`, the delegate must either be passive and respond to [NSObject -browser:numberOfRowsInColumn:] or be active and respond to [NSObject -browser:createRowsForColumn:inMatrix:] but not both. If the delegate is active it must also respond to [NSObject -browser:willDisplayCell:atRow:column:] . If the delegate is not `nil` but does not meet these conditions, an NSBrowserIllegalDelegateException will be raised.

See Also: -delegate

### setDoubleAction:

- (void) setDoubleAction: (SEL)aSelector;
Availability: OpenStep

Sets the NSBrowser's double-click action to aSelector.

See Also: -doubleAction

### setHasHorizontalScroller:

- (void) setHasHorizontalScroller: (BOOL)flag;
Availability: OpenStep

Sets whether an NSScroller is used to scroll horizontally. This method add the horizontal scroller, adjust the various subviews of the NSBrowser scroller and marks self for display.By default a NSBrowser has a horizontal scroller.

See Also: -hasHorizontalScroller -tile

### setLastColumn:

- (void) setLastColumn: (int)column;
Availability: OpenStep

Sets the last column to column .

See Also: -lastColumn

### setMatrixClass:

- (void) setMatrixClass: (Class)classId;
Availability: OpenStep

Sets the matrix class (NSMatrix or an NSMatrix subclass) used in the NSBrowser's columns.

See Also: -matrixClass

### setMaxVisibleColumns:

- (void) setMaxVisibleColumns: (int)columnCount;
Availability: OpenStep

Sets the maximum number of columns displayed and adjusts the various subviews. By default a NSBrowser has 3 visible columns.

See Also: -maxVisibleColumns

### setMinColumnWidth:

- (void) setMinColumnWidth: (int)columnWidth;
Availability: OpenStep

Sets the minimum column width in pixels and adjusts subviews.

See Also: -minColumnWidth

### setPath:

- (BOOL) setPath: (NSString*)path;
Availability: OpenStep

Parses path and selects corresponding items in the NSBrowser columns.

This is the primary mechanism for programmatically updating the selection of a browser. It should result in the browser cells corresponding to the components being selected, and the browser columns up to the end of path (and just beyond if the last selected cell's [NSBrowserCell -isLeaf] returns `YES`).
It does not result in the browsers action being sent to its target, just in a change to the browser selection and display.

If path begins with the -pathSeparator then it is taken to be absolute and the first component in it is expected to denote a cell in column zero. Otherwise it is taken to be relative to the currently selected column.

Empty components (ie where a -pathSeparator occurs immediately after another or at the end of path) are simply ignored.

The receivers delegate is asked to select each cell in turn using the -browser:selectCellWithString:inColumn: method (if it implements it). If this call to the delegate returns `NO` then the attempt to set the path fails.
If the delegate does not implement the method, the browser attempts to locate and select the cell itsself, and the method fails if it is unable to locate the cell by matching its [NSCell -stringValue] with the component of the path.

The method returns `YES` if path contains no components or if a cell corresponding to the path was found. Otherwise it returns `NO`.

### setPathSeparator:

- (void) setPathSeparator: (NSString*)aString;
Availability: OpenStep

Sets the path separator to newString. The default is "/".

See Also: -pathSeparator

### setReusesColumns:

- (void) setReusesColumns: (BOOL)flag;
Availability: OpenStep

If flag is `YES`, prevents NSMatrix objects from being freed when their columns are unloaded, so they can be reused. By default a NSBrowser does not reuses their columns.

See Also: -reusesColumns [NSMatrix -renewRows:columns:]

### setSendsActionOnArrowKeys:

- (void) setSendsActionOnArrowKeys: (BOOL)flag;
Availability: OpenStep

Sets whether pressing an arrow key will cause the action message to be sent (in addition to causing scrolling). By default `YES`.

See Also: -sendsActionOnArrowKeys -setAcceptsArrowKeys: [NSControl -setAction:] [NSControl -action]

### setSeparatesColumns:

- (void) setSeparatesColumns: (BOOL)flag;
Availability: OpenStep

Sets whether to separate columns with bezeled borders and marks self for display. Does nothing if the NSBrowser is titled. By default a NSBrowser has separate columns.

See Also: -separatesColumns -isTitled

### setTakesTitleFromPreviousColumn:

- (void) setTakesTitleFromPreviousColumn: (BOOL)flag;
Availability: OpenStep

Sets whether the title of a column is set to the string value of the selected NSCell in the previous column and marks self for display. By default `YES`

See Also: -takesTitleFromPreviousColumn -selectedCellInColumn:

### setTitle: ofColumn:

- (void) setTitle: (NSString*)aString ofColumn: (int)column;
Availability: OpenStep

Sets the title of the column at index column to aString and marks the title for dispaly if the NSBrowser can diplay titles or if the column column is visible.

See Also: -isTitled -titleFrameOfColumn: -titleHeight

### setTitled:

- (void) setTitled: (BOOL)flag;
Availability: OpenStep

Sets whether columns display titles and marks self for display. Does nothing if the NSBrowser hasn't separates columns. By default a NSBrowser displays titles.

See Also: -isTitled -separatesColumns

### takesTitleFromPreviousColumn

- (BOOL) takesTitleFromPreviousColumn;
Availability: OpenStep

Returns `YES` if the title of a column is set to the string value of the selected NSCell in the previous column. By default `YES`

See Also: -setTakesTitleFromPreviousColumn: -selectedCellInColumn:

### tile

- (void) tile;
Availability: OpenStep
Adjusts the various subviews of NSBrowser-scrollers, columns, titles, and so on-without redrawing. Your code shouldn't send this message. It's invoked any time the appearance of the NSBrowser changes.

### titleFrameOfColumn:

- (NSRect) titleFrameOfColumn: (int)column;
Availability: OpenStep

Returns the bounds of the title frame for the column at index column. Returns NSZeroRect if the NSBrowser does not display its titles

See Also: -isTitled

### titleHeight

- (float) titleHeight;
Availability: OpenStep

Returns the height of column titles. The Nextish look returns 21.

### titleOfColumn:

- (NSString*) titleOfColumn: (int)column;
Availability: OpenStep
Returns the title displayed for the column at index column.

### updateScroller

- (void) updateScroller;
Availability: OpenStep
Updates the horizontal scroller to reflect column positions.

### validateVisibleColumns

- (void) validateVisibleColumns;
Availability: OpenStep
Invokes delegate method -browser:isColumnValid: for visible columns.

## Instance Variables for NSBrowser Class

### _acceptsAlphaNumericalKeys

@protected BOOL _acceptsAlphaNumericalKeys;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _acceptsArrowKeys

@protected BOOL _acceptsArrowKeys;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _action

@protected SEL _action;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _allowsBranchSelection

@protected BOOL _allowsBranchSelection;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _allowsEmptySelection

@protected BOOL _allowsEmptySelection;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _allowsMultipleSelection

@protected BOOL _allowsMultipleSelection;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _alphaNumericalLastColumn

@protected int _alphaNumericalLastColumn;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _browserCellPrototype

@protected id _browserCellPrototype;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _browserColumns

@protected NSMutableArray* _browserColumns;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _browserDelegate

@protected id _browserDelegate;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _browserMatrixClass

@protected id _browserMatrixClass;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _charBuffer

@protected NSString* _charBuffer;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _columnSize

@protected NSSize _columnSize;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _doubleAction

@protected SEL _doubleAction;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _firstVisibleColumn

@protected int _firstVisibleColumn;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _hasHorizontalScroller

@protected BOOL _hasHorizontalScroller;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _horizontalScroller

@protected NSScroller* _horizontalScroller;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _isLoaded

@protected BOOL _isLoaded;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _isTitled

@protected BOOL _isTitled;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _lastColumnLoaded

@protected int _lastColumnLoaded;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _lastKeyPressed

@protected NSTimeInterval _lastKeyPressed;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _lastVisibleColumn

@protected int _lastVisibleColumn;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _maxVisibleColumns

@protected int _maxVisibleColumns;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _minColumnWidth

@protected float _minColumnWidth;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _passiveDelegate

@protected BOOL _passiveDelegate;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _pathSeparator

@protected NSString* _pathSeparator;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _reusesColumns

@protected BOOL _reusesColumns;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _scrollerRect

@protected NSRect _scrollerRect;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _sendsActionOnAlphaNumericalKeys

@protected BOOL _sendsActionOnAlphaNumericalKeys;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _sendsActionOnArrowKeys

@protected BOOL _sendsActionOnArrowKeys;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _separatesColumns

@protected BOOL _separatesColumns;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _skipUpdateScroller

@protected BOOL _skipUpdateScroller;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _takesTitleFromPreviousColumn

@protected BOOL _takesTitleFromPreviousColumn;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _target

@protected id _target;
Availability: OpenStep
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

# Software documentation for the NSBrowser(GNUstepExtensions) category

## NSBrowser(GNUstepExtensions)

> Declared in:
>   AppKit/NSBrowser.h

Availability: OpenStep
Description forthcoming.
Method summary

- -acceptsAlphaNumericalKeys
- -sendsActionOnAlphaNumericalKeys
- -setAcceptsAlphaNumericalKeys:
- -setSendsActionOnAlphaNumericalKeys:

### acceptsAlphaNumericalKeys

- (BOOL) acceptsAlphaNumericalKeys;
Availability: OpenStep
Returns `YES` if the alphanumerical keys are enabled.

### sendsActionOnAlphaNumericalKeys

- (BOOL) sendsActionOnAlphaNumericalKeys;
Availability: OpenStep
Returns `NO` if pressing an arrow key only scrolls the browser, `YES` if it also sends the action message specified by setAction:.

### setAcceptsAlphaNumericalKeys:

- (void) setAcceptsAlphaNumericalKeys: (BOOL)flag;
Availability: OpenStep
Enables or disables the arrow keys as used for navigating within and between browsers.

### setSendsActionOnAlphaNumericalKeys:

- (void) setSendsActionOnAlphaNumericalKeys: (BOOL)flag;
Availability: OpenStep
Sets whether pressing an arrow key will cause the action message to be sent (in addition to causing scrolling).

# Software documentation for the NSObject(NSBrowserDelegate) informal protocol

## NSObject(NSBrowserDelegate)

> Declared in:
>   AppKit/NSBrowser.h

Availability: OpenStep
Description forthcoming.
Method summary

- -browser:createRowsForColumn:inMatrix:
- -browser:isColumnValid:
- -browser:numberOfRowsInColumn:
- -browser:selectCellWithString:inColumn:
- -browser:selectRow:inColumn:
- -browser:titleOfColumn:
- -browser:willDisplayCell:atRow:column:
- -browserDidScroll:
- -browserWillScroll:

### browser: createRowsForColumn: inMatrix:

- (void) browser: (NSBrowser*)sender createRowsForColumn: (int)column inMatrix: (NSMatrix*)matrix;
Availability: OpenStep
Description forthcoming.

### browser: isColumnValid:

- (BOOL) browser: (NSBrowser*)sender isColumnValid: (int)column;
Availability: OpenStep
Returns `YES` iff

### browser: numberOfRowsInColumn:

- (int) browser: (NSBrowser*)sender numberOfRowsInColumn: (int)column;
Availability: OpenStep
Description forthcoming.

### browser: selectCellWithString: inColumn:

- (BOOL) browser: (NSBrowser*)sender selectCellWithString: (NSString*)title inColumn: (int)column;
Availability: OpenStep
Description forthcoming.

### browser: selectRow: inColumn:

- (BOOL) browser: (NSBrowser*)sender selectRow: (int)row inColumn: (int)column;
Availability: OpenStep
Description forthcoming.

### browser: titleOfColumn:

- (NSString*) browser: (NSBrowser*)sender titleOfColumn: (int)column;
Availability: OpenStep
Description forthcoming.

### browser: willDisplayCell: atRow: column:

- (void) browser: (NSBrowser*)sender willDisplayCell: (id)cell atRow: (int)row column: (int)column;
Availability: OpenStep
Description forthcoming.

### browserDidScroll:

- (void) browserDidScroll: (NSBrowser*)sender;
Availability: OpenStep
Description forthcoming.

### browserWillScroll:

- (void) browserWillScroll: (NSBrowser*)sender;
Availability: OpenStep
Description forthcoming.

Up