Up

# NSMatrix

### Authors

Ovidiu Predescu (`ovidiu@net-community.com`)

> Matrix class for grouping controls

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

# Software documentation for the NSMatrix class

## NSMatrix : NSControl

> Declared in:
>   AppKit/NSMatrix.h

> Conforms to:
>   NSCoding

Availability: OpenStep

TODO documentation

Instance Variables
Method summary

- +cellClass
- +setCellClass:
- -acceptsFirstMouse:
- -action
- -addColumn
- -addColumnWithCells:
- -addRow
- -addRowWithCells:
- -allowsEmptySelection
- -autosizesCells
- -backgroundColor
- -cellAtRow:column:
- -cellBackgroundColor
- -cellClass
- -cellFrameAtRow:column:
- -cellSize
- -cellWithTag:
- -cells
- -delegate
- -deselectAllCells
- -deselectSelectedCell
- -doubleAction
- -drawCellAtRow:column:
- -drawsBackground
- -drawsCellBackground
- -errorAction
- -getNumberOfRows:columns:
- -getRow:column:forPoint:
- -getRow:column:ofCell:
- -highlightCell:atRow:column:
- -initWithFrame:
- -initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:
- -initWithFrame:mode:prototype:numberOfRows:numberOfColumns:
- -insertColumn:
- -insertColumn:withCells:
- -insertRow:
- -insertRow:withCells:
- -intercellSpacing
- -isAutoscroll
- -isSelectionByRect
- -keyCell
- -makeCellAtRow:column:
- -mode
- -mouseDown:
- -mouseDownFlags
- -nextText
- -numberOfColumns
- -numberOfRows
- -performKeyEquivalent:
- -previousText
- -prototype
- -putCell:atRow:column:
- -removeColumn:
- -removeRow:
- -renewRows:columns:
- -resetCursorRects
- -scrollCellToVisibleAtRow:column:
- -selectAll:
- -selectCellAtRow:column:
- -selectCellWithTag:
- -selectText:
- -selectTextAtRow:column:
- -selectedCell
- -selectedCells
- -selectedColumn
- -selectedRow
- -sendAction
- -sendAction:to:forAllCells:
- -sendDoubleAction
- -setAction:
- -setAllowsEmptySelection:
- -setAutoscroll:
- -setAutosizesCells:
- -setBackgroundColor:
- -setCellBackgroundColor:
- -setCellClass:
- -setCellSize:
- -setDelegate:
- -setDoubleAction:
- -setDrawsBackground:
- -setDrawsCellBackground:
- -setErrorAction:
- -setIntercellSpacing:
- -setKeyCell:
- -setMode:
- -setNextText:
- -setPreviousText:
- -setPrototype:
- -setScrollable:
- -setSelectionByRect:
- -setSelectionFrom:to:anchor:highlight:
- -setState:atRow:column:
- -setTabKeyTraversesCells:
- -setValidateSize:
- -sizeToCells
- -sortUsingFunction:context:
- -sortUsingSelector:
- -tabKeyTraversesCells
- -textDidBeginEditing:
- -textDidChange:
- -textDidEndEditing:
- -textShouldBeginEditing:
- -textShouldEndEditing:

### cellClass

+ (Class) cellClass;
Availability: OpenStep

Returns the cell class used to create cells. By default it is a NSActionCell class

See Also: +setCellClass:

### setCellClass:

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

Sets the cell class used to create cells to classId. By default it is a NSActionCell class

See Also: +setCellClass:

### acceptsFirstMouse:

- (BOOL) acceptsFirstMouse: (NSEvent*)theEvent;
Availability: OpenStep

Returns `NO` if the NSMatrix's mode is NSListModeMatrix , `YES` otherwise.

See Also: -setMode: -mode

### action

- (SEL) action;
Availability: OpenStep
Description forthcoming.

### addColumn

- (void) addColumn;
Availability: OpenStep

Inserts a new column after the current last column.

See Also: -insertColumn:withCells:

### addColumnWithCells:

- (void) addColumnWithCells: (NSArray*)cellArray;
Availability: OpenStep

Inserts a new column of cells specified by cellArray after the current last column.

See Also: -insertColumn:withCells:

### addRow

- (void) addRow;
Availability: OpenStep

Inserts a new row after the current last row.

