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