The objects used for cell values and headings are typically Strings, Numbers, and CgIcons, but this is not a requirement. It is possible for an application to use any object as the cell value or heading. Any item which understands #ewHeightUsing:, #ewWidthUsing: and #ewDrawUsing: (called a “renderable object”) can be used for a cell value. Since String, Number, and CgIcon already implement the standard renderable object protocol, they can easily be used. Also, since Object provides default renderable behavior, any object can be rendered, although the default rendering is to render the object’s printString.
addedAt: position count:
countItem(s) were added to the collection of root items at the specified position. The position is specified as an index in the collection of root items only. Refresh the list.
applicationDrawnBackground: aBoolean
Specifies whether the application wants the Draw Background Callback to fire when an item’s background needs to be drawn. If this value is false, then the widget will draw the normal default background for each selected and non-selected item.
atRow: row column:
columnAnswer the string that is at
column@
row. If there is no value, an empty string will be returned. If there are labels (or name) associated with a given row or column, the argument for that coordinate may be a string corresponding to the label (or column name). Example include: 1@'Name', 'Name'@1, 'Name'@'Year', 1@1
atRow: row column: column put:
newValueSet the value that is at
column@
row to
newValue. If there are labels (or name) associated with a given row or column, the argument for that coordinate may be a string corresponding to the label (or column name). Example include: 1@'Name', 'Name'@1, 'Name'@'Year', 1@1
autosize: aBooleanSpecifies whether the autosizable columns should be autosized whenever the widget resizes.
buttonPolicy: anInteger
Specifies how the hierarchy buttons should be displayed (e.g., as buttons, as triangles or not at all.
cellAt:
aPointAnswer the value that is at aPoint.
cellAt: aPoint put:
newValueSet the value that is at aPoint to newValue.
childrenSelector: aSymbolSpecifies a unary selector sent to an item to return its children.
colorSelector: aSymbolSpecifies a unary selector sent to an item to return its label color.
deferRefreshWhile:
aBlockMinimize the repainting done while aBlock is being evaluated. This message may be safely nested. This message does not guarantee minimal repainting. Rather, it serves as a hint to the widget so that, where possible and appropriate, repainting can be deferred until the block has finished being evaluated.
deletedAt: position count:
countItem(s) were deleted from the collection of root items at the specified position. The position is specified as an index in the collection of root items only. Refresh the list.
deselectAllItems
Deselect and remove all elements from the selectedItems list. A selection callback is not triggered.
deselectColumn: columnDeselect the column given. This message unhighlights the heading of the specified column.
deselectItem: itemDeselect and remove the specified item from the selected list. A selection callback is not triggered.
deselectPos: positionDeselect and remove an item from the selected list by position. A selection callback is not triggered.
disabledSelector: aSymbolSpecifies selector sent to the row object to determine whether the row should be disabled.
expandCollapsePos: position notify: notifyExpand or collapse an item in the list by position to show or hide its children. If it is expanded, collapse it. If it is collapsed, expand it.
getItemPos:
positionAnswer the item in the list by position. This message answers a list item at the specified position or nil if position is greater than the size of the list. This message only accesses the list if the item is not visible.
getMatchPos: itemThis message returns an Array of Integer positions where a specified item is found in the items list. If the item does not occur in the list the resulting Array is empty.
getSelectedPos
Return an Array containing the positions of every selected item in the list.
hasChildrenSelector: aSymbolSet the unary selector sent to an item to return whether it has children.
headingFont: aString
Specifies the font list associated with the headings.
headingHeight: anIntegerSpecifies the height, in pixels, of the table's heading row. If unspecified (i.e., a nil value), the heading height will be automatically calculated to be the height of the tallest heading cell value. This height does not include sizings for etching, the heading separator, or other margins.
headingSeparatorThickness: anInteger
Specifies the thickness of the horizontal line separating the column headings from the rest of the table.
hierarchyPolicy: resourceValueSpecifies how to display and manage the hierarchy. For more information about hierarchy policies, refer to EwHierarchy and its subclasses.
iconExpandSelector: aSymbolSpecifies a unary selector sent to an item to return its expanded icon.
iconSelector: aSymbolSpecifies a unary selector sent to an item to return its icon.
indentationWidth: anIntegerSpecifies how many pixels each level of the hierarchy should be indented.
indexAtPoint: aPointAnswer the index of the item in the list which lies beneath the point given. If no item lies beneath the point or if the widget has not been drawn yet, then answer nil.
indexOf: itemAnswer the index of the item given in the list or 0 if the item is not present in the list.
initialStateSelector: aSymbolSpecifies a unary selector sent to an item to return its initial state (expanded or not).
isExpandedPos: positionAnswer whether an item in the list by position is expanded to show its children.
itemAtPoint: aPointAnswer the item in the list which lies beneath the point given.If no item lies beneath the point, then answer nil.
itemCount
Specifies the total number of items. This number might not match XmNitems, since this number is the size of the expanded hierarchy. It is automatically updated by the list whenever an element is added to or deleted from the list."
itemExists: itemAnswer whether a specified item is in the list.
itemHeight: anInteger
Specifies the height in pixels of items in the list. This includes the margin height on the top and bottom of the item as well as two pixels for emphasis.
itemIsVisible: itemCheck if a specified item is in the portion of the list that is currently visible. Answer true if it is even partially visible, false if it is not visible.
items: anOrderedCollection
An array of objects that are to be displayed as the list items.
itemsDo: aBlockEvaluate aBlock for each item in the receiver's list.
lines: aBooleanSpecifies whether the widget should display hierarchy lines.
lockedColumns: anInteger
Specifies the number of columns to be locked down on the left side of the table. A column can be locked only if its preceding column is also locked. When scrolling, the locked columns remain fixed on the left side and all other columns scroll under the locked columns. This value must be no greater than the number of columns.
parentOfItem: anItemAnswer the parent of the item given in the hierarchy or false if it is not in the expanded hierarchy. Answer nil if it is a root item.
refreshCell: cellPointRefresh a cell by item and column position.
refreshHierarchyPos: positionRefresh an item in the list by position. Also reobtain the item's children.
refreshNodeAt: positionRefresh the node at the given position. Answer whether or not a full refresh occurred.
refreshPos: positionRefresh an item in the list by position.
reorderable: aBooleanSpecifies whether all of the columns should be reorderable (can be dragged left and right).
resizable: aBooleanSpecifies whether all of the columns should be resizable by the user. If so, the user can drag the right side of a column heading to change the column width.
rowLabelSelector: aSymbolSpecifies a unary selector sent to an item to return its row label.
rowSeparators: aBoolean
Specifies whether the rows are separated by a horizontal line.
scrollHorizontal: aBoolean
This resource specifies whether a horizontal scroll bar should be used for the list.
selectableColumns: aBoolean
Defines whether the user may select columns by clicking on their headings.
selectColumn: columnSelect the column given. This message selects the heading of the specified column.
selectedItems: anOrderedCollection
An OrderedCollection of Objects that represents the list items that are currently selected, either by the user or the application.
selectItem: item notify: notifySelect an item in the list. This message selects and adds the specified item to the current selected list. The cursor moves to the newly selected item.
selectPos: position notify: notifySelect an item in the list by position. This message selects a list item at the specified position and adds it to the list of selected items.
separatorsToExtremes: aBoolean
Defines whether row and column separators are to be extended to the extreme right and bottom edges of the table.
setBottomItem: itemMake the given item the last visible item in the list. The item can be any valid item in the list.
setBottomPos: positionMake an item the last visible item in the list by position. This message makes the item at the specified position the last visible item in the list.
setFirstColumnPos: positionMake a column the first visible column by position. This message makes the column at the given position the first visible column. If this column is locked, this message has no effect. If there are locked columns and this column is not locked, then this column becomes the first column visible beyond the locked columns.
setItem: itemMake the given item the first visible item in the list. The item can be any valid item in the list.
setLastColumnPos: positionMake a column the last visible column by position. This message makes the column at the given position the last visible column. If this column is locked, this message has no effect. If there are locked columns and this column is not locked, then this column becomes the last column visible.
setPos: positionMake an item the first visible item in the list by position. This message makes the item at the given position the first visible position in the list.
showLines: aBooleanSet whether vertical separator lines should be displayed.
showRowHeading: aBooleanSpecifies whether the row heading should be displayed.
sortable: aBooleanSpecifies whether all of the columns should be sortable.
sortOn: column ascending: aBooleanSort the items based on <column> either ascending or descending.
topItemPosition: anInteger
Specifies the Integer position of the item that is the first visible item in the list.
visibleItemCount
Specifies the number of items that can fit in the visible space of the list. Until the list is realized, this answers 0.
visualStyle: anInteger
Defines the how the cells are displayed.
Browse Selection Callback
These callbacks are triggered when an item is selected in the browse selection mode. It is only valid when Selection Policy is Browse Select.
Children Callback
These callbacks are triggered when an item’s list of children is needed.
Extended Selection Callback
These callbacks are triggered when items are selected using the extended selection mode. It is only valid when Selection Policy is Extended Select.
Modify Verify Callback
These callbacks are triggered when the selection is about to be changed. The application may ‘undo’ the selection change by setting the doit field of the callData to false.
Multiple Selection Callback
These callbacks are triggered when an item is selected in multiple selection mode. It is only valid when Selection Policy is Multiple Select.
Single Selection Callback
These callbacks are triggered when an item is selected in single selection mode. It is only valid when Selection Policy is Single Select.
Visual Info Callback
These callbacks are triggered when an item’s icon, label and isInUse are needed. The application MUST hook this callback and set the callData icon to the CgIcon (or other renderable object) to be displayed as the icon for the item in callData item. It must also set the callData label to the String (or other renderable object) to be displayed as the label for the item.
Application Drawn Background
Specifies whether the application wants the Draw Background Callback to fire when an item’s background needs to be drawn. If this value is false, then the widget will draw the normal default background for each selected and non-selected item.
AutosizeSpecifies whether the autosizable columns should be autosized whenever the widget resizes.
Button PolicySpecifies how the hierarchy buttons should be displayed (e.g., as buttons, as triangles or not at all.
Border Width
Specifies the width of the border that surrounds the widget’s window on all four sides. The width is specified in pixels. A width of zero means that no border will show.
Color SelectorSpecifies a unary selector sent to an item to return its label color.
Disabled SelectorSpecifies selector sent to the row object to determine whether the row should be disabled.
Enabled
Determines whether a widget will react to input events. Disabled (insensitive) widgets do not react to input events.
Icon SelectorSpecifies a unary selector sent to an item to return its icon.
Indentation WidthSpecifies how many pixels each level of the hierarchy should be indented.
Initial State SelectorSpecifies a unary selector sent to an item to return its initial state (expanded or not).
Item Height
Specifies the height in pixels of items in the list. This includes the margin height on the top and bottom of the item as well as two pixels for emphasis.
LinesSpecifies whether the widget should display hierarchy lines.
Locked Columns
Specifies the number of columns to be locked down on the left side of the table. A column can be locked only if its preceding column is also locked. When scrolling, the locked columns remain fixed on the left side and all other columns scroll under the locked columns. This value must be no greater than the number of columns.
Row Separators
Specifies whether the rows are separated by a horizontal line.
Scroll Horizontal
This resource specifies whether a horizontal scroll bar should be used for the list.
Selectable Columns
Defines whether the user may select columns by clicking on their headings.
Separators To Extremes
Defines whether row and column separators are to be extended to the extreme right and bottom edges of the table.
SortableSpecifies whether all of the columns should be sortable.
Top Item Position
Specifies the Integer position of the item that is the first visible item in the list.
Visible
Maps the widget (makes visible) as soon as it is both realized and managed, if set to True. If set to False, the client is responsible for mapping and unmapping the widget.
AutosizeSpecifies whether the column width should be autosized.
Background Color
Specifies selector sent to the row object to retrieve the background color for the cell. The color may also be hardcoded.
Callbacks
Launches the Callback Editor on the edited column.
Etched
Specifies whether this column is to be etched.
Foreground Color
Specifies selector sent to the row object to retrieve the foreground color for the cell. The color may also be hardcoded.
Get SelectorSpecifies selector sent to the row object to retrieve the data for the cell.
Heading
Specifies the heading object to be displayed at the top of the column.
List SelectorSpecifies selector sent to the row object to retrieve a list of values to populate the drop down list in the cell.
Minimum WidthSpecifies the minimum width of the column in pixels. This minimum applies to autosizing and user resizing operations.
NameSpecifies the name of the column. This name may be used to programmatically access the column. Note that this is distinct from the heading of the column.
ReorderableSpecifies whether the column is reorderable (can be dragged left and right).
Resizable
Specifies whether the column is resizable by the user. If so, the user can drag the right side of the column heading to change the column width
Set Font
Set the font for the edited column.
SortableSpecifies whether the column is sortable.
Vertical Alignment
Specifies how the cells and heading in this column should be aligned vertically.
Width
Specifies the width of the column in pixels. This does not includes the width of any emphasis or vertical separator.
Copyright 2005, 2020 Instantiations, Inc. All rights reserved.