See Also: -insertRow:withCells:

### addRowWithCells:

- (void) addRowWithCells: (NSArray*)cellArray;
Availability: OpenStep

Inserts a new row of cells specified by cellArray after the current last row.

See Also: -insertRow:withCells:

### allowsEmptySelection

- (BOOL) allowsEmptySelection;
Availability: OpenStep

Returns whether the matrix should permit empty selections or should force one or mor cells to be selected at all times.

See Also: -setAllowsEmptySelection:

### autosizesCells

- (BOOL) autosizesCells;
Availability: OpenStep

Returns whether the NSMatrix resizes its cells automatically

See Also: -autosizesCells

### backgroundColor

- (NSColor*) backgroundColor;
Availability: OpenStep

Returns the background color The background color is used to display the NSMatrix color (the space between the cells), not the cells (uses -setCellBackgroundColor: for that)

See Also: -setBackgroundColor: -setCellBackgroundColor: -cellBackgroundColor -drawsBackground -setDrawsBackground:

### cellAtRow: column:

- (id) cellAtRow: (int)row column: (int)column;
Availability: OpenStep

Returns the cell at row row and column column Returns `nil` if the row or column are out of range

### cellBackgroundColor

- (NSColor*) cellBackgroundColor;
Availability: OpenStep

Returns the background color of the NSMatrix's cells.

See Also: -setCellBackgroundColor: -backgroundColor -setBackgroundColor:

### cellClass

- (Class) cellClass;
Availability: OpenStep

Returns the cell class used by the NSMatrix when it creates new cells. The default cell class is a NSActionCell class

See Also: -setCellClass: -setPrototype: -prototype

### cellFrameAtRow: column:

- (NSRect) cellFrameAtRow: (int)row column: (int)column;
Availability: OpenStep

Returns the rectangle of the cell at row row and column column

### cellSize

- (NSSize) cellSize;
Availability: OpenStep

Returns the size of the NSMatrix's cells

See Also: -setCellSize:

### cellWithTag:

- (id) cellWithTag: (int)anInt;
Availability: OpenStep

Returns the cell with tag anInt Returns `nil` if no cell has a tag anInt

### cells

- (NSArray*) cells;
Availability: OpenStep

Returns an array of the NSMatrix's cells

### delegate

- (id) delegate;
Availability: OpenStep

Returns the NSMatrix's delegate. delegate is used when editing a cell

See Also: -setDelegate: -textDidEndEditing: -textDidBeginEditing: -textDidChange:

### deselectAllCells

- (void) deselectAllCells;
Availability: OpenStep

Deselects all NSMatrix's cells. Does nothing if the NSMatrix's mode is NSRadioModeMatrix and if it does not allows empty selection. Except for the case, when there are no cells left at all. Then the selection is always cleared.

See Also: -mode -allowsEmptySelection -setNeedsDisplayInRect:

### deselectSelectedCell

- (void) deselectSelectedCell;
Availability: OpenStep

Deselects the selected cell.Does nothing if the NSMatrix's mode is NSRadioModeMatrix and if it does not allows empty selection

### doubleAction

- (SEL) doubleAction;
Availability: OpenStep

Returns the action method, used when the user double clicks

See Also: -setDoubleAction:

### drawCellAtRow: column:

- (void) drawCellAtRow: (int)row column: (int)column;
Availability: OpenStep

Draws the cell at row row and column column

See Also: [NSCell -drawWithFrame:inView:] -setDrawsCellBackground: -drawsCellBackground

### drawsBackground

- (BOOL) drawsBackground;
Availability: OpenStep

Returns whether the NSMatrix draws its background

See Also: -setDrawsBackground: -drawsCellBackground

### drawsCellBackground

- (BOOL) drawsCellBackground;
Availability: OpenStep

Returns whether the NSMatrix draws cells backgrounds

See Also: -setDrawsCellBackground: -drawsBackground

### errorAction

- (SEL) errorAction;
Availability: OpenStep

Returns the error action method to aSelector This error method is used when in -textShouldEndEditing: if the selected cell doe not have a valid text object

See Also: -setErrorAction:

### getNumberOfRows: columns:

- (void) getNumberOfRows: (int*)rowCount columns: (int*)columnCount;
Availability: OpenStep

Gets the number of rows and columns of the NSMatrix

