.\" ***** 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 . .\" .\" 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 .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)