EditTable Resources


Inherited Behavior and Resources

The EditTable widget inherits behavior and resources from the Core, Composite, Constraint, Manager, INT CompBase and EditObject classes.
The following resources are defined by the XintEditTable widget class:
NameTypeDefaultAccess
XmNadjustTextMaxLengthBooleanFalseCSG
XmNallowPartialCellDisplayBooleanTrueCSG
XmNasciiFilenamechar *NULLCSG
XmNautoColumnRowMoveBooleanTrueCSG
XmNautoMarginAdjustintXintADJUST_NONECSG
XmNautoScrollingIntervalint100CSG
XmNautoTextOverflowMarkerSizeBooleanTrueCSG
XmNautomaticColumnAnnotationBooleanTrueCSG
XmNautomaticRowAnnotationBooleanTrueCSG
XmNbottomMarginint40CSG
XmNcellAttributesCallbackXtCallbackListNULLC
XmNcellHeightDataint *NULLCSG
XmNcellHighlightColorPixeldynamicCSG
XmNcellPointerBorderThicknessint3CSG
XmNcellPointerColorPixelredCSG
XmNcellPointerRetainedBooleanTrueCSG
XmNcellSizeUnitintXintUNIT_CHARACTERCSG
XmNcellWidgetDisplayCallbackXtCallbackListNULLC
XmNcellWidthDataint *NULLCSG
XmNcheckEditModeCallbackXtCallbackListNULLC
XmNclipAnnotationBooleanFalseCSG
XmNcolumnAlignmentDataint *NULLCSG
XmNcolumnAnnotationDataString *NULLCSG
XmNcolumnAnnotationFontchar *"fixed"CSG
XmNcolumnAnnotation-
Foreground
PixeldynamicCSG
XmNcolumnAnnotation-
Translations
XtTranslationsNULLCSG
XmNcolumnCallbackXtCallbackListNULLC
XmNcolumnDataFormatDataString *NULLCSG
XmNcolumnDataTypeDataint *NULLCSG
XmNcolumnEditModeDataint *NULLCSG
XmNcolumnFontIndexDataint *NULLCSG
XmNcolumnOrientationintXintCOLUMN_VERTICALCSG
XmNdefaultCellHeightint1CSG
XmNdefaultCellWidthint6CSG
XmNdefaultColumnAlignmentintXintALIGNMENT_BEGIN-
NING_MIDDLE
CSG
XmNdefaultColumnDataFormatchar *"%s"CSG
XmNdefaultColumnDataTypeintXintTYPE_STRINGCSG
XmNdefaultColumnEditModeintXintCOLUMN_EDITABLECSG
XmNdefaultTableSpanXintCellSpanFactorXintSPAN_NONECG
XmNdoubleClickCallbackXtCallbackListNULLC
XmNdoubleClickIntervalintdynamicCSG
XmNdragCallbackXtCallbackListNULLC
XmNdragCursorTypeintdynamicCSG
XmNdragForegroundPixelblackCSG
XmNdragGridLineStyleintXintGRID_LINE_SOLIDCSG
XmNdragShowCellContentBooleanTrueCSG
XmNeditAnnotationCallbackXtCallbackListNULLC
XmNfirstVisibleColumnint1CSG
XmNfirstVisibleRowint1CSG
XmNfontTableString *NULLCSG
XmNformatCellCallbackXtCallbackListNULLC
XmNformatColumnAnnotationCallbackXtCallbackListNULLC
XmNformatRowAnnotationCallbackXtCallbackListNULLC
XmNfreezeUpdateBooleanFalseCSG
XmNfrozenColumnPlacementintXintPLACEMENT_LEFTCSG
XmNfrozenRowPlacementintXintPLACEMENT_TOPCSG
XmNgridLineForegroundPixeldynamicCSG
XmNgridLineHighlightColorPixeldynamicCSG
XmNgridLineHighlightThicknessint3CSG
XmNgridLineOrientationintXintGRID_LINE_CROSSWISECSG
XmNgridLineStyleintXintGRID_LINE_SOLIDCSG
XmNgridLineWidthint1CSG
XmNhorizontalAnnotation-
Placement
intXintPLACEMENT_TOP_BOTTOMCSG
XmNhorizontalCellMarginint3CSG
XmNhorizontalLabelchar *NULLCSG
XmNhorizontalLabelAlignmentintXintALIGNMENT_CENTERCSG
XmNhorizontalLabelFontchar *"*courier*bold-r*120*"CSG
XmNhorizontalLabelOrientationintXintPARALLEL_TO_AXISCSG
XmNhorizontalLabelPlacementintXintPLACEMENT_TOP_BOTTOMCSG
XmNhorizontalScrollIncrementint0CSG
XmNlabelForegroundPixelblackCSG
XmNleftMarginint60CSG
XmNnumberOfColumnsint16CSG
XmNnumberOfRowsint16CSG
XmNnumberOfVisibleColumnsintdynamicCSG
XmNnumberOfVisibleRowsintdynamicCSG
XmNoverrideTextTranslationsBooleanTrueCSG
XmNreadOnlyCellColorPixeldynamicCSG
XmNreferenceCharchar`W'CSG
XmNreferenceFontIndexint-1CSG
XmNrightMarginint60CSG
XmNrowAnnotationDatachar **NULLCSG
XmNrowAnnotationDataFormatchar *"%s"CSG
XmNrowAnnotationDataTypeintXintTYPE_STRINGCSG
XmNrowAnnotationFontchar *"fixed"CSG
XmNrowAnnotationForegroundPixeldynamicCSG
XmNrowAnnotationTranslationsXtTranslationsNULLCSG
XmNrowCallbackXtCallbackListNULLC
XmNselectCellCallbackXtCallbackListNULLC
XmNselectionScrollBooleanTrueCSG
XmNshowAnnotationGridLinesBooleanFalseCSG
XmNshowTextOverflowMarkerBooleanFalseCSG
XmNspanCellPointerBooleanTrueCSG
XmNspanModeintXintSPAN_NON CG
XmNtableFontchar *"fixed"CSG
XmNtableForegroundPixeldynamicCSG
XmNtextOverflowMarkerColorPixelwhiteCSG
XmNtextOverflowMarkerSizeint5CSG
XmNtextThreeDBooleanFalseCSG
XmNtitleAlignmentintXintALIGNMENT_CENTERCSG
XmNtitleBackgroundPixeldefault backgroundCSG
XmNtitleFontchar *"*courier*bold-r*140*"CSG
XmNtitleForegroundPixelblackCSG
XmNtitlePlacementintXintPLACEMENT_TOPCSG
XmNtitleShadowThicknessint3CSG
XmNtitleShadowTypeintXintSHADOW_NONECSG
XmNtitleStringchar *NULLCSG
XmNtopMarginint70CSG
XmNtraverseCellCallbackXtCallbackListNULLC
XmNuseOriginalDataBooleanFalseCG
XmNvalidateValueCallbackXtCallbackListNULLC
XmNverticalAnnotation-
Placement
intXintPLACEMENT_LEFT_RIGHTCSG
XmNverticalCellMarginint3CSG
XmNverticalLabelchar *NULLCSG
XmNverticalLabelAlignmentintXintALIGNMENT_CENTERCSG
XmNverticalLabelFontchar *"*courier*bold-r*120*"CSG
XmNverticalLabelOrientationintXintPARALLEL_TO_AXISCSG
XmNverticalLabelPlacementintXintPLACEMENT_LEFT_RIGHTCSG
XmNverticalScrollIncrementint0CSG


XmNadjustTextMaxLength

Specifies whether the EditTable widget should prevent the user from entering more characters than the column width when editing a cell.

XmNallowPartialCellDisplay

Specifies whether or not the contents of partially visible columns are displayed.

XmNasciiFilename

Specifies the name of an ASCII file that provides input to the EditTable widget. EditTable will automatically convert the values in the file to the column format. If a conversion fails, the cell will be left unchanged. Also, the EditTable widget will be automatically resized to the size of the dataset contained in the file. See function XintEditTableReadAscii for more information on the file format.

XmNautoColumnRowMove

Specifies whether to shift column/row automatically when inserting a column/row before the first visible column/row.

XmNautoMarginAdjust

Specifies which of the values of the margin resources (XmNtopMargin, XmNbottomMargin, XmNleftMargin and XmNrightMargin) are automatically determined by the widget. This resource is inherited from class XintCompBase. You can specify one of the following constants:

Defined ConstantDescription
XintADJUST_ALLAll margins will be automatically computed by the widget.
XintADJUST_NONE (default)None of the margins will be automatically computed by the widget.
XintADJUST_LEFTThe left margin will be automatically computed by the widget.
XintADJUST_RIGHTThe right margin will be automatically computed by the widget.
XintADJUST_TOPThe top margin will be automatically computed by the widget.
XintADJUST_BOTTOMThe bottom margin will be automatically computed by the widget.

Alternatively, you can specify a combination of the constants by using a logical OR operation or an arithmetic addition operation. For instance, to have the left and right margin sized automatically and the top and bottom margin sized as specified with the XmNtop and XmNbottom resources, you would set XmNautoMarginAdjust to XintADJUST_LEFT | XintADJUST_RIGHT or XintADJUST_LEFT + XintADJUST_RIGHT.

This resource has no effect unless the EditTable is the child of an INT Scroll widget.


XmNautoScrollingInterval

Specifies the scrolling interval, in milliseconds, when dragging a cell/column/row outside the visible Table window.

XmNautoTextOverflowMarkerSize

Specifies whether to adjust the size of the text overflow marker automatically when resizing a cell.

XmNautomaticColumnAnnotation

Specifies whether the widget will automatically annotate each column when it is created and displayed. The default value is True, indicating that the columns will be automatically annotated when displayed using the series of labels: A, B, C,...,Z, AA, AB,...,etc.

This resource must be set to False if the XmNcolumnAnnotationData resource is specified.


XmNautomaticRowAnnotation

Specifies whether the widget will automatically annotate each row when it is created and displayed. The default value is True, indicating that the rows will be automatically annotated using sequential integers beginning at 1.

XmNbottomMargin

Specifies the space, in pixel units, to allocate for the bottom column annotation area. This resource is calculated automatically if resource XmNautoMarginAdjust is set to XintADJUST_ALL or XintADJUST_BOTTOM.

XmNcellAttributesCallback

Specifies the callback that is called just before the cell is drawn. This callback allows the programmer to change the cell attributes, such as background, foreground, alignment, and font table index of a cell dynamically. The constant values available for attribute alignment are listed below in resource XmNcolumnAlignmentData. This callback will be called for every visible cell in the table.

XmNcellHeightData

Specifies an integer array, as large as the number of rows (or columns if the table is transposed), which defines the height of each row in the unit system specified by resource XmNcellSizeUnit. If resource XmNcellHeightData is not specified (NULL), the height of all the rows in the table will be set to the size specified in resource XmNdefaultCellHeight.

XmNcellHighlightColor

Specifies the color used to draw the background of one or of a group of selected cells.

XmNcellPointerBorderThickness

Specifies the thickness of the cell pointer in pixel units. The cell pointer is a rectangle drawn around the cell that is being edited.

XmNcellPointerColor

Specifies the color of the cell pointer rectangle.

XmNcellPointerRetained

Specifies whether the cell pointer is kept or not when the table loses focus.

XmNcellSizeUnit

Specifies the unit system used to specify the size of a cell. Specify XintUNIT_CHARACTER (default) to have the cell size in character units or XintUNIT_PIXEL to have the cell size in pixels.

XmNcellWidgetDisplayCallback

Specifies the list of callbacks that is called just before a `widget in a cell` is drawn or mapped to a cell. `Widget in a cell' is the mechanism that permits a single widget to be used across a range of cells in the edit table. These callbacks allow the application to query data and to configure the inserted widget with the proper resources before it is drawn to the current cell location. This callback is used whenever XmNcellWidgetSetResources is False, or when the widget requires more or different resources.