See Also: -numberOfColumns -numberOfRows

### getRow: column: forPoint:

- (BOOL) getRow: (int*)row column: (int*)column forPoint: (NSPoint)aPoint;
Availability: OpenStep

Gets the row and the column of the NSMatrix correponding to the specified NSPoint aPoint. Returns `YES` if aPoint is within the NSMatrix, `NO` otherwise

### getRow: column: ofCell:

- (BOOL) getRow: (int*)row column: (int*)column ofCell: (NSCell*)aCell;
Availability: OpenStep

Gets the row and the column of the NSMatrix correponding to the specified NSCell aCell. Returns `YES` if aCell is in the NSMatrix, `NO` otherwise

### highlightCell: atRow: column:

- (void) highlightCell: (BOOL)flag atRow: (int)row column: (int)column;
Availability: OpenStep

(Un)Highlights the cell (if exists) at row at row row and column column. and maks the cell rect for display.

See Also: -setNeedsDisplayInRect: [NSCell -setHighlighted:]

### initWithFrame:

- (id) initWithFrame: (NSRect)frameRect;
Availability: OpenStep

Initializes and returns a NSMatrix in frame frameRect. By default the matrix has no row and no column, the NSMatrix's mode is NSRadioModeMatrix and the cell class is a NSActionCell class.

See Also: -initWithFrame:mode:cellClass:numberOfRows:numberOfColumns:

### initWithFrame: mode: cellClass: numberOfRows: numberOfColumns:

- (id) initWithFrame: (NSRect)frameRect mode: (int)aMode cellClass: (Class)classId numberOfRows: (int)rowsHigh numberOfColumns: (int)colsWide;
Availability: OpenStep

Initializes and returns a new NSMatrix in the specified frame frameRect. The NSMatrixMode is specified by mode, the cell class used specified by classId and the number of rows and columns specified by rowsHigh and colsWide respectively

See Also: -initWithFrame:mode:prototype:numberOfRows:numberOfColumns:

### initWithFrame: mode: prototype: numberOfRows: numberOfColumns:

- (id) initWithFrame: (NSRect)frameRect mode: (int)aMode prototype: (NSCell*)aCell numberOfRows: (int)rowsHigh numberOfColumns: (int)colsWide;
Availability: OpenStep

Initializes and returns a new NSMatrix in the specified frame frameRect. The NSMatrixMode is specified by mode, the cell used specified by aCell and the number of rows and columns specified by rowsHigh and colsWide respectively

See Also: -initWithFrame:mode:prototype:numberOfRows:numberOfColumns:

### insertColumn:

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

Inserts a new column at the specified column column.

See Also: -insertColumn:withCells:

### insertColumn: withCells:

- (void) insertColumn: (int)column withCells: (NSArray*)cellArray;
Availability: OpenStep

Inserts a new column of cells ( specified by cellArray) at the specified column column. This method can grows the matrix as necessay if needed

See Also: -insertColumn:

### insertRow:

- (void) insertRow: (int)row;
Availability: OpenStep

Inserts a new row at index row.

See Also: -insertRow:withCells:

### insertRow: withCells:

- (void) insertRow: (int)row withCells: (NSArray*)cellArray;
Availability: OpenStep

Inserts a new row of cells (specified by cellArray) at the specified row row. This method can grows the matrix as necessay if needed

See Also: -insertColumn:

### intercellSpacing

- (NSSize) intercellSpacing;
Availability: OpenStep

Returns the space size between cells.

See Also: -setIntercellSpacing:

### isAutoscroll

- (BOOL) isAutoscroll;
Availability: OpenStep
Description forthcoming.

### isSelectionByRect

- (BOOL) isSelectionByRect;
Availability: OpenStep
Description forthcoming.

### keyCell

- (id) keyCell;
Availability: OpenStep
Description forthcoming.

### makeCellAtRow: column:

- (NSCell*) makeCellAtRow: (int)row column: (int)column;
Availability: OpenStep

Makes and returns new cell at row row and column column.

### mode

- (NSMatrixMode) mode;
Availability: OpenStep

Returns the NSMatrix's mode. See NSMatrixMode for more informations. By default the mode is NSRadioModeMatrix .

See Also: -setMode:

### mouseDown:

