1 #include <stdio.h>
2 #include <Xm/Xm.h>
3 #include <Xm/ScaleP.h>
4
dragCallback(Widget w,XtPointer clientData,XtPointer callData)5 void dragCallback(Widget w, XtPointer clientData, XtPointer callData)
6 {
7 XmScaleCallbackStruct *cbs = (XmScaleCallbackStruct *)callData;
8
9 printf ("dragCallback: %d\n", cbs->value);
10 }
11
valueChangedCallback(Widget w,XtPointer clientData,XtPointer callData)12 void valueChangedCallback(Widget w, XtPointer clientData, XtPointer callData)
13 {
14 XmScaleCallbackStruct *cbs = (XmScaleCallbackStruct *)callData;
15
16 printf ("valueChangedCallback: %d\n", cbs->value);
17 }
18
19 static char *Fallback[] = {
20 "*XmScale.background: red",
21 NULL
22 };
23
24 int
main(int argc,char ** argv)25 main(int argc, char **argv)
26 {
27 Widget toplevel, one;
28 XtAppContext app;
29 unsigned int maximum;
30
31 XtSetLanguageProc(NULL, NULL, NULL);
32
33 toplevel = XtVaAppInitialize(&app, "Scale", NULL, 0, &argc, argv, Fallback,
34 XmNwidth, 100,
35 NULL);
36
37 one = XtVaCreateManagedWidget("sb", xmScaleWidgetClass, toplevel,
38 XmNorientation, XmVERTICAL,
39 XmNscaleHeight, 100,
40 XmNwidth, 100,
41 NULL);
42
43 XtAddCallback(one, XmNdragCallback, dragCallback, NULL);
44 XtAddCallback(one, XmNvalueChangedCallback, valueChangedCallback, NULL);
45
46 XtRealizeWidget(toplevel);
47
48 XtVaGetValues(one, XmNmaximum, &maximum, NULL);
49
50 printf ("one.maximum = %u\n", maximum);
51
52
53 {
54 static XtWidgetGeometry Expected[] = {
55 CWWidth | CWHeight , 50, 50, 100, 100, 0,0,0, /* sb */
56 CWWidth | CWHeight | CWX | CWY, 81, 0, 19, 100, 0,0,0, /* Scrollbar */
57 };
58 PrintDetails(toplevel,Expected);
59 };
60 LessTifTestMainLoop(toplevel);
61
62 exit(0);
63 }
64