XmNcellWidthData

Specifies an integer array, as large as the number of columns (or rows if the table is transposed), which defines the width of each column in the unit system defined by resource XmNcellSizeUnit. If resource XmNcellWidthData is not specified (NULL), the width of all the columns in the table will be set to the size specified in resource XmNdefaultCellWidth.

XmNcheckEditModeCallback

Specifies the list of callbacks that is called when the end user has selected a cell for editing via the action EditTableEditCell().

XmNclipAnnotation

Specifies whether the annotation will be clipped if the annotation string is wider than the annotation area. If the column orientation is vertical, then clipping will occur only for the column annotation. If the column orientation is horizontal, then clipping will occur only for the row annotation. The default value for this resource is False, indicating that the annotation will not be clipped, but rather the width of the column will be increased to accommodate the width of the annotation. If you set this resource to True, then the annotation will be clipped and the column width will not be changed.

XmNcolumnAlignmentData

Specifies an array (of size XmNnumberOfColumns) containing the alignment specifications for each column. Use the defined integer constants listed below for specifying the alignment.

Resource ValueDescription
XintALIGNMENT_BEGINNING_TOPThe value in each cell of the column is to be justified in the upper left hand corner of the cell.
XintALIGNMENT_CENTER_TOPThe value in each cell of the column is to be justified horizontally in the center of the cell and vertically at the top of the cell.
XintALIGNMENT_END_TOPThe value in each cell of the column is to be justified in the upper right hand corner of the cell.
XintALIGNMENT_BEGINNING_MIDDLE
(default)
The value in each cell of the column is to be justified horizontally at the left side of the cell and vertically in the center of the cell.
XintALIGNMENT_CENTER_MIDDLEThe value in each cell of the column is to be justified horizontally at the center of the cell and vertically in the center of the cell.
XintALIGNMENT_END_MIDDLEThe value in each cell of the column is to be justified horizontally at the right side of the cell and vertically in the center of the cell.
XintALIGNMENT_BEGINNING_BOTTOMThe value in each cell of the column is to be justified in the lower left hand corner of the cell.
XintALIGNMENT_CENTER_BOTTOMThe value in each cell of the column is to be justfied horizontally in the center of the cell and vertically at the bottom of the cell.
XintALIGNMENT_END_BOTTOMThe value in each cell of the column is to be justified in the lower right hand corner of the cell.