- (void) mouseDown: (NSEvent*)theEvent;
Availability: OpenStep
Description forthcoming.

### mouseDownFlags

- (int) mouseDownFlags;
Availability: OpenStep
Description forthcoming.

### nextText

- (id) nextText;
Availability: OpenStep

Returns the next key view

See Also: -setNextText: [NSView -nextKeyView]

### numberOfColumns

- (int) numberOfColumns;
Availability: OpenStep

Returns the number of columns of the NSMatrix

See Also: -numberOfRows

### numberOfRows

- (int) numberOfRows;
Availability: OpenStep

Returns the number of rows of the NSMatrix

See Also: -numberOfColumns

### performKeyEquivalent:

- (BOOL) performKeyEquivalent: (NSEvent*)theEvent;
Availability: OpenStep

Simulates a mouse click for the first cell with the corresponding key Equivalent.

See Also: [NSCell -keyEquivalent]

### previousText

- (id) previousText;
Availability: OpenStep

Returns the previous key view

See Also: -setPreviousText: [NSView -previousKeyView]

### prototype

- (id) prototype;
Availability: OpenStep

Returns the prototype cell used by the NSMatrix when it creates new cells. The default cell is NSActionCell

See Also: -cellClass -setPrototype: -prototype

### putCell: atRow: column:

- (void) putCell: (NSCell*)newCell atRow: (int)row column: (int)column;
Availability: OpenStep

Replaces the NSMatrix's cell at row row and column column by newCell and mark for display the new cell. Raises a NSRangeException if the row or column are out of range.

### removeColumn:

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

Removes the NSMatrix's column at index column

See Also: -removeRow:

### removeRow:

- (void) removeRow: (int)row;
Availability: OpenStep

Removes the NSMatrix's row at index row

See Also: -removeColumn:

### renewRows: columns:

- (void) renewRows: (int)newRows columns: (int)newColumns;
Availability: OpenStep
Description forthcoming.

### resetCursorRects

- (void) resetCursorRects;
Availability: OpenStep
Description forthcoming.

### scrollCellToVisibleAtRow: column:

- (void) scrollCellToVisibleAtRow: (int)row column: (int)column;
Availability: OpenStep

Scrolls the NSMatrix to make the cell at row row and column column visible

See Also: -scrollRectToVisible: -cellFrameAtRow:column:

### selectAll:

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

Selects all the cells and marks self for display. Does nothing if the NSMatrix's mode is NSRadioModeMatrix

See Also: -selectCellAtRow:column: -selectCell:

### selectCellAtRow: column:

- (void) selectCellAtRow: (int)row column: (int)column;
Availability: OpenStep

Selects the cell and the text inside at row row and column column. If row or column is -1 it deselects all the cells.

See Also: -deselectSelectedCell -selectTextAtRow:column:

### selectCellWithTag:

- (BOOL) selectCellWithTag: (int)anInt;
Availability: OpenStep

Selects the cell (and the text inside) with tag anInt. Return `YES` if the NSMatrix contains a cell with tag anInt, `NO` otherwise.

See Also: -deselectSelectedCell -selectTextAtRow:column:

### selectText:

- (void) selectText: (id)sender;
Availability: OpenStep
Description forthcoming.

### selectTextAtRow: column:

- (id) selectTextAtRow: (int)row column: (int)column;
Availability: OpenStep

Select the text of the cell at row row and column column. The cell is selected if and only if the cell is selectable (MacOSX select it if the cell is editable). This methods returns the selected cell if exists and selectable, `nil` otherwise

### selectedCell

- (id) selectedCell;
Availability: OpenStep
Description forthcoming.

### selectedCells

- (NSArray*) selectedCells;
Availability: OpenStep

Returns an array of the selected cells

### selectedColumn

- (int) selectedColumn;
Availability: OpenStep

Returns the column number of the selected cell or -1 if no cell is selected

See Also: -selectedRow -selectedCell

### selectedRow

- (int) selectedRow;
Availability: OpenStep

Returns the row number of the selected cell or -1 if no cell is selected

See Also: -selectedColumn -selectedCell

### sendAction

- (BOOL) sendAction;
Availability: OpenStep

Sends the cell action, if a NSMatrix's cell is selected and enabled, sends the NSMatrix action otherwise. Returns `YES` if the action is succesfully sent. `NO` if a cell is selected but not enabled or if an action can not be sent.

