mirror of https://github.com/XEphem/XEphem.git
190 lines
6.2 KiB
C
190 lines
6.2 KiB
C
#ifndef _XmMultiList_h_
|
|
#define _XmMultiList_h_
|
|
|
|
#include <Xm/Ext.h>
|
|
|
|
#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_ */
|