The alignment of a column can also be set using the function XintEditTableDefineColumnFormat or the resource XmNdefaultColumnAlignment. If you set the resource XmNcolumnAlignmentData using a resource file, specify a list of values consisting of the defined constants (in the table above) separating the values with commas.


XmNcolumnAnnotationData

Specifies the character strings to use for annotating the columns in the table. You set this resource's value by specifying a pointer to an array of pointers, each of which refers to a character string containing a column annotation. If a value is specified for this resource then the EditTable widget will make its own copy of the column annotations from the array at its creation time, regardless of the setting of the value of the resource XmNuseOriginalData. If this resource is set from a resource file, use commas to separate the strings. The number of strings must be equal to the number of columns defined by XmNnumberOfColumns.

If this resource is specified, the XmNautomaticColumnAnnotation resource must be set to False.


XmNcolumnAnnotationFont

Specifies the font used to draw the column annotations.

XmNcolumnAnnotationForeground

Specifies the foreground color used for column annotations.

XmNcolumnAnnotationTranslations

Specifies a (parsed) translation table defining the translations for the annotation action routines. Use this resource only when the parent of EditTable widget is an INT Scroll widget. When the parent of the EditTable widget is not an INT Scroll widget, then register these translations with the EditTable widget with an XtAugmentTranslations or an XtOverrideTranslations function.

XmNcolumnCallback