See Also: -sendAction:to: -selectedCell

### sendAction: to: forAllCells:

- (void) sendAction: (SEL)aSelector to: (id)anObject forAllCells: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### sendDoubleAction

- (void) sendDoubleAction;
Availability: OpenStep
Description forthcoming.

### setAction:

- (void) setAction: (SEL)aSelector;
Availability: OpenStep
Sets the message to send when a single click occurs.

### setAllowsEmptySelection:

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

Sets a flag to indicate whether the matrix should permit empty selections or should force one or mor cells to be selected at all times.

See Also: -allowsEmptySelection

### setAutoscroll:

- (void) setAutoscroll: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setAutosizesCells:

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

Sets whether the NSMatrix resizes its cells automatically

See Also: -autosizesCells

### setBackgroundColor:

- (void) setBackgroundColor: (NSColor*)aColor;
Availability: OpenStep

Sets the background color to aColor and marks self for display. The background color is used to display the NSMatrix color (the space between the cells), not the cells (uses -setCellBackgroundColor: for that)

See Also: -backgroundColor -setCellBackgroundColor: -cellBackgroundColor -drawsBackground -setDrawsBackground:

### setCellBackgroundColor:

- (void) setCellBackgroundColor: (NSColor*)aColor;
Availability: OpenStep

Sets the background color of the NSMatrix's cells to aColor and marks self for display.

See Also: -cellBackgroundColor -backgroundColor -setBackgroundColor: -setDrawsCellBackground: -drawsCellBackground

### setCellClass:

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

Sets the cell class used by the NSMatrix when it creates new cells to classId. The default cell class is a NSActionCell class

See Also: -cellClass -setPrototype: -prototype

### setCellSize:

- (void) setCellSize: (NSSize)aSize;
Availability: OpenStep
Description forthcoming.

### setDelegate:

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

Sets the delegate to anObject. The delegate is used when editing a cell

See Also: -delegate -textDidEndEditing: -textDidBeginEditing: -textDidChange:

### setDoubleAction:

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

Sets the message to send when a double click occurs. NB: In GNUstep the following method does *not* set ignoresMultiClick to `NO` as in the MacOS-X spec. It simply sets the doubleAction, as in OpenStep spec.

-doubleAction

### setDrawsBackground:

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

Sets whether the NSMatrix draws its background and marks self for display.

See Also: -drawsBackground -setDrawsCellBackground:

### setDrawsCellBackground:

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

Sets whether the NSMatrix draws cells backgrounds and marks self for display

See Also: -drawsCellBackground -setDrawsBackground:

### setErrorAction:

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

Sets the error action method to aSelector . This error method is used when in -textShouldEndEditing: if the selected cell doe not have a valid text object

See Also: -errorAction

### setIntercellSpacing:

- (void) setIntercellSpacing: (NSSize)aSize;
Availability: OpenStep

Sets the space size between cells to aSize and resizes the matrix to fits the new cells spacing.

See Also: -intercellSpacing -sizeToCells

### setKeyCell:

- (void) setKeyCell: (NSCell*)aCell;
Availability: OpenStep
Description forthcoming.

### setMode:

- (void) setMode: (NSMatrixMode)aMode;
Availability: OpenStep

Sets the NSMatrix's mode to aMode. See NSMatrixMode for more informations. By default the mode is NSRadioModeMatrix .

See Also: -setMode:

### setNextText:

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

Sets the next key view to anObject

