diff --git a/Documentation/gsdoc/NSTableColumn.gsdoc b/Documentation/gsdoc/NSTableColumn.gsdoc index 7d5fef046..dd86f9b6c 100644 --- a/Documentation/gsdoc/NSTableColumn.gsdoc +++ b/Documentation/gsdoc/NSTableColumn.gsdoc @@ -1,131 +1,242 @@ - + NSTableColumn - - + + - 0.1 - 28 February, 2000 + 1.0 + 10 September, 2000 + + - NSTableColumn + Description of NSTableColumn +

+ NSTableColumn objects represent columns in NSTableViews. +

+
+ The Column Identifier +

+ Each NSTableColumn object is identified by an object, called + the column identifier. The reason is that, after a column has been + added to a table view, the user might move the columns around, so + there is a need to identify the columns regardless of their position + in the table. +

+

+ The identifier is typically a string describing the column. + This identifier object is never displayed to the user ! + It is only used internally by the program to identify + the column - so yes, you may use a funny string for it + and nobody will know, except people reading the code. +

+
+
+ Information Stored in an NSTableColumn Object +

+ An NSTableColumn object mainly keeps information about the width + of the column, its minimum and maximum width; whether the column + can be edited or resized; and the cells used to draw the column + header and the data in the column. You can change all these + attributes of the column by calling the appropriate methods. + Please note that the table column does not hold nor has access + to the data to be displayed in the column; this data is maintained + in the table view's data source, as described in the NSTableView + documentation. A last hint: to set the title of a table column, + ask the table column for its header cell, and set the string value + of this header cell to the desired title. +

+
+
+ + + NSTableColumn Reference Gui/NSTableColumn.h NSObject +

+ NSTableColumn objects represent columns in NSTableViews. +

+ dataCell + Return the cell used to display data in the column. The default + data cell is an NSTextFieldCell. headerCell + Return the cell used to display the column title. The default + header cell is an NSTableHeaderCell. initWithIdentifier: anObject + Initialize the column. anObject is an object used to identify + the column; it is usually a string, but might be any kind of object. + anObject is retained. identifier + Return the column identifier, an object used to identify the column. + This object is usually a string, but might be any kind of object. isEditable - + Return whether data displayed in the column can be edited + by the user by double-cliking on them. + isResizable + Return whether the column might be resized by the user by dragging + the column header border. maxWidth + Return the column's max width. The column can in no way be resized + to a width bigger than this max width. The default max width is + 100000. minWidth + Return the column's min width. The column can in no way be resized + to a width smaller than this min width. The default min width is + zero. setDataCell: aCell + Set the cell used to display data in the column. aCell can't be nil, + otherwise a warning will be generated and the method ignored. The old + cell is released, the new one is retained. + If you want to change the attributes in which a single row in a column + is displayed, you should better use a delegate for your + NSTableView implementing tableView:willDisplayCell:forTableColumn:row:. setEditable: flag + Set whether data in the column might be edited by the user by + double-cliking on them. setHeaderCell: aCell + Set the cell used to display the column header. aCell can't be nil, + otherwise a warning will be generated and the method call ignored. + The old cell is released, the new one is retained. setIdentifier: anObject + Set the identifier used to identify the table. The old identifier + is released, and the new one is retained. setMaxWidth: maxWidth + Set the max width of the table column, eventually adjusting + the width of the column if it is bigger than the new max width. + In no way a table column can be made bigger than its max width. setMinWidth: minWidth + Set the min width of the table column, eventually adjusting + the width of the column if it is smaller than the new min width. + In no way a table column can be made smaller than its min width. setResizable: flag + Set whether the user can resize the table column by dragging the + border of its header with the mouse. The table column can be + resized programmatically regardless of this setting. setTableView: aTableView + Set the table view corresponding to this table column. + This method is invoked internally by the table view, and you should + not call it directly; it is exposed because you may want to override + it in subclasses. To use the table column in a table view, you should + use NSTableView's addTableColumn: instead. setWidth: newWidth + Set the width of the table column. Before being resized, the new + width is constrained to the table column minimum and maximum width: + if newWidth is smaller than the table column's min width, + the table column is simply resized to its min width. If newWidth + is bigger than the table column's max width, the table column + is simply resized to its max width. Otherwise, it is resized + to newWidth. If the width of the table was actually changed, + the table view (if any) is redisplayed (by calling tile), and + the NSTableViewColumnDidResizeNotification is posted on behalf + of the table view. sizeToFit + Change the width of the column to be just enough to display its + header; change the minimum width and maximum width to allow + the column to have this width (if the minimum width is bigger + than the column header width, it is reduced to it; if the maximum + width is smaller than the column header width, it is increased + to it). tableView + Return the table view the column belongs to, or nil if + the table column was not added to any table view. width + Return the width of the table column.