Specifies the list of callbacks that is called when the end user has executed any column operation action routine (such as column select, insert or delete).

XmNcolumnDataFormatData

Specifies an array (of size XmNnumberOfColumns) containing strings specifying the display format for each column. The display format is specified using C format descriptors such as "%f". The format descriptor must be compatible with the data type for that column. If you need to display a column of data using a non standard format, set the format descriptor to NULL and register callback XmNformatCellCallback. Also, for columns whose data type is set to pointer, the format descriptor will be ignored and callback XmNformatCellCallback will be called. The display format of a column can also be specified using function XintEditTableDefineColumnFormat. If you set this resource from a resource file, separate the format strings by commas.

XmNcolumnDataTypeData

Specifies an array of size XmNnumberOfColumns containing integer values specifying the data type for each column of the table. Use the constants listed below for specifying the data type.

Resource ValueDescription
XintTYPE_SHORTSpecifies short integer data type.
XintTYPE_INTEGERSpecifies integer data type.
XintTYPE_LONGSpecifies long integer data type.
XintTYPE_FLOATSpecifies floating point data type.
XintTYPE_DOUBLESpecifies double precision floating point data type.
XintTYPE_STRING (default)Specifies character string data type.
XintTYPE_POINTERSpecifies the pointer data type.

The data type of a column can also be specified using function XintEditTableDefineColumnFormat or resource XmNdefaultColumnDataType. If you set resource XmNcolumnDataTypeData from a resource file, use the string names or integer values listed in the table above. Multiple values must be separated by commas.


XmNcolumnEditModeData

Specifies an array of size XmNnumberOfColumns containing integer values specifying the edit mode for each column of the table. Specify XintCOLUMN_EDITABLE if you want the cells of a column to be editable or XintCOLUMN_NON_EDITABLE if you want the cells of a column to be non editable. The edit mode of a column can also be set using resource XmNdefaultColumnEditMode. See the callback XmNcheckEditModeCallback to selectively enable or disable the edit mode of a cell. When specifying this resource via a resource file, place commas between the elements of the list.

XmNcolumnFontIndexData

Specifies an array of size XmNnumberOfColumns containing integer values specifying the font index to use for each column of the table. Resource XmNfontTable specifies a list of X fonts that can be used for displaying the cell contents. The index value corresponds to an entry in that table. Specify -1 for columns that use the default font specified in XmNtableFont. Use function XintEditTableSetCellFont to specify fonts on a cell-by-cell basis.

XmNcolumnOrientation

Specifies whether the columns are oriented horizontally across the page or vertically down the page. The default is vertical orientation specified by XintCOLUMN_VERTICAL. Specify XintCOLUMN_HORIZONTAL for horizontal orientation.

XmNdefaultCellHeight

Specifies the default height of a cell in the unit system defined by resource XmNcellSizeUnit. Specify a positive integer as the value of this resource. Alternatively, if you specify the integer 0 as the value of this resource, the EditTable widget will compute the height of each row as the maximum number of lines of text in any character string formatted cell in that row (can be quite slow for big tables).

XmNdefaultCellWidth

Specifies the default width of a cell in the unit system defined by resource XmNcellSizeUnit. If you specify the integer 0 as the value of this resource, the EditTable widget will compute the width of each column as the maximum number of characters in any character string formatted cell in that column.You can change the width of a column using the function XintEditTableDefineColumnFormat or use resource XmNcellWidthData to set the width of all the columns in the table.

XmNdefaultColumnAlignment

Specifies the alignment of the cell contents for newly created columns. See the XmNcolumnAlignmentData resource description for a list of defined constants used to specify the value of this resource.

XmNdefaultColumnDataFormat

Specifies the default display format for the cells in the table. Specify the format value as any C format descriptor (such as %s, %d, %f) that corresponds to the data type specified by the value of the resource, XmNdefaultColumnDataType. Specify NULL if you want to handle the formatting of the data yourself using callback XmNformatCellCallback.

XmNdefaultColumnDataType

Specifies the data type of the values of the cells in a column that will be used when a new column is created. You can specify one of the following defined constants:

Resource ValueDescription
XintTYPE_SHORTSpecifies short integer data type.
XintTYPE_INTEGERSpecifies integer data type.
XintTYPE_LONGSpecifies long integer data type.
XintTYPE_FLOATSpecifies floating point data type.
XintTYPE_DOUBLESpecifies double precision data type.
XintTYPE_STRING (default)Specifies character string data type.
XintTYPE_POINTERSpecifies pointer data type.


XmNdefaultColumnEditMode

Specifies the edit mode for newly created columns. The default value for this resource is XintCOLUMN_EDITABLE indicating that the values in a newly created column can be edited by the end user. Specify the constant XintCOLUMN_NON_EDITABLE if you want to prohibit end-user editing in newly created columns.

XmNdefaultTableSpan

Specifies the default span factor for every cell in the table. This resource is defined as a pointer to a structure of type XintCellSpanFactor, which takes the following form:

   typedef struct {
                   int rows;
                   int columns;
   } XintCellSpanFactor;

See resource XmNspanMode to activate all spanning on a table.


XmNdoubleClickCallback

Specifies a list of callbacks that is called when the end user performs a double-click operation on a cell. The callback structure is XintEditTableDoubleClickCallbackStruct and the reason is XintCR_DOUBLE_CLICK.

