1 /* $Header: /cvsroot/lesstif/lesstif/test/Xm/textf/test15.c,v 1.1 2002/05/13 18:23:45 dannybackx Exp $ */
2 
3 #include <stdlib.h>
4 #include <stdio.h>
5 #include <Xm/RowColumn.h>
6 #include <Xm/TextF.h>
7 #include <Xm/ToggleB.h>
8 
9 
Doit(Widget w,XtPointer client,XtPointer call)10 void Doit(Widget w, XtPointer client, XtPointer call)
11 {
12 	char	*s = (char *)client;
13 	String	v = NULL;
14 	short	rows;
15 
16 	fprintf(stderr, "Callback %s, widget value '%s'\n", s, XmTextFieldGetString(w));
17 
18 	XtVaGetValues(w,
19 		XmNvalue,	&v,
20 		XmNrows,	&rows,
21 	    NULL);
22 
23 	fprintf(stderr, "GetValues => value '%s', rows %d\n", v, rows);
24 	XtFree(v);
25 }
26 
change(Widget w,XtPointer client,XtPointer call)27 void change(Widget w, XtPointer client, XtPointer call)
28 {
29 	Widget t = (Widget)client;
30 	XmToggleButtonCallbackStruct *cbp = (XmToggleButtonCallbackStruct*)call;
31 
32 	fprintf(stderr, "Setting text sensitive to %d\n", cbp->set);
33 	XtSetSensitive(t, cbp->set);
34 }
35 
36 char *fallback[] = {
37 	"*text*blinkRate:	500",
38 	"*text.value:		abc",
39 	"*.geometrySlop: 2",
40 	NULL
41 };
42 
43 int
main(int argc,char ** argv)44 main(int argc, char **argv)
45 {
46   Widget toplevel, text, rc, toggle;
47   XtAppContext app;
48 
49   XtSetLanguageProc(NULL, NULL, NULL);
50 
51   toplevel = XtVaAppInitialize(&app,"Label",NULL,0,&argc,argv, fallback, NULL);
52 
53   rc = XtVaCreateManagedWidget("rc", xmRowColumnWidgetClass, toplevel,
54 	NULL);
55 
56   toggle = XtVaCreateManagedWidget("sensitive", xmToggleButtonWidgetClass,
57 	rc,
58 		XmNset,	True,
59 	NULL);
60 
61   text = XtVaCreateManagedWidget("text", xmTextFieldWidgetClass, rc,
62 		XmNrows, 10,
63 	NULL);
64 
65   XtAddCallback(toggle, XmNvalueChangedCallback, change, (XtPointer)text);
66 /*  XtAddCallback(toggle, XmNvalueChangedCallback, Doit, XmNvalueChangedCallback); */
67 
68   XtAddCallback(text, XmNmodifyVerifyCallback, Doit, XmNmodifyVerifyCallback);
69   XtAddCallback(text, XmNactivateCallback, Doit, XmNactivateCallback);
70   XtAddCallback(text, XmNlosingFocusCallback, Doit, XmNlosingFocusCallback);
71   XtAddCallback(text, XmNfocusCallback, Doit, XmNfocusCallback);
72 
73   XtRealizeWidget(toplevel);
74 
75 
76 {
77     static XtWidgetGeometry Expected[] = {
78    CWWidth | CWHeight            ,   56,   72,  144,   63, 0,0,0, /* rc */
79    CWWidth | CWHeight | CWX | CWY,    3,    3,  138,   23, 0,0,0, /* sensitive */
80    CWWidth | CWHeight | CWX | CWY,    3,   29,  138,   31, 0,0,0, /* text */
81     };
82     PrintDetails(toplevel,Expected);
83 };
84   LessTifTestMainLoop(toplevel);
85 
86   exit(0);
87 }
88