See Also: -nextText [NSView-setNextKeyView:

### setPreviousText:

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

Sets the previous key view to anObject

See Also: -previousText [NSView-setPreviousKeyView:

### setPrototype:

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

Sets the prototype cell used by the NSMatrix when it creates new cells to aCell. The default cell is NSActionCell

See Also: -cellClass -setPrototype: -prototype

### setScrollable:

- (void) setScrollable: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setSelectionByRect:

- (void) setSelectionByRect: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setSelectionFrom: to: anchor: highlight:

- (void) setSelectionFrom: (int)startPos to: (int)endPos anchor: (int)anchorPos highlight: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setState: atRow: column:

- (void) setState: (int)value atRow: (int)row column: (int)column;
Availability: OpenStep

Sets the state of the cell at row row and column to value. If the NSMatrix's mode is NSRadioModeMatrix it deselects the cell currently selected if needed.

### setTabKeyTraversesCells:

- (void) setTabKeyTraversesCells: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### setValidateSize:

- (void) setValidateSize: (BOOL)flag;
Availability: OpenStep
Description forthcoming.

### sizeToCells

- (void) sizeToCells;
Availability: OpenStep
Description forthcoming.

### sortUsingFunction: context:

- (void) sortUsingFunction: (int(*)(id element1,id element2,void*userData))comparator context: (void*)context;
Availability: OpenStep
Description forthcoming.

### sortUsingSelector:

- (void) sortUsingSelector: (SEL)comparator;
Availability: OpenStep
Description forthcoming.

### tabKeyTraversesCells

- (BOOL) tabKeyTraversesCells;
Availability: OpenStep
Description forthcoming.

### textDidBeginEditing:

- (void) textDidBeginEditing: (NSNotification*)aNotification;
Availability: OpenStep

Invokes when the text cell starts to be editing.This methods posts a NSControlTextDidBeginEditingNotification with a dictionary containing the NSFieldEditor as user info

See Also: [NSNotificationCenter -postNotificationName:object:userInfo:]

### textDidChange:

- (void) textDidChange: (NSNotification*)aNotification;
Availability: OpenStep

Invokes when the text cell is changed. This methods posts a NSControlTextDidChangeNotification with a dictionary containing the NSFieldEditor as user info

See Also: [NSNotificationCenter -postNotificationName:object:userInfo:]

### textDidEndEditing:

- (void) textDidEndEditing: (NSNotification*)aNotification;
Availability: OpenStep

Invokes when the text cell is changed. This methods posts a NSControlTextDidEndEditingNotification a dictionary containing the NSFieldEditor as user info

See Also: [NSNotificationCenter -postNotificationName:object:userInfo:]

### textShouldBeginEditing:

- (BOOL) textShouldBeginEditing: (NSText*)aTextObject;
Availability: OpenStep

Asks to the delegate (if it implements -control:textShouldBeginEditing: ) if the text should be edit. Returns `YES` if the delegate does not implement this method

### textShouldEndEditing:

- (BOOL) textShouldEndEditing: (NSText*)aTextObject;
Availability: OpenStep
Description forthcoming.

## Instance Variables for NSMatrix Class

### _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.

### _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.

### _autoscroll

@protected BOOL _autoscroll;
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.

### _autosizesCells

@protected BOOL _autosizesCells;
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.

### _backgroundColor

@protected NSColor* _backgroundColor;
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.

### _cellBackgroundColor

@protected NSColor* _cellBackgroundColor;
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.

### _cellClass

@protected Class _cellClass;
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.

### _cellInit

@protected IMP _cellInit;
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.

### _cellNew

@protected IMP _cellNew;
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.

### _cellPrototype

@protected id _cellPrototype;
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.

### _cellSize

@protected NSSize _cellSize;
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.

### _cells

@protected id** _cells;
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.

### _delegate

@protected id _delegate;
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.

### _dottedColumn

@protected int _dottedColumn;
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.

### _dottedRow

@protected int _dottedRow;
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.

### _drawsBackground

@protected BOOL _drawsBackground;
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.

### _drawsCellBackground

@protected BOOL _drawsCellBackground;
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.

### _errorAction

@protected SEL _errorAction;
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.

### _intercell

@protected NSSize _intercell;
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.

### _maxCols

@protected int _maxCols;
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.

### _maxRows

@protected int _maxRows;
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.

### _mode

@protected NSMatrixMode _mode;
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.

### _myZone

@protected NSZone* _myZone;
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.

### _numCols

@protected int _numCols;
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.

### _numRows

@protected int _numRows;
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.

### _reserved1

@protected id _reserved1;
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.

### _selectedCell

@protected id _selectedCell;
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.

### _selectedCells

@protected BOOL** _selectedCells;
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.

### _selectedColumn

@protected int _selectedColumn;
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.

### _selectedRow

@protected int _selectedRow;
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.

### _selectionByRect

@protected BOOL _selectionByRect;
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.

### _tabKeyTraversesCells

@protected BOOL _tabKeyTraversesCells;
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.

### _textObject

@protected NSText* _textObject;
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.

Up