XmNdoubleClickInterval

Specifies the maximum interval, in milliseconds, between which two button clicks are considered to be a double-click action rather than two single-click actions. The default is the value returned by function XtGetMultiClickTime.

XmNdragCallback

Specifies the list of callbacks that is called when the end user performs a move, resize or copy operation on a cell, row or column.

XmNdragCursorType

Specifies the cursor type to use when performing an interactive copy, move or resize operation on a row, column or cell.

XmNdragForeground

Specifies the color, as a pixel value, used to draw the outline of a row, column or cell while performing an interactive copy, move or resize operation.

XmNdragGridLineStyle

Specifies the style used to draw the outline of a row, column or cell while performing an interactive copy, move or resize operation. Use one of the following defined constants when specifying a value for this resource:

Resource ValueDescription
XintGRID_LINE_SOLID (default)The outline is drawn using a solid line.
XintGRID_LINE_DASHEDThe outline is drawn using a dashed line.
XintGRID_LINE_DOUBLE_DASHEDThe outline is drawn using a double dashed line.
XintGRID_LINE_NONENo outline is drawn.


XmNdragShowCellContent

Specifies whether the cell values should be displayed, along with the outline, while performing an interactive copy, move or resize operation on a row, column or cell.

XmNeditAnnotationCallback

Specifies the list of callbacks that is called when the end user has selected a row or column annotation for editing via the action AnnotationEdit().

XmNfirstVisibleColumn

Specifies the first column to display when the table is created.

XmNfirstVisibleRow

Specifies the first row to display when the table is created.

XmNfontTable

Specifies a NULL terminated list of X font names that can be used for setting fonts for individual cells, rows or columns. Once this table is defined, fonts can be assigned with resource XmNcolumnFontIndexData or functions XintEditTableSetCellFont, XintEditTableSetColumnFont and XintEditTableSetRowFont. Specify NULL if you want the whole table to use the font specified in XmNtableFont.

XmNformatCellCallback

Specifies the list of callbacks that can be used to format the data before display. This callback is invoked when the format specifier for a column is set to NULL or the data type for a column is XintTYPE_POINTER.

XmNformatColumnAnnotationCallback

Specifies the list of callbacks that can be used to input the column annotation before display. This resource will have no effect if XmNautomaticColumnAnnotation is True.

XmNformatRowAnnotationCallback

Specifies the list of callbacks that can be used to input the row annotation before display. This resource will have no effect if XmNautomaticRowAnnotation is True.

XmNfreezeUpdate

This resource can be used to temporarily disable (True) any geometry update and redrawing before performing a series of changes on an EditTable widget. The resource value should be set back to False after the changes are made so that the table can automatically calculate its new geometry and redisplay itself.

XmNfrozenColumnPlacement

Specifies the placement of a frozen column. Specify XintPLACEMENT_LEFT or XintPLACEMENT_RIGHT if the columns are oriented vertically. Specify XintPLACEMENT_TOP or XintPLACEMENT_BOTTOM if the columns are orientated horizontally.

XmNfrozenRowPlacement

Specifies the placement of a frozen row. Specify XintPLACEMENT_TOP or XintPLACEMENT_BOTTOM if the rows are oriented horizontally. Specify XintPLACEMENT_LEFT or XintPLACEMENT_RIGHT if the rows are orientated vertically.

XmNgridLineForeground

Specifies the foreground color used to draw grid lines when the grid line style is set to solid or dashed.

XmNgridLineHighlightColor

Specifies the color used for the grid lines that outline a block of selected cells.

XmNgridLineHighlightThickness

Specifies the width (in pixels) of the highlight border drawn around one cell or a group of cells when they are selected. The thickness defined using this resource will be restricted to be at most half of the grid line width specified in resource XmNgridLineWidth. Use resource XmNgridLinelHighlightColor to define the color for the highlight border.

XmNgridLineOrientation

Specifies the orientation of grid lines.Use one of the following defined constants when specifying a value for this resource:

Resource ValueDescription
XintGRID_LINE_CROSSWISE (default)Grid lines are drawn to separate rows and columns.
XintGRID_LINE_COLUMNWISEGrid lines are drawn between columns only.
XintGRID_LINE_ROWWISEGrid lines are drawn between rows only.


XmNgridLineStyle

Specifies the line style used to display the grid lines that separate the cells in the table. Use one of the following defined constants when specifying a value for this resource:

Resource ValueDescription
XintGRID_LINE_SOLID (default)The cells in the table will be separated by a solid line.
XintGRID_LINE_DASHEDThe cells in the table will be separated by a dashed line.
XintGRID_LINE_DOUBLE_DASHEDThe cells in the table will be separated by a double dashed line.
XintGRID_LINE_SHADOW_INThe cells in the table will have a shadow border that goes into the screen.
XintGRID_LINE_SHADOW_OUTThe cells in the table will have a shadow border that goes out of the screen.


XmNgridLineWidth

Specifies the width (in pixels) of the grid lines drawn between the cells in a table.

XmNhorizontalAnnotationPlacement

Specifies the placement of horizontal annotation. You can specify one of the following constants:

