mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 13:30:37 +00:00
Markup for autogsdoc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11788 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
86eca68043
commit
c51f4265da
289 changed files with 33853 additions and 23024 deletions
|
@ -1,12 +1,7 @@
|
|||
/*
|
||||
NSTableColumn.m
|
||||
/** <title>NSTableColumn</title>
|
||||
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
Author: Michael Hanni <mhanni@sprintmail.com>
|
||||
Date: 1999
|
||||
First Implementation.
|
||||
|
||||
Author: Nicola Pero <n.pero@mi.flashnet.it>
|
||||
Date: December 1999
|
||||
Completely Rewritten.
|
||||
|
@ -34,6 +29,48 @@
|
|||
#include <AppKit/NSTableColumn.h>
|
||||
#include <AppKit/NSTableView.h>
|
||||
|
||||
/**
|
||||
<unit>
|
||||
<heading>Class Description</heading>
|
||||
|
||||
<p>
|
||||
NSTableColumn objects represent columns in NSTableViews.
|
||||
</p>
|
||||
<section>
|
||||
<heading>The Column Identifier</heading>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</section>
|
||||
<section>
|
||||
<heading>Information Stored in an NSTableColumn Object</heading>
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
</section>
|
||||
</unit>
|
||||
*/
|
||||
@implementation NSTableColumn
|
||||
|
||||
/*
|
||||
|
@ -53,9 +90,10 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Initializing an NSTableColumn instance
|
||||
*/
|
||||
/**
|
||||
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. */
|
||||
- (id)initWithIdentifier: (id)anObject
|
||||
{
|
||||
self = [super init];
|
||||
|
@ -84,11 +122,18 @@
|
|||
/*
|
||||
* Managing the Identifier
|
||||
*/
|
||||
/**
|
||||
Set the identifier used to identify the table. The old identifier
|
||||
is released, and the new one is retained. */
|
||||
- (void)setIdentifier: (id)anObject
|
||||
{
|
||||
ASSIGN (_identifier, anObject);
|
||||
}
|
||||
|
||||
/**
|
||||
Return the column identifier, an object used to identify the column.
|
||||
This object is usually a string, but might be any kind of object.
|
||||
*/
|
||||
- (id)identifier
|
||||
{
|
||||
return _identifier;
|
||||
|
@ -96,6 +141,12 @@
|
|||
/*
|
||||
* Setting the NSTableView
|
||||
*/
|
||||
/**
|
||||
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. */
|
||||
- (void)setTableView: (NSTableView*)aTableView
|
||||
{
|
||||
// We do *not* RETAIN aTableView.
|
||||
|
@ -103,6 +154,9 @@
|
|||
_tableView = aTableView;
|
||||
}
|
||||
|
||||
/**
|
||||
Return the table view the column belongs to, or nil if the table
|
||||
column was not added to any table view. */
|
||||
- (NSTableView *)tableView
|
||||
{
|
||||
return _tableView;
|
||||
|
@ -111,6 +165,17 @@
|
|||
/*
|
||||
* Controlling size
|
||||
*/
|
||||
/**
|
||||
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. */
|
||||
- (void)setWidth: (float)newWidth
|
||||
{
|
||||
float oldWidth = _width;
|
||||
|
@ -139,11 +204,16 @@
|
|||
}
|
||||
}
|
||||
|
||||
/** Return the width of the table column. */
|
||||
- (float)width
|
||||
{
|
||||
return _width;
|
||||
}
|
||||
|
||||
/**
|
||||
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. */
|
||||
- (void)setMinWidth: (float)minWidth
|
||||
{
|
||||
_min_width = minWidth;
|
||||
|
@ -151,11 +221,19 @@
|
|||
[self setWidth: _min_width];
|
||||
}
|
||||
|
||||
/**
|
||||
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. */
|
||||
- (float)minWidth
|
||||
{
|
||||
return _min_width;
|
||||
}
|
||||
|
||||
/**
|
||||
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. */
|
||||
- (void)setMaxWidth: (float)maxWidth
|
||||
{
|
||||
_max_width = maxWidth;
|
||||
|
@ -163,21 +241,38 @@
|
|||
[self setWidth: _max_width];
|
||||
}
|
||||
|
||||
/**
|
||||
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. */
|
||||
- (float)maxWidth
|
||||
{
|
||||
return _max_width;
|
||||
}
|
||||
|
||||
/**
|
||||
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. */
|
||||
- (void)setResizable: (BOOL)flag
|
||||
{
|
||||
_is_resizable = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
Return whether the column might be resized by the user by dragging
|
||||
the column header border. */
|
||||
- (BOOL)isResizable
|
||||
{
|
||||
return _is_resizable;
|
||||
}
|
||||
|
||||
/**
|
||||
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). */
|
||||
- (void)sizeToFit
|
||||
{
|
||||
float new_width;
|
||||
|
@ -197,11 +292,17 @@
|
|||
/*
|
||||
* Controlling editability
|
||||
*/
|
||||
/**
|
||||
Set whether data in the column might be edited by the user by
|
||||
double-cliking on them. */
|
||||
- (void)setEditable: (BOOL)flag
|
||||
{
|
||||
_is_editable = flag;
|
||||
}
|
||||
|
||||
/**
|
||||
Return whether data displayed in the column can be edited by the
|
||||
user by double-cliking on them. */
|
||||
- (BOOL)isEditable
|
||||
{
|
||||
return _is_editable;
|
||||
|
@ -210,6 +311,10 @@
|
|||
/*
|
||||
* Setting component cells
|
||||
*/
|
||||
/**
|
||||
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. */
|
||||
- (void)setHeaderCell: (NSCell*)aCell
|
||||
{
|
||||
if (aCell == nil)
|
||||
|
@ -220,11 +325,21 @@
|
|||
ASSIGN (_headerCell, aCell);
|
||||
}
|
||||
|
||||
/**
|
||||
Return the cell used to display the column title. The default
|
||||
header cell is an NSTableHeaderCell. */
|
||||
- (NSCell*)headerCell
|
||||
{
|
||||
return _headerCell;
|
||||
}
|
||||
|
||||
/**
|
||||
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:. */
|
||||
- (void)setDataCell: (NSCell*)aCell
|
||||
{
|
||||
if (aCell == nil)
|
||||
|
@ -235,6 +350,9 @@
|
|||
ASSIGN (_dataCell, aCell);
|
||||
}
|
||||
|
||||
/**
|
||||
Return the cell used to display data in the column. The default
|
||||
data cell is an NSTextFieldCell. */
|
||||
- (NSCell*)dataCell
|
||||
{
|
||||
return _dataCell;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue