Blame lib/Xm/MultiList.h

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_ */