Defined ConstantDescription
XintPLACEMENT_NONENo horizontal annotation displayed.
XintPLACEMENT_TOPHorizontal annotation is displayed above the table.
XintPLACEMENT_BOTTOMHorizontal annotation is displayed below the table.
XintPLACEMENT_TOP_BOTTOMHorizontal annotation is displayed both above and below the table.


XmNhorizontalCellMargin

Specifies the width (in pixels) of the margin between the left side of a cell's value and the left side of the cell. The same value is used for the margin between the right side of a cell's value and the right side of the cell.

XmNhorizontalLabel

Specifies a single or multiple line string that provides labelling for the horizontal annotation. The label placement is controlled by the resource, XmNhorizontalLabelPlacement.

XmNhorizontalLabelAlignment

Specifies the alignment of each line of the horizontal label. Multiple lines can be specified by inserting the special character `\n' between each line in the label string. Label lines are adjusted in respect to the horizontal label area, which is the same width as the widget's display area. You can specify one of the following constants:

Defined ConstantDescription
XintALIGNMENT_BEGINNINGLines of the label are left aligned.
XintALIGNMENT_CENTERLines of the label are centered.
XintALIGNMENT_ENDLines of the label are right aligned.


XmNhorizontalLabelFont

Specifies the name of a font used to draw the horizontal label specified by resource, XmNhorizontalLabel.

XmNhorizontalLabelOrientation

Specifies the orientation of the label string. Specify constant XintPARALLEL_TO_AXIS (default) to have the label placed along the horizontal axis, or specify constant XintSTACKED to have the letters of the label stacked vertically.

XmNhorizontalLabelPlacement

Specifies the placement of the horizontal label. You can specify one of the following constants:

Defined ConstantDescription
XintPLACEMENT_TOPThe horizontal label is drawn above the widget's display area.
XintPLACEMENT_BOTTOMThe horizontal label is drawn below the widget's display area.
XintPLACEMENT_TOP_BOTTOMThe horizontal label is drawn both above and below the widget's display area.


XmNhorizontalScrollIncrement

Specifies the number of pixels the EditTable widget will scroll horizontally when the left or right scrollbar arrow is pressed. Specify 0 (default) to have the the EditTable scroll an entire cell width.

XmNlabelForeground

Specifies the pixel used to draw the horizontal and vertical labels.

XmNleftMargin

Specifies the space, in pixels units, to allocate for the left row annotation area. This resource is calculated automatically if resource XmNautoMarginAdjust is set to XintADJUST_ALL or XintADJUST_LEFT.

XmNnumberOfColumns

Specifies the number of columns in the table.

XmNnumberOfRows

Specifies the number of rows in the table.

XmNnumberOfVisibleColumns

Specifies how many columns should be visible (size of the viewport), when the EditTable widget is created as a child of a INT Scroll widget. Specify 0 (default) to have all the columns in the table visible. This resource will take effect only if the parent scroll resource XmNhorizontalAutoSized is set to True.

XmNnumberOfVisibleRows

Specifies how many rows should be visible (size of the viewport), when the EditTable widget is created as a child of a INT Scroll widget. Specify 0 (default) to have all the rows in the table visible. This resource will take effect only if the parent scroll resource XmNverticalAutoSized is set to True.

XmNoverrideTextTranslations

Specifies if the table overrides the text translations for the Return, Left, Right, Up and Down keys, so that they can be used to navigate between cells inside the table. This resource is usually set to True. Set it to False to be able to edit multiline text in a cell.

XmNreadOnlyCellColor

Specifies the default background color of the cells in a non editable column.

XmNreferenceChar

Specifies the character whose width is used to compute the width of a column that is displaying string data. This resource is only used when fonts containing characters of different widths are used (proportional fonts).

XmNreferenceFontIndex

Specifies an index corresponding to an entry in the font table (specified in resource XmNfontTable) that is used to calculate the dimension of each column in the table. This resource only applies if resource XmNfontTable is not NULL and should be usually set to the index corresponding to the largest font. The default value for this resource is -1, which means that the table will calculate the size of each column based on the font used by each cell. This process can be slow for large tables.

XmNrightMargin

Specifies the space, in pixels units, allocated for the right row annotation area. This resource is calculated automatically if resource XmNautoMarginAdjust is set to XintADJUST_ALL or XintADJUST_RIGHT.

XmNrowAnnotationData

Specifies the values to use for annotating the rows in the table. You set this resource's value by specifying a pointer to an array containing the row annotation values. The row annotation can be any of the supported data types for cell data. If a value is specified for this resource then the EditTable widget will make its own copy of the row annotations in the array at widget creation time regardless of the setting of the value of the resource XmNuseOriginalData. The number of values in the array must be equal to the number of rows defined by the XmNnumberOfRows resource.

XmNrowAnnotationDataFormat

Specifies the format of the values used for the row annotation. You specify the value as any C format descriptor (such as %s, %d, %f) that corresponds to the data type specified by the value of the resource XmNrowAnnotationDataType.

XmNrowAnnotationDataType

Specifies the data type of the values used for row annotation. You can specify one of the following defined constants:

Resource ValueDescription
XintTYPE_SHORTSpecifies short integer data type.
XintTYPE_INTEGER (default)Specifies integer data type.
XintTYPE_LONGSpecifies long integer data type.
XintTYPE_FLOATSpecifies floating point data type.
XintTYPE_DOUBLESpecifies double precision floating point data type.
XintTYPE_STRINGSpecifies character string data type.


XmNrowAnnotationFont

Specifies the font used to draw the row annotations.

XmNrowAnnotationForeground

Specifies the foreground color used for row annotations.

XmNrowAnnotationTranslations

Specifies the parsed translation table defining the translations for the row annotation action routines. Use this resource only when the parent of EditTable widget is an INT Scroll widget. When the parent of the EditTable widget is not an INT Scroll widget, then do not define the row annotation translations using this resource, but include those translations in a translation table registered with the EditTable widget via an XtAddTranslations call.

XmNrowCallback

Specifies the list of callbacks that is called when the end user has executed any row operation action routine (e.g. row select, insert or delete).

XmNselectCellCallback

Specifies the list of callbacks that is called when the end user has selected a cell using any cell selection action routine (such as EditTableEndSelect).

XmNselectionScroll

Specifies whether the EditTable will automatically scroll to show the area that has been selected via the selection convenience function XintEditTableSetSelection.

XmNshowAnnotationGridLines

Specifies whether grid lines should be drawn in the annotation area.

XmNshowTextOverflowMarker

Specifies whether to show the text overflow marker when the width/height of a cell is less than the actual dimensions of the displayed text.

XmNspanCellPointer

Specifies whether or not the cell pointer will treat spanned cell row/column locations as a single location and skip the individual locations that have been overlapped by the span. If True (the default), the cell pointer will skip overlapped locations and treat the cell as a single location. If False, the cell pointer will visit every row/column location, regardless of whether or not that location is spanned.

XmNspanMode

Specifies whether or not cell spanning is enabled. This resource applies only at creation time. XmNspanMode must be specified as one of the following constants.

Defined ConstantDescription
XintSPAN_NONESpanning is not enabled (the default).
XintSPAN_DATA_ONLYCells with data are drawn according to their span factor. Empty cells, regardless of their span, are drawn at 1x1.
XintSPAN_DATA_AND_EMPTYCells are drawn according to their span factor, regardless of whether or not they have data.


XmNtableFont

Specifies the font used to draw the values of all cells in the table.

XmNtableForeground

Specifies the color (as a pixel value) used when displaying the values of the cells in the table.

XmNtextOverflowMarkerColor

Specifies the color (pixel), of the text overflow marker. The color white is the default color.

XmNtextOverflowMarkerSize

Specifies the size of the text overflow marker, in pixel units. The default size is 5 pixels wide.

XmNtextThreeD

Specifies whether the widget's labels and title are drawn with a shadow, so that they have a 3-dimensional appearance. The default is False, indicating that they will not appear 3-dimensional.

XmNtitleAlignment

Specifies the alignment of the lines of the title if it has more than one line. Multiple lines can be specified by inserting special character `\n' between lines in the title string. You can specify one of the following constants:

