1 /*
2 * $Header: /cvsroot/lesstif/lesstif/test/Xm/scrolledwindow/test24.c,v 1.1 2005/01/16 11:03:17 dannybackx Exp $
3 *
4 * Add multiple children.
5 * Try to figure out what's wrong with bug # 993209
6 * */
7
8 #include <stdlib.h>
9 #include <stdio.h>
10
11 #include <Xm/XmAll.h>
12
13 Widget toplevel, form;
14 Widget sw, hsb, vsb, da;
15 Widget b1, b2, b3;
16
17 Widget arr[5];
18
Create(Widget w,XtPointer client,XtPointer call)19 void Create(Widget w, XtPointer client, XtPointer call)
20 {
21 int i = (int)client;
22 char s[20];
23 sprintf(s, "button %d", i);
24 arr[i] = XtVaCreateWidget(s, xmPushButtonWidgetClass, sw,
25 XmNx, 20,
26 XmNy, 20 + 20 * i,
27 NULL);
28 }
29
Manage(Widget w,XtPointer client,XtPointer call)30 void Manage(Widget w, XtPointer client, XtPointer call)
31 {
32 int i = (int)client;
33 XtManageChild(arr[i]);
34 }
35
Unmanage(Widget w,XtPointer client,XtPointer call)36 void Unmanage(Widget w, XtPointer client, XtPointer call)
37 {
38 int i = (int)client;
39 XtUnmanageChild(arr[i]);
40 }
41
42 int
main(int argc,char ** argv)43 main(int argc, char **argv)
44 {
45 int i;
46 XtAppContext appc;
47
48 XtSetLanguageProc(NULL, NULL, NULL);
49
50 toplevel = XtVaAppInitialize(&appc, "test", NULL, 0, &argc, argv, NULL, NULL);
51
52 form = XtVaCreateManagedWidget("form", xmFormWidgetClass, toplevel,
53 XmNwidth, 800,
54 XmNheight, 600,
55 NULL);
56
57 sw = XtVaCreateManagedWidget("sw", xmScrolledWindowWidgetClass, form,
58 XmNscrollingPolicy, XmAUTOMATIC,
59 XmNleftPosition, 50,
60 XmNleftAttachment, XmATTACH_POSITION,
61 XmNrightAttachment, XmATTACH_FORM,
62 XmNtopAttachment, XmATTACH_FORM,
63 XmNbottomAttachment, XmATTACH_FORM,
64 NULL);
65
66 for (i=0; i<5; i++) {
67 b1 = XtVaCreateManagedWidget("create", xmPushButtonWidgetClass, form,
68 XmNleftOffset, 10,
69 XmNleftAttachment, XmATTACH_FORM,
70 XmNrightAttachment, XmATTACH_SELF,
71 XmNtopAttachment, XmATTACH_FORM,
72 XmNtopOffset, 10 + 30 * i,
73 XmNbottomAttachment, XmATTACH_SELF,
74 NULL);
75 XtAddCallback(b1, XmNactivateCallback, Create, (XtPointer)i);
76 b2 = XtVaCreateManagedWidget("manage", xmPushButtonWidgetClass, form,
77 XmNleftOffset, 10,
78 XmNleftWidget, b1,
79 XmNleftAttachment, XmATTACH_WIDGET,
80 XmNrightAttachment, XmATTACH_SELF,
81 XmNtopAttachment, XmATTACH_FORM,
82 XmNtopOffset, 10 + 30 * i,
83 XmNbottomAttachment, XmATTACH_SELF,
84 NULL);
85 XtAddCallback(b2, XmNactivateCallback, Manage, (XtPointer)i);
86 b3 = XtVaCreateManagedWidget("unmanage", xmPushButtonWidgetClass, form,
87 XmNleftOffset, 10,
88 XmNleftWidget, b2,
89 XmNleftAttachment, XmATTACH_WIDGET,
90 XmNrightAttachment, XmATTACH_SELF,
91 XmNtopAttachment, XmATTACH_FORM,
92 XmNtopOffset, 10 + 30 * i,
93 XmNbottomAttachment, XmATTACH_SELF,
94 NULL);
95 XtAddCallback(b3, XmNactivateCallback, Unmanage, (XtPointer)i);
96 }
97
98 XtRealizeWidget(toplevel);
99
100 XtAppMainLoop(appc);
101 exit(0);
102 }
103