1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 #include <Xm/Xm.h>
51 #include <Mrm/MrmPublic.h>
52 #include <XmL/Folder.h>
53 #include <XmL/Grid.h>
54 #include <XmL/Progress.h>
55 #include <XmL/Tree.h>
56 #include <stdio.h>
57
58 main(argc, argv)
59 int argc;
60 String argv[];
61 {
62 Display *dpy;
63 XtAppContext app;
64 Widget toplevel, tree, shellForm;
65 Pixmap pixmap;
66 XmString str;
67 MrmHierarchy hier;
68 MrmCode clas;
69 static char *files[] = {
70 "uil1.uid" };
71
72 MrmInitialize ();
73 XtToolkitInitialize();
74 app = XtCreateApplicationContext();
75 dpy = XtOpenDisplay(app,
NULL, argv[
0],
"Uil1",
76 NULL,
0, &argc, argv);
77 if (dpy ==
NULL) {
78 fprintf(stderr,
"%s: Can''t open display\n", argv[
0]);
79 exit(
1);
80 }
81
82 toplevel = XtVaAppCreateShell(argv[
0],
NULL,
83 applicationShellWidgetClass, dpy,
84 XmNwidth,
400,
85 XmNheight,
300,
86 NULL);
87
88 if (MrmOpenHierarchy (
1, files,
NULL, &hier) != MrmSUCCESS)
89 printf (
"can''t open hierarchy\n");
90
91 MrmRegisterClass(
0,
NULL,
"XmLCreateFolder",
92 XmLCreateFolder, xmlFolderWidgetClass);
93 MrmRegisterClass(
0,
NULL,
"XmLCreateGrid",
94 XmLCreateGrid, xmlGridWidgetClass);
95 MrmRegisterClass(
0,
NULL,
"XmLCreateProgress",
96 XmLCreateProgress, xmlProgressWidgetClass);
97 MrmRegisterClass(
0,
NULL,
"XmLCreateTree",
98 XmLCreateTree, xmlTreeWidgetClass);
99
100 if (MrmFetchWidget(hier,
"shellForm", toplevel, &shellForm,
101 &clas) != MrmSUCCESS)
102 printf(
"can''t fetch shellForm\n");
103
104 tree = XtNameToWidget(shellForm,
"*tree");
105
106
107 pixmap = XmUNSPECIFIED_PIXMAP;
108 str = XmStringCreateSimple(
"Root");
109 XmLTreeAddRow(tree,
0, True, True, -
1, pixmap, pixmap, str);
110 XmStringFree(str);
111 str = XmStringCreateSimple(
"Child of Root");
112 XmLTreeAddRow(tree,
1, False, False, -
1, pixmap, pixmap, str);
113 XmStringFree(str);
114
115 XtManageChild(shellForm);
116 XtRealizeWidget(toplevel);
117 XtAppMainLoop(app);
118
119 return (
0);
120 }
121