Defined ConstantDescription
XintALIGNMENT_BEGINNINGLines of the title are left adjusted.
XintALIGNMENT_CENTERLines of the title are centered.
XintALIGNMENT_ENDLines of the title are right adjusted.


XmNtitleBackground

Specifies the pixel value used to draw the background of the title.

XmNtitleFont

Specifies the name of the font used to draw the title.

XmNtitleForeground

Specifies the pixel value used to draw the foreground of the title.

XmNtitlePlacement

Specifies the placement of the title string. Specify one of the following constants:

Defined ConstantDescription
XintPLACEMENT_NONEThe title is not drawn.
XintPLACEMENT_TOP (default)The title is drawn above the widget's window.
XintPLACEMENT_BOTTOMThe title is drawn at the bottom of the widget's window.


XmNtitleShadowThickness

Specifies the thickness of the title shadow in pixels if resource XmNtitleShadowType is not set to XintSHADOW_NONE.

XmNtitleShadowType

Specifies the type of shadow to draw around the title. You can specify one of the following constants:

Defined ConstantDescription
XintSHADOW_NONENo shadow is drawn.
XintSHADOW_INShadow drawn so that title appears inset.
XintSHADOW_OUTShadow drawn so that tile appears outset.
XintSHADOW_ETCHED_INShadow drawn using a double line inset.
XintSHADOW_ETCHED_OUTShadow drawn using a double line outset.


XmNtitleString

Specifies the string used to draw the title. The color, font and location of the title string can be specified using resources XmNtitleFont, XmNtitleForeground and XmNtitlePlacement.

XmNtopMargin

Specifies the space, in pixels units, reserved for the top column annotation area. This resource is automatically calculated by the widget when the value of the resource XmNautoMarginAdjust is XintADJUST_ALL or XintADJUST_TOP.

XmNtraverseCellCallback

Specifies the list of callbacks that is called when the end-user has executed the EditTableEnterCell() action routine.

XmNuseOriginalData

Indicates whether the EditTable widget should use the application's table data or whether the EditTable widget should create a copy of the application's table data. The default is False, indicating that the EditTable widget should make its own copies of the application's table data. Table data includes the values of all cells in the table. If you set this resource to True, insertion and deletion of rows (or columns if the table is transposed) will be disabled because it is not possible for the table to reallocate your data. When resource XmNuseOriginalData is True, you should use function XintEditTableFillColumnData to fill the table.

Note: this resource can only be set at creation time.


XmNvalidateValueCallback

