
#include <Xm/Xm.h>
#include <Xm/Form.h>
#include "Label.h"
#include "Slider.h"

void ValChanged(Widget w, caddr_t client_data, caddr_t call_data)

{
  Widget lab;
  double val;
  char text[20];
  Arg args[2];

  lab = (Widget) client_data;
  val = *((double *) call_data);
  sprintf(text, "%f @g(u)A", val);
  XtSetArg(args[0], XtNlabelString, text);
  XtSetValues(lab, args, 1);
}



void main(Cardinal argc, char *argv[])

{
  Widget toplevelshell, form, label, slider;
  Arg args[4];
  int n = 0;

  toplevelshell = XtInitialize("testslider", "Testslider", NULL, 0, &argc, argv);
  form = XtCreateManagedWidget("formtest", xmFormWidgetClass, toplevelshell,
			       NULL, 0);
  slider = XtCreateManagedWidget("slider", atSliderWidgetClass, form,
				 NULL, 0);
  label = XtCreateManagedWidget("label", atLabelWidgetClass, form,
				 NULL, 0);
  XtAddCallback(slider, XtNvalueChangedCallback, ValChanged, label);

  XtRealizeWidget(toplevelshell);
  XtMainLoop();
}
