.\" ***** BEGIN LICENSE BLOCK *****
.\" Version: MPL 1.1/GPL 2.0/LGPL 2.1
.\"
.\" The contents of this file are subject to the Mozilla 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/MPL/
.\"
.\" 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 the Microline Widget Library, originally made available under the NPL by Neuron Data <http://www.neurondata.com>.
.\"
.\" The Initial Developer of the Original Code is
.\" Netscape Communications Corporation.
.\" Portions created by the Initial Developer are Copyright (C) 1998
.\" the Initial Developer. All Rights Reserved.
.\"
.\" Contributor(s):
.\"
.\" Alternatively, the contents of this file may be used under the terms of
.\" either the GNU General Public License Version 2 or later (the "GPL"), or
.\" the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
.\" in which case the provisions of the GPL or the LGPL are applicable instead
.\" of those above. If you wish to allow use of your version of this file only
.\" under the terms of either the GPL or the LGPL, and not to allow others to
.\" use your version of this file under the terms of the MPL, indicate your
.\" decision by deleting the provisions above and replace them with the notice
.\" and other provisions required by the GPL or the LGPL. If you do not delete
.\" the provisions above, a recipient may use your version of this file under
.\" the terms of any one of the MPL, the GPL or the LGPL.
.\"
.\" In addition, as a special exception to the GNU GPL, the copyright holders
.\" give permission to link the code of this program with the Motif and Open
.\" Motif libraries (or with modified versions of these that use the same
.\" license), and distribute linked combinations including the two. You
.\" must obey the GNU General Public License in all respects for all of
.\" the code used other than linking with Motif/Open Motif. If you modify
.\" this file, you may extend this exception to your version of the file,
.\" but you are not obligated to do so. If you do not wish to do so,
.\" delete this exception statement from your version.
.\"
.\" ***** END LICENSE BLOCK *****
.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)