Specifies the list of callbacks to be called so that the application can validate the input when the end user has changed the value of a cell.

XmNverticalAnnotationPlacement

Specifies the placement of vertical annotation. You can specify one the following constants:

Defined ConstantDescription
XintPLACEMENT_NONENo vertical annotation displayed.
XintPLACEMENT_RIGHTVertical annotation is displayed to the right of the table.
XintPLACEMENT_LEFTVertical annotation is displayed to the left of the table.
XintPLACEMENT_LEFT_RIGHT (default)Vertical annotation is displayed both left and right of the table.


XmNverticalCellMargin

Specifies the height (in pixels) of the margin between the top edge of cell's value and the top edge of the cell. The same value is used for the margin between the bottom edge of a cell's value and the bottom edge of the cell.

XmNverticalLabel

Specifies a single or multiple line string that provides labelling for the vertical annotation. The label placement is controlled by resource XmNverticalLabelPlacement.

XmNverticalLabelAlignment

Specifies the alignment of each line of the vertical label. Multiple lines can be specified by inserting the special character `\n' between lines in the label string. Label lines are adjusted in respect to the vertical label area, which is the same height as the widget's display area. For a vertical label, beginning alignment means the lines are justified to the top of the widget's display area and continue downward. End alignment means these lines will be justified to the bottom of the widget's display area and continue upward. You can specify one of the following constants:

Defined ConstantDescription
XintALIGNMENT_BEGINNINGLines of the label are aligned with the top of the widget's display area.
XintALIGNMENT_CENTERLines of the label are centered.
XintALIGNMENT_ENDLines of the label are aligned with the bottom of the widget's display area.


XmNverticalLabelFont

Specifies the name of a font used to draw the vertical label specified by the resource XmNverticalLabel.

XmNverticalLabelOrientation

Specifies the orientation of the label string. Specify the constant XintPARALLEL_TO_AXIS to have the label rotated 90 degrees from the horizontal and placed along the vertical axis, or specify the constant XintSTACKED to have the letters of the label stacked vertically.

XmNverticalLabelPlacement

Specifies the placement of the vertical label. You can specify one of the following constants:

Defined ConstantDescription
XintPLACEMENT_LEFTThe vertical label is drawn left of the widget's display area.
XintPLACEMENT_RIGHTThe vertical label is drawn right of the widget's display area.
XintPLACEMENT_LEFT_RIGHTThe vertical label is drawn both left and right of the widget's display area.


XmNverticalScrollIncrement

Specifies the number of pixels the EditTable widget will scroll vertically when the up or down scrollbar arrow is pressed. Specify 0 (default) to have the the EditTable scroll an entire cell height.

Constraint Resources

The following constraint resources can be specified on a widget inserted in an EditTable widget. They specify the range of cells into which the widget will be inserted and whether or not some resources will be automatically applied when the widget is mapped to a cell.

NameTypeDefaultAccess
XmNcellWidgetRangeXintCellWidgetRange *NULLCSG
XmNcellWidgetSetResourcesBooleanTrueCSG
XmNcellWidgetOverrideTranslationsBooleanTrueCSG


XmNcellWidgetRange

Specifies the range of EditTable cells that will contain the designated widget. This resource is a pointer to a structure as shown below.

   typedef struct {
                   int row; 
                   int rows; 
                   int column; 
                   int columns;
   } XintCellWidgetRange;

Where the structure variables are:

MemberDescription
rowStarting row in the range of cells that contain the widget.
rowsNumber of rows in the range of cells that contain the widget. 0 = all rows in the table, beginning with the starting row.
columnStarting column in the range of cells that contain the widget.
columnsNumber of columns in the range of cells that contain the widget. 0 = all columns in the table, beginning with the starting column.


XmNcellWidgetSetResources

Specifies whether or not the EditTable will automatically set a number of cell resources for the most common Motif widgets to the values shown below.

Resource NameAutomatic Setting
XmNlabelStringCurrent cell content, as a string.
XmNfontListCurrent cell font.
XmNbackgroundCurrent cell background.
XmNforegroundCurrent cell foreground.
XmNalignmentCurrent cell alignment.
XmNsensitiveCurrent cell sensitivity.

XmNcellWidgetSetResources should be set just before calling the XmNcellWidgetDisplayCallback callback. If this resource is set to False and the XmNcellWidgetDisplayCallback is omitted, the visual characteristics of the cells will be undefined.


XmNcellWidgetOverrideTranslations

Specifies whether or not to change or replace the translations of the widget in a cell so that arrows and tab keys take you back to the table process rather than the focus remaining in the mapped widget.

Widget In A Cell Example

The following code fragment illustrates the ease of installing Widget In A Cell and setting its resources. Since XmNcellWidgetSetResources is True by default, the cell values will be set automatically.

   /*
    * Create the edit table
    */
   edit_table = XtCreateManagedWidget("edit_table",
                                      xintEditTableWidgetClass, 
                                      scroll, arg, n);
   
   /*
    * Put a widget into cells that span 400 rows and 2 columns
    */
   range.row     = 1;
   range.rows    = 400;
   range.column  = 1;
   range.columns = 2;
   XtVaCreateWidget("pushb", xmPushButtonWidgetClass,
                    edit_table, XmNcellWidgetRange, &range, NULL);