#ifndef _XmMultiList_h_ #define _XmMultiList_h_ #include #if defined(__cplusplus) extern "C" { #endif #define XmANY_COLUMN -1 externalref WidgetClass xmMultiListWidgetClass; typedef struct _XmMultiListClassRec *XmMultiListWidgetClass; typedef struct _XmMultiListRec *XmMultiListWidget; typedef struct _XmMultiListRowInfo { /* * Used by the XmIList widget. */ XmString * values; /* The array of column strings */ Pixmap pixmap; /* the mini-icon pixmaps. */ Boolean selected; /* Is this row selected. */ /* * Provided for the convience of the application programmer. */ short *sort_id; XtPointer data; /* * Private to the XmIList widget (do not modify these). */ short pix_width; /* width of the pixmap. */ short pix_height; /* height of the pixmap. */ short height; /* height of the row */ Boolean old_sel_state; /* previous select state. */ short pix_depth; /* height of the pixmap. */ } XmMultiListRowInfo; typedef struct _XmMultiListCallbackStruct { int reason; /* Why was callback called? */ XEvent *event; /* The X Event associated with find button press... */ String string; /* The search string used to do find */ int column; /* The column index into row values */ XmMultiListRowInfo *row; /* The row info structure of the matching row */ wchar_t *wc_string; /* The search wcs string used to do find */ } XmMultiListCallbackStruct; typedef int (*Xm18SortFunction) \ (short, const XmMultiListRowInfo *, const XmMultiListRowInfo *); /************************************************************ * GLOBAL DECLARATIONS *************************************************************/ /* * Function Name: XmMultiListGetSelectedRows * Description: Takes an Extended List and returns a NULL terminated array * of pointers to selected rows from the internal list * Arguments: w - the extended list widget * Returns: XmMultiListRowInfo ** */ XmMultiListRowInfo ** XmMultiListGetSelectedRows(Widget w); /* Function Name: XmCreateExtended18List * Description: Creation Routine for UIL and ADA. * Arguments: parent - the parent widget. * name - the name of the widget. * args, num_args - the number and list of args. * Returns: The Widget created. */ extern Widget XmCreateMultiList(Widget w, char *name, ArgList args, Cardinal num_args); extern Widget XmCreateMultiList(Widget w, char *name, ArgList args, Cardinal num_args); extern Widget XmVaCreateMultiList( Widget parent, char *name, ...); extern Widget XmVaCreateManagedMultiList( Widget parent, char *name, ...); /* Function Name: XmMultiListUnselectAllItems * Description: Unselects all rows * Arguments: w - the ilist widget. * Returns: none */ extern void XmMultiListUnselectAllItems(Widget w); /* Function Name: XmMultiListUnselectItem * Description: Unselects the row passed in * Arguments: w - the ilist widget. * row_info - ptr to the row passed in * Returns: none */ extern void XmMultiListUnselectItem(Widget w, XmMultiListRowInfo *row_info); /* Function Name: XmMultiListToggleRow * Description: Toggles the selection state of a specified row * Arguments: w - the extended list widget * Returns: none */ extern void XmMultiListToggleRow(Widget w, short row); /* Function Name: XmMultiListSelectItems * Description: Set selection state by matching column entries to XmString * Arguments: w - the extended list widget * item - XmString to use as selection key * column - column number (0 - N) to match (or XmANY_COLUMN) * notify - if True, call XmNsingleSelectionCallback * Returns: none */ extern void XmMultiListSelectItems(Widget w, XmString item, int column, Boolean notify); /* Function Name: XmMultiListDeselectItems * Description: Set selection state by matching column entries to XmString * Arguments: w - the extended list widget * item - XmString to use as selection key * column - column number (0 - N) to match (or XmANY_COLUMN) * Returns: none */ extern void XmMultiListDeselectItems(Widget w, XmString item, int column); /* Function Name: XmMultiListSelectAllItems * Description: Set selection state on all rows * Arguments: w - the extended list widget * notify - if True, call XmNsingleSelectionCallback for each * Returns: none */ extern void XmMultiListSelectAllItems(Widget w, Boolean notify); /* Function Name: XmMultiListSelectRow * Description: Set selection state on all rows * Arguments: w - the extended list widget * row - the row to select * notify - if True, call XmNsingleSelectionCallback * Returns: none */ extern void XmMultiListSelectRow(Widget w, int row, Boolean notify); /* Function Name: XmMultiListDeselectRow * Description: Set selection state on all rows * Arguments: w - the extended list widget * row - the row to select * Returns: none */ extern void XmMultiListDeselectRow(Widget w, int row); /* * Function Name: XmMultiListGetSelectedRowArray * Description: Takes an Extended List and returns a NULL terminated array * of pointers to selected rows from the internal list * Arguments: w - the extended list widget * num_rows - pointer to the number of rows * Returns: array of integer (selected) row numbers */ extern int *XmMultiListGetSelectedRowArray(Widget w, int *num_rows); /* Function Name: XmMultiListMakeRowVisible * Description: Shifts the visible extended list rows as desired * Arguments: w - the extended list widget * row - the row number wished to be made visible * Returns: none */ extern void XmMultiListMakeRowVisible(Widget w, int row); #if defined(__cplusplus) } #endif #endif /* _XmMultiList_h_ */