/*
**	list.c
**
*/

#include <X11/Intrinsic.h>
#include <X11/Label.h>
#include <X11/List.h>
#include <X11/Form.h>
#include <X11/StringDefs.h>

void make_list (parent_widget,
		label_widget, label_name, label_string, 
		list_widget, list_name, list_items, list_calls, list_columns, 
		left_neighbour, left_distance, top_neighbour, top_distance)

Widget		parent_widget, *label_widget, *list_widget,
		left_neighbour, top_neighbour;
String		label_string, list_items [], label_name, list_name;
XtCallbackRec	list_calls [];
int		list_columns, left_distance, top_distance;

{
	int	i;
	Arg	label_args [30], list_args [30];

	i = 0;
	XtSetArg (label_args [i], XtNlabel, (XtArgVal) label_string); 
	i++;
	XtSetArg (label_args [i], XtNborderWidth, (XtArgVal) 0); 
	i++;
	XtSetArg (label_args [i], XtNfromHoriz, (XtArgVal) left_neighbour); 
	i++;
	XtSetArg (label_args [i], XtNhorizDistance, (XtArgVal) left_distance); 
	i++;
	XtSetArg (label_args [i], XtNfromVert, (XtArgVal) top_neighbour); 
	i++;
	XtSetArg (label_args [i], XtNvertDistance, (XtArgVal) top_distance); 
	i++;
	*label_widget = XtCreateManagedWidget (label_name, labelWidgetClass,
				parent_widget, label_args, i);

	i = 0;
	XtSetArg (list_args [i], XtNcallback, (XtArgVal) list_calls);
	i++;
	XtSetArg (list_args [i], XtNverticalList, (XtArgVal) True);
	i++;
	XtSetArg (list_args [i], XtNdefaultColumns, (XtArgVal) list_columns);
	i++;
	XtSetArg (list_args [i], XtNlist, (XtArgVal) list_items);
	i++;
	XtSetArg (list_args [i], XtNfromVert, (XtArgVal) *label_widget);
	i++;
	XtSetArg (list_args [i], XtNfromHoriz, (XtArgVal) left_neighbour);
	i++;
	XtSetArg (list_args [i], XtNhorizDistance, (XtArgVal) left_distance);
	i++;
	*list_widget = XtCreateManagedWidget (list_name, listWidgetClass,
				parent_widget, list_args, i);
}
