1346 lines
60 KiB
Plaintext
1346 lines
60 KiB
Plaintext
.\" The contents of this file are subject to the Netscape Public
|
||
.\" License Version 1.1 (the "License"); you may not use this file
|
||
.\" except in compliance with the License. You may obtain a copy of
|
||
.\" the License at http://www.mozilla.org/NPL/
|
||
.\"
|
||
.\" Software distributed under the License is distributed on an "AS
|
||
.\" IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||
.\" implied. See the License for the specific language governing
|
||
.\" rights and limitations under the License.
|
||
.\"
|
||
.\" The Original Code is mozilla.org code.
|
||
.\"
|
||
.\" The Initial Developer of the Original Code is Netscape
|
||
.\" Communications Corporation. Portions created by Netscape are
|
||
.\" Copyright (C) 1998 Netscape Communications Corporation. All
|
||
.\" Rights Reserved.
|
||
.\"
|
||
.\" Contributor(s):
|
||
.\"
|
||
.\"
|
||
.\"
|
||
.\"
|
||
.\" The following source code is part of the Microline Widget Library.
|
||
.\" The Microline widget library is made available to Mozilla developers
|
||
.\" under the Netscape Public License (NPL) by Neuron Data. To learn
|
||
.\" more about Neuron Data, please visit the Neuron Data Home Page at
|
||
.\" http://www.neurondata.com.
|
||
.\"
|
||
.\"
|
||
.TH XmLGrid 3X "R1" "XML1" "XML"
|
||
.SH NAME
|
||
XmLGrid
|
||
.SH SYNOPSIS
|
||
#include <XmL/Grid.h>
|
||
.LP
|
||
.SH DESCRIPTION
|
||
A Grid consists of cells in rows and columns. There are two basic
|
||
cell types, defined by the nature of the cell content: STRING (XmString
|
||
format), and PIXMAP (pixmap images). STRING cells may allow editing.
|
||
Cells and regions within the Grid may be formatted with borders and
|
||
shadowing. Rows and columns may be fixed on the top, bottom,
|
||
left and right to remain in view while scrolling horizontally or
|
||
vertically. There may be heading and footer rows at the top and
|
||
bottom, and heading and footer columns at the left and right,
|
||
in addition to the content rows and columns in the center of
|
||
the Grid. While headings and footers must be fixed, content rows
|
||
may scroll or may also be fixed on the top, bottom, left and right.
|
||
.SS Class Information
|
||
Grid inherits from XmManager, Constraint, Composite and Core. Its
|
||
class pointer is xmlGridWidgetClass. Its class name is XmLGrid.
|
||
.SS New Resources
|
||
The Grid resources defined below affect its overall behavior, layout and
|
||
appearance. Definitions of resources affecting rows, columns and
|
||
cells follow the Grid resource definitions.
|
||
|
||
.nf
|
||
.ft B
|
||
Name Class
|
||
Type Default Access
|
||
.ft P
|
||
XmNallowColumnHide XmCAllowColumnHide
|
||
Boolean False CSG
|
||
XmNallowColumnResize XmCAllowColumnResize
|
||
Boolean False CSG
|
||
XmNallowDragSelected XmCAllowDragSelected
|
||
Boolean False CSG
|
||
XmNallowDrop XmCAllowDrop
|
||
Boolean False CSG
|
||
XmNallowRowHide XmCAllowRowHide
|
||
Boolean False CSG
|
||
XmNallowRowResize XmCAllowRowResize
|
||
Boolean False CSG
|
||
XmNautoSelect XmCAutoSelect
|
||
Boolean True CSG
|
||
XmNblankBackground XmCBlankBackground
|
||
Pixel Dynamic CSG
|
||
XmNbottomFixedCount XmCBottomFixedCount
|
||
int 0 CSG
|
||
XmNbottomFixedMargin XmCBottomFixedMargin
|
||
Dimension 0 CSG
|
||
XmNcolumns XmCColumns
|
||
int 0 CSG
|
||
XmNdebugLevel XmCDebugLevel
|
||
int 0 CSG
|
||
XmNeditTranslations XmCTranslations
|
||
XtTranslations Dynamic CSG
|
||
XmNfontList XmCFontList
|
||
XmFontList Dynamic CSG
|
||
XmNfooterColumns XmCFooterColumns
|
||
int 0 CSG
|
||
XmNfooterRows XmCFooterRows
|
||
int 0 CSG
|
||
XmNglobalPixmapHeight XmCGlobalPixmapHeight
|
||
Dimension 0 CSG
|
||
XmNglobalPixmapWidth XmCGlobalPixmapWidth
|
||
Dimension 0 CSG
|
||
XmNheadingColumns XmCHeadingColumns
|
||
int 0 CSG
|
||
XmNheadingRows XmCHeadingRows
|
||
int 0 CSG
|
||
XmNhiddenColumns XmCHiddenColumns
|
||
int 0 G
|
||
XmNhiddenRows XmCHiddenRows
|
||
int 0 G
|
||
XmNhighlightRowMode XmCHighlightRowMode
|
||
Boolean False CSG
|
||
XmNhighlightThickness XmCHighlightThickness
|
||
Dimension 2 CSG
|
||
XmNhorizontalScrollBar XmCHorizontalScrollBar
|
||
Widget Dynamic G
|
||
XmNhorizontalSizePolicy XmCHorizontalSizePolicy
|
||
unsigned char XmCONSTANT CSG
|
||
XmNhsbDisplayPolicy XmCHsbDisplayPolicy
|
||
unsigned char XmAS_NEEDED CSG
|
||
XmNimmediateDraw XmCImmediateDraw
|
||
Boolean False CSG
|
||
XmNlayoutFrozen XmCLayoutFrozen
|
||
Boolean False CSG
|
||
XmNleftFixedCount XmCLeftFixedCount
|
||
int 0 CSG
|
||
XmNleftFixedMargin XmCLeftFixedMargin
|
||
Dimension 0 CSG
|
||
XmNrightFixedCount XmCRightFixedCount
|
||
int 0 CSG
|
||
XmNrightFixedMargin XmCRightFixedMargin
|
||
Dimension 0 CSG
|
||
XmNrows XmCRows
|
||
int 0 CSG
|
||
XmNscrollBarMargin XmCScrollBarMargin
|
||
Dimension 2 CSG
|
||
XmNscrollColumn XmCScrollColumn
|
||
int Dynamic CSG
|
||
XmNscrollRow XmCScrollRow
|
||
int Dynamic CSG
|
||
XmNselectBackground XmCSelectBackground
|
||
Pixel Dynamic CSG
|
||
XmNselectForeground XmCSelectForeground
|
||
Pixel Dynamic CSG
|
||
XmNselectionPolicy XmCGridSelectionPolicy
|
||
unsigned char XmSELECT_BROWSE_ROW CSG
|
||
XmNshadowRegions XmCShadowRegions
|
||
int 511 CSG
|
||
XmNshadowType XmCShadowType
|
||
unsigned char XmSHADOW_IN CSG
|
||
XmNsimpleHeadings XmCSimpleHeadings
|
||
String NULL CSG
|
||
XmNsimpleWidths XmCSimpleWidths
|
||
String NULL CSG
|
||
XmNtextWidget XmCTextWidget
|
||
Widget Dynamic G
|
||
XmNtopFixedCount XmCTopFixedCount
|
||
int 0 CSG
|
||
XmNtopFixedMargin XmCTopFixedMargin
|
||
Dimension 0 CSG
|
||
XmNtraverseTranslations XmCTranslations
|
||
XtTranslations Dynamic CSG
|
||
XmNuseAverageFontWidth XmCUseAverageFontWidth
|
||
Boolean True CSG
|
||
XmNverticalScrollBar XmCVerticalScrollBar
|
||
Widget 0 G
|
||
XmNverticalSizePolicy XmCVerticalSizePolicy
|
||
unsigned char XmCONSTANT CSG
|
||
XmNvisibleColumns XmCVisibleColumns
|
||
int 0 CSG
|
||
XmNvisibleRows XmCVisibleRows
|
||
int 0 CSG
|
||
XmNvsbDisplayPolicy XmCVsbDisplayPolicy
|
||
unsigned char XmAS_NEEDED CSG
|
||
.fi
|
||
.IP XmNallowColumnHide
|
||
This resource only has effect when XmNallowColumnResize is True.
|
||
If the user is able to resize columns, this resource controls
|
||
whether a user can hide a column by resizing it to a zero width.
|
||
If True, a user may size columns to a zero width (hiding them) and
|
||
if False (the default), a user will not be able to resize a column
|
||
to a zero width.
|
||
.IP XmNallowColumnResize
|
||
If True, the user may resize a column by dragging the right
|
||
edge of a cell in a heading row. When the user resizes a column,
|
||
the column's XmNcolumnSizePolicy is set to XmCONSTANT and the
|
||
column's XmNcolumnWidth is set to the pixel width chosen by the
|
||
user. If the Grid contains no heading rows, this resource has no
|
||
effect. If False, interactive column resizing is disabled.
|
||
.IP XmNallowDragSelected
|
||
If True, the user may interactively drag cell contents (strings)
|
||
to a drop site. If False, dragging is disabled.
|
||
.IP XmNallowDrop
|
||
If True, the user is allow to drop cell contents (strings) into the
|
||
Grid. If False, the Grid will not register itself as a drop site.
|
||
.IP XmNallowRowHide
|
||
This resource only has effect when XmNallowRowResize is True.
|
||
If the user is able to resize rows, this resource controls
|
||
whether a user can hide a row by resizing it to a zero height.
|
||
If True, a user may size rows to a zero height (hiding them) and
|
||
if False (the default), a user will not be able to resize a row
|
||
to a zero height.
|
||
.IP XmNallowRowResize
|
||
If True, the user may resize a row by dragging the bottom edge of
|
||
a cell in a heading column. When the user resizes a row, the
|
||
row's XmNrowSizePolicy is set to XmCONSTANT and the row's
|
||
XmNrowHeight is set to the pixel height chosen by the user. If
|
||
the Grid contains no heading columns, this resource has no effect.
|
||
If False, interactive row resizing is disabled.
|
||
.IP XmNautoSelect
|
||
If set to True (the default) and the Grid's XmNselectionPolicy is
|
||
XmSELECT_BROWSE_ROW, the Grid will select its first row when it
|
||
is realized. No callback is generated by this action. If False,
|
||
no initial row will be selected.
|
||
.IP XmNblankBackground
|
||
If a Grid has a horizontal scrollbar which is scrolled completely
|
||
to the right or a vertical scrollbar which is scrolled to the
|
||
bottom, an empty area can exist after the last set of scrolling cells. The
|
||
color of this empty region is set by the XmNblankBackground
|
||
resource. It will only be visible when the Grid is scrolled fully
|
||
to the right or bottom. This value is initially set to the background
|
||
color of the Grid widget.
|
||
.IP XmNbottomFixedCount
|
||
The number of fixed rows at the bottom of the Grid including
|
||
footer rows. Since footer rows must be fixed, this value may not
|
||
be set smaller than the number of footer rows. If this value is
|
||
greater than the total number of rows, then as additional rows
|
||
are added they will be fixed until this value is reached.
|
||
.IP XmNbottomFixedMargin
|
||
The height, in pixels, of the margin between the bottom fixed
|
||
rows and any rows above them.
|
||
.IP XmNcolumns
|
||
The number of content columns. Setting this value will add content
|
||
columns to the Grid if the value set is greater than the current number
|
||
of content columns. Likewise, setting this value to a number less
|
||
than the current number of content columns will cause content columns
|
||
to be deleted. The Grid updates this resource to reflect the
|
||
current number of content columns every time a content column is
|
||
added or removed. To get the total number of columns in the
|
||
Grid (heading, content and footer) add this value to the number
|
||
of heading and footer columns.
|
||
.IP XmNdebugLevel
|
||
If set to a value greater than 0, debugging messages will be
|
||
printed to stderr. When set to 0 (the default) only error
|
||
messages will be reported.
|
||
.IP XmNeditTranslations
|
||
The translations merged into the Text widget child of the Grid
|
||
when the Grid goes from traverse mode into edit mode.
|
||
.IP XmNfontList
|
||
The default font list for new cells. Changing this resource
|
||
does not affect existing cells. If this value is NULL, a
|
||
font list is obtained from the nearest parent that is a
|
||
subclass of BulletinBoard, MenuShell, or VendorShell.
|
||
.IP XmNfooterColumns
|
||
The number of footer columns. Setting this value will add footer
|
||
columns to the Grid if the value set is greater than the current number
|
||
of footer columns. Likewise, setting this value to a number less
|
||
than the current number of footer columns will cause footer columns
|
||
to be deleted. The Grid updates this resource to reflect the
|
||
current number of footer columns every time a footer column is
|
||
added or removed.
|
||
.IP XmNfooterRows
|
||
The number of footer rows. Setting this value will add footer rows
|
||
to the Grid if the value set is greater than the current number
|
||
of footer rows. Likewise, setting this value to a number less
|
||
than the current number of footer rows will cause footer rows
|
||
to be deleted. The Grid updates this resource to reflect the
|
||
current number of footer rows every time a footer row is
|
||
added or removed.
|
||
.IP XmNglobalPixmapHeight
|
||
If non-zero, this value specifies the height of every pixmap
|
||
contained in the cells of the Grid. You should set this
|
||
resource only if all cell pixmaps have equal size.
|
||
If you set this resource, you should also set
|
||
XmNglobalPixmapWidth to the width of the pixmaps.
|
||
Setting this value will increase performance when setting
|
||
cell pixmaps since if this value is not set, the Grid will
|
||
need to perform a query to determine the dimensions of any
|
||
pixmap set. You should leave this value at 0 (the default)
|
||
if you have pixmaps of varying size in the Grid.
|
||
.IP XmNglobalPixmapWidth
|
||
This resource should be used with XmNglobalPixmapHeight. See
|
||
XmNglobalPixmapHeight for details.
|
||
.IP XmNheadingColumns
|
||
The number of heading columns. Setting this value will add heading
|
||
columns to the Grid if the value set is greater than the current number
|
||
of heading columns. Likewise, setting this value to a number less
|
||
than the current number of heading columns will cause heading columns
|
||
to be deleted. The Grid updates this resource to reflect the
|
||
current number of heading columns every time a heading column is
|
||
added or removed.
|
||
.IP XmNheadingRows
|
||
The number of heading rows. Setting this value will add heading rows
|
||
to the Grid if the value set is greater than the current number
|
||
of heading rows. Likewise, setting this value to a number less
|
||
than the current number of heading rows will cause heading rows
|
||
to be deleted. The Grid updates this resource to reflect the
|
||
current number of heading rows every time a heading row is
|
||
added or removed.
|
||
.IP XmNhiddenColumns
|
||
The total number of hidden columns. The Grid updates this
|
||
resource every time a column is hidden or unhidden. Hidden
|
||
columns are columns with a width of 0.
|
||
.IP XmNhiddenRows
|
||
The total number of hidden rows. The Grid updates this resource
|
||
every time a row is hidden or unhidden. Hidden rows are rows
|
||
with a height of 0.
|
||
.IP XmNhighlightRowMode
|
||
If True, a highlight is drawn around the entire row
|
||
containing the cell which has focus instead of just
|
||
around the current cell which has focus. If False (the default),
|
||
when a cell has focus, the highlight will be drawn only
|
||
around that cell.
|
||
.IP XmNhighlightThickness
|
||
The thickness of the highlight rectangle drawn in cells with focus.
|
||
This value must be 0 or 2.
|
||
.IP XmNhorizontalScrollBar
|
||
The widget ID of the Grid's horizontal ScrollBar.
|
||
.IP XmNhorizontalSizePolicy
|
||
Determines how the Grid sizes itself horizontally. Possible values:
|
||
|
||
.nf
|
||
XmVARIABLE /* Grid always requests full
|
||
width */
|
||
XmCONSTANT /* user or parent sets Grid
|
||
width and scrollbar is
|
||
displayed if required */
|
||
.fi
|
||
|
||
If this value is XmVARIABLE, the Grid determines the amount of
|
||
horizontal space required to display the entire Grid and
|
||
requests this space from its parent. When the width of the Grid
|
||
changes, it will request more or less space causing it to
|
||
shrink or expand as its parent widget allows. It will appear
|
||
truncated, without a horizontal ScrollBar, if not enough
|
||
space is given by the parent. If this value is XmCONSTANT the
|
||
user or the parent widget must define the Grid’s width and a
|
||
horizontal ScrollBar will appear if needed.
|
||
.IP XmNhsbDisplayPolicy
|
||
When XmNhorizontalSizePolicy is XmCONSTANT, this resource
|
||
controls whether to display the horizontal scroll bar if
|
||
all rows fit in the viewing area. Possible values:
|
||
|
||
.nf
|
||
XmSTATIC /* scrollbar always displays */
|
||
XmAS_NEEDED /* scrolbar only displayed when
|
||
scrolling is possible */
|
||
.fi
|
||
.IP XmNimmediateDraw
|
||
If False (the default), the Grid queues up and compresses
|
||
drawing events. For example, if you change a cell's background
|
||
and later change the cell's foreground, the Grid will only
|
||
draw the cell once to reflect the changes. This drawing
|
||
compression includes sending expose events to the X Server.
|
||
If you do not want the Grid to queue and compress drawing events,
|
||
you should set this value to True. You would want to set
|
||
this resource to True in the case where you had a very slow
|
||
connection to an X Server (over a serial line for instance).
|
||
If set to True and the line to the X Server is slow, more
|
||
drawing will be performed but the the drawing will show up faster.
|
||
.IP XmNlayoutFrozen
|
||
If True, the Grid's layout is frozen and the Grid will not
|
||
recompute its layout until this resource is set to False. When
|
||
this resource is set back to False, the layout will be recomputed
|
||
and the entire Grid will redraw. When rows or columns are added
|
||
to or deleted from the Grid, or if row heights, column widths or
|
||
margins are changed, the Grid must recompute its layout by determining which
|
||
cells to display on the screen. If a number of changes to the
|
||
Grid layout are going to take place, then by setting this resource
|
||
to True before executing the first change and setting it to False after
|
||
the last change is requested, the Grid will not recompute its
|
||
layout after each change. Setting this value will not affect what
|
||
is displayed on the screen as it is only used to increase performance. If
|
||
only a single layout change is requested, such as when adding or
|
||
deleting a single range of rows or columns, this resource should
|
||
not be used in an attempt to increase performance as the change
|
||
may not require a redraw of the Grid. This resource should also
|
||
not be used around code which does not cause the Grid to recompute
|
||
its layout, such as changing cell or border colors, as that
|
||
would decrease performance.
|
||
.IP XmNleftFixedCount
|
||
The number of fixed columns at the left of the Grid including
|
||
heading columns. Since heading columns must be fixed, this
|
||
value may not be set smaller than the number of heading columns. If
|
||
this value is greater than the total number of columns, then
|
||
as additional columns are added they will be fixed until this
|
||
value is reached.
|
||
.IP XmNleftFixedMargin
|
||
The width, in pixels, of the margin between the left fixed
|
||
columns and any columns to their right.
|
||
.IP XmNrightFixedCount
|
||
The number of fixed columns at the right of the Grid including
|
||
footer columns. Since footer columns must be fixed, this value
|
||
may not be set smaller than the number of footer columns. If
|
||
this value is greater than the total number of columns, then
|
||
as additional columns are added they will be fixed until this
|
||
value is reached.
|
||
.IP XmNrightFixedMargin
|
||
The width, in pixels, of the margin between the right fixed
|
||
columns and any columns to their left.
|
||
.IP XmNrows
|
||
The number of content rows. Setting this value will add content
|
||
rows to the Grid if the value set is greater than the current number
|
||
of content rows. Likewise, setting this value to a number less
|
||
than the current number of content rows will cause content rows
|
||
to be deleted. The Grid updates this resource to reflect the
|
||
current number of content rows every time a content row is
|
||
added or removed. To get the total number of rows in the
|
||
Grid (heading, content and footer) add this value to the number
|
||
of heading and footer rows.
|
||
.IP XmNscrollBarMargin
|
||
The margin, in pixels, between the ScrollBars and the displayed cells.
|
||
.IP XmNscrollColumn
|
||
The left-most scrolling content column currently displayed.
|
||
This value may be set to change the current scroll position.
|
||
If setting this value causes the scroll position to change, the Grid's scroll
|
||
callbacks will be called. If this value is set greater than the
|
||
last possible scrolling column, the Grid will scroll to the last
|
||
possible scrolling column. If this value is set less than the first possible
|
||
scrolling column, the Grid will scroll to the first possible scrolling column.
|
||
.IP XmNscrollRow
|
||
The top scrolling content row currently displayed. This value
|
||
may be set to change the current scroll position. If setting this
|
||
value causes the scroll position to change, the Grid's scroll
|
||
callbacks will be called. If this value is set greater than the
|
||
last possible scrolling row, the Grid will scroll to the last
|
||
possible scrolling row. If this value is set less than the first possible
|
||
scrolling row, the Grid will scroll to the first possible scrolling row.
|
||
.IP XmNselectBackground
|
||
The background color of cells, rows or columns which are
|
||
currently selected. This value is initially set to the foreground
|
||
color of the Grid widget.
|
||
.IP XmNselectForeground
|
||
The foreground color of cells, rows or columns which are
|
||
currently selected. This value is initially set to the background
|
||
color of the Grid widget.
|
||
.IP XmNselectionPolicy
|
||
Determines the types of selections allowed in the Grid.
|
||
In SELECT_NONE mode, user selections have no effect by default and
|
||
cell select callbacks are called each time a user selects a cell. The
|
||
application may set selections of rows/columns or cells. In
|
||
SELECT_SINGLE_ROW mode, one or zero content rows may be selected.
|
||
In SELECT_BROWSE_ROW mode, one content row must be selected at all
|
||
times. In SELECT_MULTIPLE_ROW, multiple content rows
|
||
may be selected. In any of the SELECT_..._ROW modes, when cells
|
||
in heading or footer rows are selected by a user, the Grid will
|
||
call its cell select callbacks. Therefore, the application must
|
||
be sure to check the type of selection made in its select
|
||
callback(s). In SELECT_CELL mode, arbitrary regions of cells
|
||
in content rows and content columns may be selected. A user
|
||
may select cells in heading rows to select columns and cells
|
||
in heading columns to select rows. Possible values:
|
||
|
||
.nf
|
||
XmSELECT_NONE /* no selections */
|
||
XmSELECT_SINGLE_ROW /* 0 or 1 row selection */
|
||
XmSELECT_BROWSE_ROW /* 1 row selection */
|
||
XmSELECT_MULTIPLE_ROW /* multiple row selection */
|
||
XmSELECT_CELL /* multiple row, column,
|
||
cell selections */
|
||
.fi
|
||
|
||
.IP XmNshadowRegions
|
||
Determines which regions are drawn with shadows. There are 9 regions
|
||
in the Grid numbered as follows:
|
||
|
||
.nf
|
||
1 2 4
|
||
8 16 32
|
||
64 128 256
|
||
.fi
|
||
|
||
Where 1, 2 and 4 combine to make the top fixed rows. 1, 8 and 64
|
||
combine into the left fixed columns, 16 is the scrolling region,
|
||
etc. The value should be set to the summation of the region’s
|
||
numbers which should be drawn with a shadow. For example, if
|
||
this value is set to 428 (64 + 128 + 256) the Grid will draw
|
||
a shadow box around each region in the bottom row. Regions not
|
||
included are drawn without shadows.
|
||
.IP XmNshadowType
|
||
The type of shadows to draw around the regions of the Grid.
|
||
Possible values:
|
||
|
||
.nf
|
||
XmSHADOW_ETCHED_IN /* etched in appearance */
|
||
XmSHADOW_ETCHED_OUT /* etched out appearance */
|
||
XmSHADOW_IN /* inset appearance */
|
||
XmSHADOW_OUT /* outset appearance */
|
||
.fi
|
||
.IP XmNsimpleHeadings
|
||
This resource may be used to set cell strings in the first
|
||
heading row in a Grid with a simple C string. The value passed
|
||
should be a null-terminated C string containing headings
|
||
separated by the pipe symbol. A heading row must exist at
|
||
the time of this call which contains the number of cells
|
||
which will be affected or the Grid will generate a warning.
|
||
The following example sets the headings of a Grid to "First",
|
||
"Second" and "Third":
|
||
|
||
.nf
|
||
XtVaSetValues(grid,
|
||
XmNsimpleHeadings, "First|Second|Third",
|
||
NULL);
|
||
.fi
|
||
|
||
The Grid makes a copy of the string passed to it for this resource
|
||
in a SetValues call. The Grid will return a pointer to this
|
||
internal copy of the string if GetValues is called for this resource
|
||
and the pointer returned should not be freed by an application.
|
||
.IP XmNsimpleWidths
|
||
This resource may be used to set the widths of columns in a Grid.
|
||
The value passed should be a null-terminated C string containing
|
||
numbers specifying widths and a letter 'p' or 'c' following the
|
||
number to indicate whether the width is in pixels or characters.
|
||
A space should be used after each letter to separate columns.
|
||
The columns affected by the call must exist at the time
|
||
a value is set, or the Grid will generate a warning. The
|
||
following example sets the width of the first column
|
||
to 10 characters wide and the second column to 20 pixels wide:
|
||
|
||
.nf
|
||
XtVaSetValues(grid,
|
||
XmNsimpleWidths, "10c 20p",
|
||
NULL);
|
||
.fi
|
||
|
||
The Grid makes a copy of the string passed to it for this resource
|
||
in a SetValues call. The Grid will return a pointer to this
|
||
internal copy of the string if GetValues is called for this resource
|
||
and the pointer returned should not be freed by an application.
|
||
.IP XmNtextWidget
|
||
The widget ID of the Grid's Text widget.
|
||
.IP XmNtopFixedCount
|
||
The number of fixed rows at the top of the Grid including
|
||
heading rows. Since heading rows must be fixed, this value may
|
||
not be set smaller than the number of heading rows. If this value is
|
||
greater than the total number of rows, then as additional rows
|
||
are added they will be fixed until this value is reached.
|
||
.IP XmNtopFixedMargin
|
||
The height, in pixels, of the margin between the top fixed rows
|
||
and any rows below them.
|
||
.IP XmNtraverseTranslations
|
||
The translations merged into the Text widget child of the Grid
|
||
when the Grid goes from edit mode into traverse mode.
|
||
.IP XmNuseAverageFontWidth
|
||
Cells in the Grid which contain text calculate their preferred
|
||
width based on the font list character width of the font list
|
||
assigned to the cell. The Grid calculates the font list character
|
||
width when font lists are assigned to cells. If the value of
|
||
this resource is True, the font list character width will be
|
||
calculated by averaging all of the glyph widths in the font list. If this
|
||
value is False, the font list character width will equal the
|
||
the maximum glyph width in the font list. Changing this resource
|
||
only affects font lists assigned after this value is changed, it does not
|
||
affect the current layout of the Grid. Also, this resource
|
||
only affects cells containing proportional fonts since a fixed
|
||
width font's average glyph width will equal its maximum glyph width.
|
||
.IP XmNverticalScrollBar
|
||
The widget ID of the Grid's vertical ScrollBar.
|
||
.IP XmNverticalSizePolicy
|
||
Determines how the Grid sizes itself vertically. Possible values:
|
||
|
||
.nf
|
||
XmVARIABLE /* Grid always requests
|
||
full height */
|
||
XmCONSTANT /* user or parent sets Grid
|
||
height and scrollbar is
|
||
displayed if needed */
|
||
.fi
|
||
|
||
If this value is XmVARIABLE, the Grid determines the amount
|
||
of vertical space required to display the entire Grid and
|
||
requests this space from its parent. When the height of the Grid
|
||
changes, it will request more or less space causing it to
|
||
shrink or expand as its parent widget allows. It will appear
|
||
truncated, without a vertical ScrollBar, if not enough space
|
||
is given by the parent. If this value is XmCONSTANT the user or
|
||
the parent widget must define the Grids height and a vertical
|
||
ScrollBar will appear if needed.
|
||
.IP XmNvisibleColumns
|
||
Setting this resource causes the Grid to request a width from
|
||
its parent equal to the value set multiplied by the width of
|
||
a standard 8 character wide cell. The actual width in pixels
|
||
requested is:
|
||
|
||
.nf
|
||
shadowThickness * 2 + value * (4 + 8 * defaultFontWidth +
|
||
defaultLeftMargin + defaultRightMargin)
|
||
.fi
|
||
|
||
The width requested is not determined using any existing column
|
||
values. For example, if you have 3 columns which are each 20
|
||
characters wide and you set XmNvisibleColumns to 3, the width
|
||
requested will not fit the 3 columns of 20 characters, it will
|
||
fit 3 columns of 8 characters (without Grid borders). The width
|
||
requested does depend on the default font in the Grid, however,
|
||
to determine the width of a standard 8 character wide cell.
|
||
If you want the Grid to request a width equal to the width of
|
||
the existing columns, see the XmNhorizontalSizePolicy resource's
|
||
XmVARIABLE setting.
|
||
.IP XmNvisibleRows
|
||
Setting this resource causes the Grid to request a height from
|
||
its parent equal to the value set multiplied by the height
|
||
of a default 1 character height cell. The actual height in pixels
|
||
requested is:
|
||
|
||
.nf
|
||
shadowThickness * 2 + value * (4 + defaultFontHeight +
|
||
defaultTopMargin + defaultBottomMargin)
|
||
.fi
|
||
|
||
The height requested is not determined using any existing row
|
||
values. For example, if you have 10 rows which are each 3
|
||
characters high and you set XmNvisibleRows to 10, the height
|
||
requested will not fit the 10 existing rows, it will fit
|
||
fit 10 rows of 1 character height (without Grid borders).
|
||
The height requested does depend on the default font in the
|
||
Grid, however, to determine the height of a standard cell.
|
||
If you want the Grid to request a height equal to the height of
|
||
the existing rows, see the XmNverticalSizePolicy resource's
|
||
XmVARIABLE setting.
|
||
.IP XmNvsbDisplayPolicy
|
||
When XmNverticalSizePolicy is XmCONSTANT, this resource
|
||
controls whether to display the vertical scroll bar if
|
||
all rows fit in the viewing area. Possible values:
|
||
|
||
.nf
|
||
XmSTATIC /* scrollbar always displays */
|
||
XmAS_NEEDED /* scrolbar only displayed when
|
||
scrolling is possible */
|
||
.fi
|
||
.SS Row/Column/Cell Resources
|
||
Grid defines the resources in the table below affecting rows,
|
||
columns and cells. A SetValues call can set values for a
|
||
single column using XmNcolumn or for a range of columns using
|
||
XmNcolumnRangeStart and XmNcolumnRangeEnd. Row values can be
|
||
set using XmNrow or XmNrowRangeStart and XmNrowRangeEnd.
|
||
Cell values can be set for a single cell using XmNcolumn and
|
||
XmNrow, or a range of cells using a variety of combinations
|
||
of row and column specifications. A GetValues call can retrieve
|
||
values for a column using XmNcolumnPtr, a row using XmNrowPtr,
|
||
and a cell using both XmNcolumnPtr and XmNrowPtr.
|
||
|
||
.nf
|
||
.ft B
|
||
Name Class
|
||
Type Default Access
|
||
.ft P
|
||
XmNcellAlignment XmCCellAlignment
|
||
unsigned char XmALIGNMENT_CENTER SG
|
||
XmNcellBackground XmCCellBackground
|
||
Pixel Dynamic SG
|
||
XmNcellBottomBorderColor XmCCellBottomBorderColor
|
||
Pixel Dynamic SG
|
||
XmNcellBottomBorderType XmCBottomBorderType
|
||
unsigned char XmBORDER_LINE SG
|
||
XmNcellColumnSpan XmCCellColumnSpan
|
||
int 0 SG
|
||
XmNcellDefaults XmCCellDefaults
|
||
Boolean False S
|
||
XmNcellEditable XmCCellEditable
|
||
Boolean False SG
|
||
XmNcellFontList XmCCellFontList
|
||
XmFontList Dynamic SG
|
||
XmNcellForeground XmCCellForeground
|
||
Pixel Dynamic SG
|
||
XmNcellLeftBorderColor XmCCellLeftBorderColor
|
||
Pixel Dynamic SG
|
||
XmNcellLeftBorderType XmCCellLeftBorderType
|
||
unsigned char XmBORDER_LINE SG
|
||
XmNcellMarginBottom XmCCellMarginBottom
|
||
Dimension 0 SG
|
||
XmNcellMarginLeft XmCCellMarginLeft
|
||
Dimension 0 SG
|
||
XmNcellMarginRight XmCCellMarginRight
|
||
Dimension 0 SG
|
||
XmNcellMarginTop XmCCellMarginTop
|
||
Dimension 0 SG
|
||
XmNcellPixmap XmCCellPixmap
|
||
Pixmap XmUNSPECIFIED_PIXMAP SG
|
||
XmNcellPixmapMask XmCCellPixmapMask
|
||
Pixmap XmUNSPECIFIED_PIXMAP SG
|
||
XmNcellRightBorderColor XmCCellRightBorderColor
|
||
Pixel Dynamic SG
|
||
XmNcellRightBorderType XmCCellRightBorderType
|
||
unsigned char XmBORDER_LINE SG
|
||
XmNcellRowSpan XmCCellRowSpan
|
||
int 0 SG
|
||
XmNcellString XmCXmString
|
||
XmString NULL SG
|
||
XmNcellTopBorderColor XmCCellTopBorderColor
|
||
Pixel Dynamic SG
|
||
XmNcellTopBorderType XmCCellTopBorderType
|
||
unsigned char XmBORDER_LINE SG
|
||
XmNcellType XmCCellType
|
||
unsigned char XmSTRING_CELL SG
|
||
XmNcellUserData XmCUserData
|
||
XtPointer 0 SG
|
||
XmNcolumn XmCGridColumn
|
||
int -1 S
|
||
XmNcolumnPtr (none)
|
||
XtPointer 0 G
|
||
XmNcolumnRangeEnd XmCColumnRangeEnd
|
||
int -1 S
|
||
XmNcolumnRangeStart XmCColumnRangeStart
|
||
int -1 S
|
||
XmNcolumnSizePolicy XmCColumnSizePolicy
|
||
unsigned char XmVARIABLE SG
|
||
XmNcolumnStep XmCColumnStep
|
||
int 1 S
|
||
XmNcolumnType XmCColumnType
|
||
unsigned char XmCONTENT S
|
||
XmNcolumnWidth XmCColumnWidth
|
||
Dimension 8 SG
|
||
XmNcolumnUserData XmCUserData
|
||
XtPointer 0 SG
|
||
XmNrow XmCGridRow
|
||
int -1 S
|
||
XmNrowHeight XmCRowHeight
|
||
Dimension 1 SG
|
||
XmNrowPtr (none)
|
||
XtPointer 0 G
|
||
XmNrowRangeEnd XmCRowRangeEnd
|
||
int -1 S
|
||
XmNrowRangeStart XmCRowRangeStart
|
||
int -1 S
|
||
XmNrowSizePolicy XmCRowSizePolicy
|
||
unsigned char XmVARIABLE SG
|
||
XmNrowStep XmCRowStep
|
||
int 1 S
|
||
XmNrowType XmCRowType
|
||
unsigned char XmCONTENT S
|
||
XmNrowUserData XmCUserData
|
||
XtPointer 0 SG
|
||
.fi
|
||
.IP XmNcellAlignment
|
||
Determines the alignment of the XmString or Pixmap contained in
|
||
the cell. Possible values:
|
||
|
||
.nf
|
||
XmALIGNMENT_LEFT /* left, centered vertically */
|
||
XmALIGNMENT_CENTER /* centered horizontally and
|
||
vertically */
|
||
XmALIGNMENT_RIGHT /* right, centered vertically */
|
||
XmALIGNMENT_TOP_LEFT /* top left */
|
||
XmALIGNMENT_TOP /* top, centered horizontally */
|
||
XmALIGNMENT_TOP_RIGHT /* top right */
|
||
XmALIGNMENT_BOTTOM_LEFT /* bottom left */
|
||
XmALIGNMENT_BOTTOM /* bottom, centered horizontally */
|
||
XmALIGNMENT_BOTTOM_RIGHT /* bottom right */
|
||
.fi
|
||
|
||
If a cell Pixmap does not have a width or height set, the
|
||
cell's alignment will be top left regardless of the value of
|
||
this resource since any other alignment could not be calculated.
|
||
.IP XmNcellBackground
|
||
The cell's background color.
|
||
.IP XmNcellBottomBorderColor
|
||
The color of the cell's bottom border. If the cell's bottom
|
||
border type is XmBORDER_NONE, no bottom border will be drawn and this
|
||
resource has no effect. The default value of this resource is the
|
||
bottom shadow color of the Grid.
|
||
.IP XmNcellBottomBorderType
|
||
Determines the type of border to draw at the bottom of
|
||
the cell. Possible values:
|
||
|
||
.nf
|
||
XmBORDER_NONE /* no border */
|
||
XmBORDER_DASH /* dashed line */
|
||
XmBORDER_LINE /* line border */
|
||
.fi
|
||
|
||
.IP XmNcellColumnSpan
|
||
The number of columns to the right that are spanned by this cell.
|
||
You may combine this with a row span to span both rows and columns.
|
||
When a cell spans into adjacent cells, those spanned cells are
|
||
not displayed; instead, the contents of the spanning cell are
|
||
displayed in the spanned area. This effectively makes the spanning
|
||
cell larger while not changing the cell's row or column size.
|
||
If cell spans overlap, the visual behavior of the spanned cells
|
||
will become undefined. If rows or columns are added or deleted
|
||
inside a spanned area, the visual behavior of the spanned
|
||
cells will become undefined. If rows or columns are moved or
|
||
reordered in a way which does not preserve existing cell spans,
|
||
the visual behavior of the spanned cells will become undefined. The
|
||
width of a column span in pixels cannnot exceed the maximum
|
||
value of the type Dimension. Setting a column span on a cell
|
||
sets its preferred cell width to 4 pixels. All cells in a span must
|
||
exist at the time the span is set.
|
||
.IP XmNcellDefaults
|
||
Setting this value to True in a SetValues call indicates that
|
||
the call is setting the default cell values. The default cell
|
||
values can be assigned on a per-column basis by setting this
|
||
resource to True and setting a column (using XmNcolumn) or a
|
||
range of columns in the SetValues call. For example, to set
|
||
the default editibility for cells in column 0 to editable,
|
||
you could:
|
||
|
||
.nf
|
||
XtVaSetValues(grid,
|
||
XmNcellDefaults, True,
|
||
XmNcolumn, 0,
|
||
XmNcellEditable, True,
|
||
NULL);
|
||
.fi
|
||
|
||
This specifies that any cell created (cells are created by adding
|
||
rows or columns) in column 0 will be editable by default. If you
|
||
do not specify a column in a SetValues call where XmNcellDefaults is
|
||
True, the default cell values in the call will be set for all columns.
|
||
Inotherwords, it will set the defaults for any new cell created.
|
||
This value is always reset to False after a SetValues call completes.
|
||
.IP XmNcellEditable
|
||
Allow (True) or disallow (False) a user either by typing,
|
||
using a cut/paste or drag/drop operation, to edit the
|
||
cell. This may only be set to True for cells with a XmNcellType
|
||
of XmSTRING_CELL.
|
||
.IP XmNcellFontList
|
||
The font list used for the cell's text. By default, the value
|
||
of this resource is set to the Grid's XmNfontList. Changing this
|
||
value may cause the row or column containing the cell to resize if
|
||
the row's XmNrowSizePolicy or the column's XmNcolumnSizePolicy
|
||
is XmVARIABLE.
|
||
.IP XmNcellForeground
|
||
The cell's foreground color.
|
||
.IP XmNcellLeftBorderColor
|
||
The color of the cell's left border. If the cell's left border
|
||
type is XmBORDER_NONE, no left border will be drawn and this resource
|
||
has no effect. The default value of this resource is the top shadow
|
||
color of the Grid.
|
||
.IP XmNcellLeftBorderType
|
||
Determines the type of border to draw at the left of the cell.
|
||
Possible values:
|
||
|
||
.nf
|
||
XmBORDER_NONE /* no border */
|
||
XmBORDER_DASH /* dashed line */
|
||
XmBORDER_LINE /* line border */
|
||
.fi
|
||
|
||
.IP XmNcellMarginBottom
|
||
The height, in pixels, of the margin between the bottom of
|
||
the cell and the cell's contents.
|
||
.IP XmNcellMarginLeft
|
||
The width, in pixels, of the margin between the left of
|
||
the cell and the cell's contents.
|
||
.IP XmNcellMarginRight
|
||
The width, in pixels, of the margin between the right of
|
||
the cell and the cell's contents.
|
||
.IP XmNcellMarginTop
|
||
The height, in pixels, of the margin between the top of
|
||
the cell and the cell's contents.
|
||
.IP XmNcellPixmap
|
||
The Pixmap to draw in the cell if the cell's type is XmPIXMAP_CELL.
|
||
As in other widgets, the Grid does not make a copy of the Pixmap.
|
||
Therefore, the Pixmap should not be freed until it is
|
||
no longer required to be displayed by the Grid. Changing this
|
||
value may cause the row or column containing the cell to resize
|
||
if the row's XmNrowSizePolicy or the column's XmNcolumnSizePolicy
|
||
is XmVARIABLE. This value may be XmUNSPECIFIED_PIXMAP.
|
||
.IP XmNcellPixmapMask
|
||
The pixmap mask to use when drawing a cell if the cell's type is
|
||
XmPIXMAP_CELL. This value must be either XmUNSPECIFIED_PIXMAP (the
|
||
default) or a Pixmap of depth 1. If set to a Pixmap of depth 1,
|
||
the Pixmap specified will be used as a mask for drawing the cell's
|
||
contents. As in other widgets, the Grid does not make a copy of
|
||
the Pixmap passed. Therefore, the Pixmap should not be freed until
|
||
it is no longer required to be used by the Grid.
|
||
.IP XmNcellRightBorderColor
|
||
The color of the cell's right border. If the cell's right border
|
||
type is XmBORDER_NONE, no right border will be drawn and this resource
|
||
has no effect. The default value of this resource is the bottom
|
||
shadow color of the Grid.
|
||
.IP XmNcellRightBorderType
|
||
Determines the type of border to draw at the right of the cell.
|
||
Possible values:
|
||
|
||
.nf
|
||
XmBORDER_NONE /* no border */
|
||
XmBORDER_DASH /* dashed line */
|
||
XmBORDER_LINE /* line border */
|
||
.fi
|
||
|
||
.IP XmNcellRowSpan
|
||
The number of rows below that are spanned by this cell. You may
|
||
combine this with a column span to span both rows and columns.
|
||
When a cell spans into adjacent cells, those spanned cells
|
||
are not displayed; instead, the contents of the spanning cell
|
||
are displayed in the spanned area. This effectively makes the
|
||
spanning cell larger while not changing the cell's row or column size.
|
||
If cell spans overlap, the visual behavior of the spanned cells
|
||
will become undefined. If rows or columns are added or deleted
|
||
inside a spanned area, the visual behavior of the spanned cells will
|
||
become undefined. If rows or columns are moved or reordered in
|
||
a way which does not preserve existing cell spans, the visual
|
||
behavior of the spanned cells will become undefined. The height
|
||
of a row span in pixels cannnot exceed the maximum value of the
|
||
type Dimension. Setting a row span on a cell sets its preferred
|
||
cell height to 4 pixels. All cells in a span must exist at the time
|
||
the span is set.
|
||
.IP XmNcellString
|
||
The compound string to draw in the cell if the cell's type
|
||
is XmSTRING_CELL. As in other widgets, the Grid
|
||
makes a copy of the string and so the string may be freed after
|
||
it is used to set this value. Retrieving this value will return
|
||
a copy of the cell's string, therefore the retrieved string should
|
||
be freed when it will no longer be used. This value
|
||
may be NULL.
|
||
.IP XmNcellTopBorderColor
|
||
The color of the cell's top border. If the cell's top border
|
||
type is XmBORDER_NONE, no top border will be drawn and this resource
|
||
has no effect. The default value of this resource is the top shadow color
|
||
of the Grid.
|
||
.IP XmNcellTopBorderType
|
||
Determines the type of border to draw at the top of the cell.
|
||
Possible values:
|
||
|
||
.nf
|
||
XmBORDER_NONE /* no border */
|
||
XmBORDER_DASH /* dashed line */
|
||
XmBORDER_LINE /* line border */
|
||
.fi
|
||
|
||
.IP XmNcellType
|
||
The type of the cell. Possible values:
|
||
|
||
.nf
|
||
XmSTRING_CELL /* cell displaying XmString */
|
||
XmPIXMAP_CELL /* cell displaying a Pixmap */
|
||
.fi
|
||
|
||
Changing this value may cause the row or column containing the
|
||
cell to resize if the row's XmNrowSizePolicy or the column's
|
||
XmNcolumnSizePolicy is XmVARIABLE. Changing a cell's type from
|
||
XmSTRING_CELL to XmPIXMAP_CELL will free the XmNcellString
|
||
currently contained in the cell and will set the XmNcellString
|
||
to NULL. Changing from XmPIXMAP_CELL to XmSTRING_CELL will
|
||
cause the cell's XmNcellPixmap to be set to XmUNSPECIFIED_PIXMAP.
|
||
.IP XmNcellUserData
|
||
A pointer value unused by the Grid. This resource allows you
|
||
to attach a pointer to any cell in the Grid.
|
||
.IP XmNcolumn
|
||
Defines which column(s) or cell(s) a SetValues call will affect.
|
||
A value of -1 (the default) means all columns. This value is
|
||
always reset to -1 after the SetValues call completes. The value of 0
|
||
defines the first column of a column type. This resource may not
|
||
be used in a GetValues call.
|
||
.IP XmNcolumnPtr
|
||
Defines which column, or column a cell is contained in, a
|
||
GetValues call should retrieve values for. This value is a
|
||
pointer to a column which should be obtained using XmLGridGetColumn().
|
||
This resource may not be used in a SetValues call.
|
||
.IP XmNcolumnRangeEnd
|
||
Defines the last column or column of cells in a range which a
|
||
SetValues call will affect. This resource may not be used in a
|
||
GetValues call. This resource must be used with the
|
||
XmNcolumnRangeStart resource.
|
||
.IP XmNcolumnRangeStart
|
||
Defines the first column or column of cells in a range which
|
||
a SetValues call will affect. This resource may not be used
|
||
in a GetValues call. This resource must be used with the
|
||
XmNcolumnRangeEnd resource.
|
||
.IP XmNcolumnSizePolicy
|
||
Defines how the column width is determined. Possible values:
|
||
|
||
.nf
|
||
XmCONSTANT /* column size is fixed */
|
||
XmVARIABLE /* column may resize when
|
||
cell size changes */
|
||
.fi
|
||
|
||
If XmVARIABLE, the column will size itself to the maximum
|
||
preferred width of the column's cells. For cells containing text,
|
||
this usually equals the cell's average or maximum font list glyph
|
||
width multiplied by the XmNcolumnWidth (plus space for borders, etc).
|
||
If XmCONSTANT, the XmNcolumnWidth value is assumed to be in
|
||
pixels and the column width will equal that value.
|
||
.IP XmNcolumnStep
|
||
Defines the column increment when setting values of multiple
|
||
columns or cells in a SetValues call. For example, a column
|
||
step of 2 will skip every other column. This value is 1 by default
|
||
and will reset to 1 after a SetValues call completes.
|
||
.IP XmNcolumnType
|
||
Defines which type of columns or cells a SetValues call will
|
||
affect. This resource may not be used in a GetValues call.
|
||
Possible values:
|
||
|
||
.nf
|
||
XmALL_TYPES /* all column types - heading, content
|
||
and footer */
|
||
XmCONTENT /* columns containing the Grid's
|
||
contents */
|
||
XmHEADING /* heading columns on the far left */
|
||
XmFOOTER /* footer columns on the far right */
|
||
.fi
|
||
|
||
This resource is used along with XmNcolumn or XmNcolumnRangeStart and
|
||
XmNcolumnRangeEnd and determines which type of column the column or
|
||
column range specifies. By default, this value is set to XmCONTENT.
|
||
This value is always reset to XmCONTENT after a SetValues call completes.
|
||
.IP XmNcolumnUserData
|
||
A pointer value unused by the Grid. This resource allows you
|
||
to attach a pointer to any column in the Grid.
|
||
.IP XmNcolumnWidth
|
||
If XmNcolumnSizePolicy is XmVARIABLE, the value of this resource
|
||
represents the column width in characters and if a font list in
|
||
any cell in the column is changed, the column will resize
|
||
if required. The pixel width of a column is determined by the
|
||
maximum preferred width of the column's cells. Cells containing
|
||
text usually determine their preferred width by multiplying the
|
||
cell's average or maximum font list glyph width by the column's
|
||
XmNcolumnWidth. Pixmap cells ignore this resource since their
|
||
preferred width is the width of their pixmap. If
|
||
XmNcolumnSizePolicy is XmCONSTANT, the value of this resource
|
||
represents the column width in pixels.
|
||
.IP XmNrow
|
||
Defines which row(s) or cell(s) a SetValues call will affect.
|
||
A value of -1 (the default) means all rows. The value of 0
|
||
defines the first row of a row type. This value is always
|
||
reset to -1 after a SetValues call completes. This resource
|
||
may not be used in a GetValues call.
|
||
.IP XmNrowHeight
|
||
If XmNrowSizePolicy is XmVARIABLE, the value of this resource
|
||
represents the row height in characters and if a font list in
|
||
any cell in this row is changed, the row will resize if required. The
|
||
pixel height of a row is determined by the maximum preferred
|
||
height of the row's cells. Cells containing text usually determine
|
||
their preferred height by taking their maximum font list
|
||
character height and multiplying it by the row's XmNrowHeight.
|
||
Pixmap cells ignore this resource since their preferred height
|
||
is the height of their pixmap. If XmNrowSizePolicy is
|
||
XmCONSTANT, the value of this resource represents the row height in pixels.
|
||
.IP XmNrowPtr
|
||
Defines which row, or row a cell is contained in, a GetValues
|
||
call should retrieve values for. This value is a pointer to a
|
||
row which should be obtained using XmLGridGetRow(). This
|
||
resource may not be used in a SetValues call.
|
||
.IP XmNrowRangeEnd
|
||
Defines the last row or row of cells in a range which a SetValues
|
||
call will affect. This resource may not be used in a GetValues
|
||
call. This resource must be used with the XmNrowRangeStart resource.
|
||
.IP XmNrowRangeStart
|
||
Defines the first row or row of cells in a range which a SetValues
|
||
call will affect. This resource may not be used in a GetValues call.
|
||
This resource must be used with the XmNrowRangeEnd resource.
|
||
.IP XmNrowSizePolicy
|
||
Defines how the row height is determined. Possible values:
|
||
|
||
.nf
|
||
XmCONSTANT /* row size is fixed */
|
||
XmVARIABLE /* row may resize when cell
|
||
size changes */
|
||
.fi
|
||
|
||
If XmVARIABLE, the row will size itself to the maximum preferred
|
||
height of the row's cells. For cells containing text, this usually
|
||
equals the cell's maximum font list glyph height multiplied
|
||
by the XmNrowHeight (plus space for borders, etc). If XmCONSTANT,
|
||
the XmNrowHeight value is assumed to be in pixels and the row
|
||
height will equal that value.
|
||
.IP XmNrowStep
|
||
Defines the row increment when setting values of multiple rows
|
||
or cells in a SetValues call. For example, a row step of 2 will
|
||
skip every other row. This value is 1 by default and will reset to 1
|
||
when a SetValue call completes.
|
||
.IP XmNrowType
|
||
Defines which type of rows or cells a SetValues call will affect.
|
||
This resource may not be used in a GetValues call. Possible values:
|
||
|
||
.nf
|
||
XmALL_TYPES /* all row types - heading/content
|
||
and footer */
|
||
XmCONTENT /* rows containing the Grid's contents */
|
||
XmHEADING /* heading rows on the top */
|
||
XmFOOTER /* footer rows on the bottom */
|
||
.fi
|
||
|
||
This resource is used along with XmNrow or XmNrowRangeStart and
|
||
XmNrowRangeEnd and determines which type of row the row or row
|
||
range specifies. By default, this value is set to XmCONTENT.
|
||
This value is always reset to XmCONTENT after a SetValues call completes.
|
||
.IP XmNrowUserData
|
||
A pointer value unused by the Grid. This resource allows you
|
||
to attach a pointer to any row in the Grid.
|
||
.SS Callback Resources
|
||
Grid defines the following callback resources.
|
||
|
||
.nf
|
||
.ft B
|
||
Callback Reasons Called When
|
||
.ft P
|
||
XmNactivateCallback XmCR_ACTIVATE Cell is activated with
|
||
Return or double-click
|
||
XmNaddCallback XmCR_ADD_CELL Row, column or cell is
|
||
XmCR_ADD_COLUMN created by calling a function
|
||
XmCR_ADD_ROW which adds rows or columns
|
||
XmNcellDrawCallback XmCR_CELL_DRAW Cell is drawn
|
||
XmNcellDropCallback XmCR_CELL_DROP Cell value was changed by new
|
||
value dropped into cell
|
||
XmNcellFocusCallback XmCR_CELL_FOCUS_IN Focus cell is set or changed
|
||
XmCR_CELL_FOCUS_OUT
|
||
XmNcellPasteCallback XmCR_CELL_PASTE Cell value was changed by new
|
||
value pasted into cell
|
||
XmNdeleteCallback XmCR_DELETE_CELL Row, column or cell is
|
||
XmCR_DELETE_COLUMN deleted by calling a
|
||
XmCR_DELETE_ROW function which deletes
|
||
rows or columns
|
||
XmNdeselectCallback XmCR_DESELECT_CELL Row, column or cell
|
||
XmCR_DESELECT_COLUMN changes from selected
|
||
XmCR_DESELECT_ROW to deselected (see also
|
||
XmNselectionPolicy resource)
|
||
XmNeditCallback XmCR_EDIT_BEGIN Cell edit begins, cancels,
|
||
XmCR_EDIT_CANCEL completes or when an
|
||
XmCR_EDIT_COMPLETE insert-begin occurs in
|
||
XmCR_EDIT_INSERT a cell
|
||
XmNresizeCallback XmCR_RESIZE_ROW Row or column is resized
|
||
XmCR_RESIZE_COLUMN interactively
|
||
XmNscrollCallback XmCR_SCROLL_ROW Current scrolled row or
|
||
XmCR_SCROLL_COLUMN column position changes
|
||
XmNselectCallback XmCR_SELECT_CELL Row, column or cell is
|
||
XmCR_SELECT_COLUMN selected (see also
|
||
XmCR_SELECT_ROW XmNselectionPolicy resource)
|
||
.fi
|
||
.SS Callback Structure
|
||
Each callback function is passed a pointer to the structure
|
||
shown below; however, only those values which are meaningful
|
||
for the callback are set.
|
||
|
||
.nf
|
||
typedef struct
|
||
{
|
||
int reason; /* callback reason */
|
||
XEvent *event; /* event causing callback or NULL */
|
||
unsigned char rowType, columnType; /* row and column types */
|
||
int row, int column; /* row and column positions */
|
||
XRectangle *clipRect; /* clipping rectangle */
|
||
XmLGridDrawInfoStruct *drawInfo; /* pointer to draw info */
|
||
void *object; /* reserved */
|
||
} XmLGridCallbackStruct;
|
||
.fi
|
||
|
||
The drawInfo pointer is set to point to the structure below for
|
||
XmNcellDraw callbacks.
|
||
|
||
.nf
|
||
typedef struct
|
||
{
|
||
GC gc; /* GC used for drawing */
|
||
XRectangle *cellRect; /* location/dimensions of
|
||
cell (unclipped) */
|
||
Dimension topMargin; /* cell margins */
|
||
Dimension bottomMargin;
|
||
Dimension leftMargin;
|
||
Dimension rightMargin;
|
||
Pixel foreground; /* cell foreground */
|
||
Pixel background; /* cell background */
|
||
Pixel selectForeground; /* cell foreground if selected */
|
||
Pixel selectBackground; /* cell background if selected */
|
||
XmFontList fontList; /* cell fontlist */
|
||
unsigned char alignment; /* cell alignment */
|
||
Boolean drawSelected; /* True if cell, row or
|
||
column selected */
|
||
int drawFocusType;
|
||
/* type of focus cell has, one of:
|
||
XmDRAW_FOCUS_NONE - cell does not have focus
|
||
XmDRAW_FOCUS_CELL - focus is in cell
|
||
XmDRAW_FOCUS_LEFT - cell is leftmost in focus row
|
||
XmDRAW_FOCUS_RIGHT - cell is rightmost in focus row
|
||
XmDRAW_FOCUS_MID - cell is in middle of focus row */
|
||
|
||
XmStringDirection stringDirection;
|
||
/* direction for string drawing */
|
||
} XmLGridDrawInfoStruct;
|
||
.fi
|
||
|
||
The following table shows which values are set for which callback
|
||
reasons. Elements not set will have undefined values.
|
||
|
||
.nf
|
||
.ft B
|
||
Reason Values Set
|
||
.ft P
|
||
XmCR_ACTIVATE event, rowType, columnType, row, column
|
||
XmCR_ADD_CELL rowType, columnType
|
||
XmCR_ADD_COLUMN columnType
|
||
XmCR_ADD_ROW rowType
|
||
XmCR_CELL_DRAW event, rowType, columnType, row, column,
|
||
clipRect, drawInfo
|
||
XmCR_CELL_DROP rowType, columnType, row, column
|
||
XmCR_CELL_FOCUS_IN rowType, columnType, row, column
|
||
XmCR_CELL_FOCUS_OUT rowType, columnType, row, column
|
||
XmCR_CELL_PASTE rowType, columnType, row, column
|
||
XmCR_DELETE_CELL rowType, columnType
|
||
XmCR_DELETE_COLUMN columnType
|
||
XmCR_DELETE_ROW rowType
|
||
XmCR_DESELECT_CELL event, rowType, columnType, row, column
|
||
XmCR_DESELECT_COLUMN event, columnType, column
|
||
XmCR_DESELECT_ROW event, rowType, row
|
||
XmCR_EDIT_BEGIN rowType, columnType, row, column
|
||
XmCR_EDIT_COMPLETE rowType, columnType, row, column
|
||
XmCR_EDIT_CANCEL rowType, columnType, row, column, clipRect
|
||
XmCR_EDIT_INSERT rowType, columnType, row, column, clipRect
|
||
XmCR_RESIZE_ROW rowType, row
|
||
XmCR_RESIZE_COLUMN columnType, column
|
||
XmCR_SCROLL_ROW rowType, row
|
||
XmCR_SCROLL_COLUMN columnType, column
|
||
XmCR_SELECT_CELL event, rowType, columnType, row, column
|
||
XmCR_SELECT_COLUMN event, columnType, column
|
||
XmCR_SELECT_ROW event, rowType, row
|
||
.ni
|
||
|
||
.SS Inherited Resources
|
||
Grid inherits the resources shown below. The Grid resets its
|
||
default XmNshadow-Thickness to 2.
|
||
|
||
.nf
|
||
.ft B
|
||
Resource From Resource From
|
||
.ft P
|
||
XmNaccelerators Core XmNinitialResourcePersist Core
|
||
XmNancestorSensitive Core XmNinsertPosition Composite
|
||
XmNbackground Core XmNmappedWhenManaged Core
|
||
XmNbackgroundPixmap Core XmNnavagationType Manager
|
||
XmNborderColor Core XmNnumChildren Composite
|
||
XmNborderPixmap Core XmNscreen Core
|
||
XmNborderWidth Core XmNsensitive Core
|
||
XmNbottomShadowColor Manager XmNshadowThicknses Manager
|
||
XmNbottomShadowPixmap Manager XmNstringDirection Manager
|
||
XmNchildren Composite XmNtopShadowColor Manager
|
||
XmNcolormap Core XmNtopShadowPixmap Manager
|
||
XmNdepth Core XmNtranslations Core
|
||
XmNdestroyCallback Core XmNtraversalOn Manager
|
||
XmNforeground Manager XmNunitType Manager
|
||
XmNheight Core XmNuserData Manager
|
||
XmNhelpCallback Manager XmNwidth Core
|
||
XmNhighlightColor Manager XmNx Core
|
||
XmNhighlightPixmap Manager XmNy Core
|
||
.fi
|
||
|
||
.SS Grid Translations
|
||
Grid defines the translations shown below.
|
||
|
||
.nf
|
||
.ft B
|
||
Event Action Event Action
|
||
.ft P
|
||
BSelect Press XmLGridSelect(BEGIN) BExtend Motion XmLGridButtonMotion()
|
||
BExtend Press XmLGridSelect(EXTEND) BToggle Motion XmLGridButtonMotion()
|
||
BToggle Press XmLGridSelect(TOGGLE) BSelect Release XmLGridSelect(END)
|
||
BSelect Motion XmLGridButtonMotion() BExtend Release XmLGridSelect(END)
|
||
BDrag Press XmLGridDragStart()
|
||
.fi
|
||
|
||
.SS Grid Text Traverse Translations
|
||
When the Grid widget enters traverse mode, it overrides its Text
|
||
widget child's translations with those shown below.
|
||
|
||
.nf
|
||
.ft B
|
||
Event Action
|
||
.ft P
|
||
KUp XmLGridTraverse(UP)
|
||
MCtrl KPageDown XmLGridTraverse(PAGE_RIGHT)
|
||
MShift KUp XmLGridTraverse(EXTEND_UP)
|
||
MCtrl MShift KPageDown XmLGridTraverse(EXTEND_ PAGE_RIGHT)
|
||
MCtrl KUp XmLGridTraverse(PAGE_UP)
|
||
KTab XmLGridTraverse(RIGHT)
|
||
KDown XmLGridTraverse(DOWN)
|
||
MShift KTab XmLGridTraverse(LEFT)
|
||
MShift KDown XmLGridTraverse(EXTEND_DOWN)
|
||
KBeginLine XmLGridTraverse(TO_TOP)
|
||
MCtrl KDown XmLGridTraverse(PAGE_DOWN)
|
||
KEndLine XmLGridTraverse(TO_BOTTOM)
|
||
KLeft XmLGridTraverse(LEFT)
|
||
KHome XmLGridTraverse(TO_TOP)
|
||
MShift KLeft XmLGridTraverse(EXTEND_LEFT)
|
||
MCtrl KHome XmLGridTraverse(TO_TOP_LEFT)
|
||
MCtrl KLeft XmLGridTraverse(PAGE_LEFT)
|
||
KEnd XmLGridTraverse(TO_BOTTOM)
|
||
KRight XmLGridTraverse(RIGHT)
|
||
MCtrl KEnd XmLGridTraverse(TO_BOTTOM_RIGHT)
|
||
MShift KRight XmLGridTraverse(EXTEND_RIGHT)
|
||
KInsert XmLGridEdit()
|
||
MCtrl KRight XmLGridTraverse(PAGE_RIGHT)
|
||
KF2 XmLGridEdit()
|
||
KPageUp XmLGridTraverse(PAGE_UP)
|
||
KSelect Press XmLGridSelect(BEGIN)
|
||
MShift KPageUp XmLGridTraverse(EXTEND_ PAGE_UP)
|
||
MCtrl KSelect Press XmLGridSelect(TOGGLE)
|
||
MCtrl KPageUp XmLGridTraverse(PAGE_LEFT)
|
||
KSelect Release XmLGridSelect(END)
|
||
MCtrl MShift KPageUp XmLGridTraverse(EXTEND_ PAGE_LEFT)
|
||
KEntend Press XmLGridSelect(EXTEND)
|
||
KPageDown XmLGridTraverse(PAGE_DOWN)
|
||
KExtend Release XmLGridSelect(END)
|
||
MShift KPageDown XmLGridTraverse(EXTEND_ PAGE_DOWN)
|
||
KActivate XmLGridSelect(ACTIVATE)
|
||
.fi
|
||
|
||
.SS Grid Text Edit Translations
|
||
When the Grid widget enters edit mode, it overrides its Text
|
||
widget child's translations with those shown below.
|
||
|
||
.nf
|
||
.ft B
|
||
Event Action Event Action
|
||
.ft P
|
||
KDown XmLGridEditComplete(DOWN) KCancel XmLGridEditCancel()
|
||
MShift KTab XmLGridEditComplete(LEFT) KActivate XmLGridEditComplete()
|
||
KTab XmLGridEditComplete(RIGHT) KUp XmLGridEditComplete(UP)
|
||
.fi
|
||
|
||
.SS Action Routines
|
||
Grid defines the actions shown below.
|
||
.IP XmLGridButtonMotion()
|
||
Moves any active resize line or extends the current selection if needed.
|
||
.IP XmLGridCursorMotion()
|
||
Changes the cursor to a resize cursor if it is over a resize area.
|
||
.IP XmLGridDragStart()
|
||
Begins a drag of the selected cells if required.
|
||
.IP XmLGridEdit()
|
||
Enters the Grid into edit mode and begins an edit of the current focus cell.
|
||
.IP XmLGridEditCancel()
|
||
Cancels any cell edit in progress and returns the Grid to traverse mode.
|
||
.IP XmLGridEditComplete(direction)
|
||
Completes any edit in progress and traverses in the direction specified.
|
||
.IP XmLGridSelect(mode)
|
||
Begins or completes selection of the mode type given depending
|
||
on the event passed to the action function.
|
||
.IP XmLGridTraverse(direction)
|
||
Traverses in the given direction from the current focus cell.
|
||
If traversal is successful, the new focus cell will be made
|
||
visible, scrolling the Grid if necessary.
|
||
.SH "SEE ALSO"
|
||
XmLCreateGrid(3X) XmLGridAddColumns(3X) XmLGridAddRows(3X)
|
||
XmLGridColumnIsVisible(3X) XmLGridDeleteAllColumns(3X) XmLGridDeleteAllRows(3X) XmLGridDeleteColumns(3X) XmLGridDeleteRows(3X) XmLGridDeselectAllCells(3X)
|
||
XmLGridDeselectAllColumns(3X) XmLGridDeselectAllRows(3X)
|
||
XmLGridDeselectCell(3X) XmLGridDeselectColumn(3X) XmLGridDeselectRow(3X)
|
||
XmLGridEditBegin(3X) XmLGridEditCancel(3X) XmLGridEditComplete(3X)
|
||
XmLGridGetColumn(3X) XmLGridGetFocus(3X)
|
||
XmLGridGetRow(3X) XmLGridGetSelectedCellCount(3X) XmLGridGetSelectedCells(3X)
|
||
XmLGridGetSelectedColumnCount(3X) XmLGridGetSelectedColumns(3X)
|
||
XmLGridGetSelectedRow(3X) XmLGridGetSelectedRowCount(3X)
|
||
XmLGridGetSelectedRows(3X) XmLGridMoveColumns(3X) XmLGridMoveRows(3X)
|
||
XmLGridRead(3X) XmLGridReadPos(3X) XmLGridRedrawAll(3X) XmLGridRedrawCell(3X)
|
||
XmLGridRedrawColumn(3X) XmLGridRedrawRow(3X) XmLGridReorderColumns(3X)
|
||
XmLGridReorderRows(3X) XmLGridRowColumnToXY(3X) XmLGridRowlsVisible(3X)
|
||
XmLGridSelectAllCells(3X) XmLGridSelectAllColumns(3X) XmLGridSelectAllRows(3X)
|
||
XmLGridSelectCell(3X) XmLGridSelectColumn(3X) XmLGridSelectRow(3X)
|
||
XmLGridSetFocus(3X) XmLGridSetStrings(3X) XmLGridSetStringsPos(3X)
|
||
XmLGridWrite(3X) XmLGridWritePos(3X) XmLGridXYToRowColumn(3X)
|