1 #include <Xm/Xm.h>
2 #include <Xm/Form.h>
3 #include <Xm/RowColumn.h>
4 #include <Xm/CascadeB.h>
5 #include <Xm/CascadeBG.h>
6 #include <Xm/PushB.h>
7 #include <Xm/PushBG.h>
8 #include <Xm/SeparatoG.h>
9 #include <Xm/MenuShell.h>
10 #include <Xm/MainW.h>
11 #include <Xm/MessageB.h>
12 #include <Xm/Command.h>
13 #include <stdio.h>
14
15 int
main(int argc,char ** argv)16 main(int argc, char **argv)
17 {
18 XtAppContext theApp;
19 Widget shell, toplevel, menubar, filepane;
20 Widget button, button1, button2, sep;
21 Widget saveAsPane, button3, button4, button5;
22 Widget button6, button7, editpane;
23 Widget mb, com;
24 Widget one, two, three;
25 XmString xmstr;
26
27 shell = XtVaAppInitialize(&theApp, "mainW", NULL, 0,
28 &argc, argv, NULL, NULL);
29
30 toplevel = XmCreateMainWindow(shell, "MainWindow", NULL, 0);
31 XtManageChild(toplevel);
32
33 menubar = XmCreateMenuBar(toplevel,
34 "menuBar",
35 NULL,0);
36 XtManageChild(menubar);
37
38 filepane = XmCreatePulldownMenu(menubar,
39 "pane",
40 NULL,0);
41
42 xmstr = XmStringCreateSimple("File");
43
44 button = XtVaCreateManagedWidget("File",
45 xmCascadeButtonWidgetClass,
46 menubar,
47 XmNsubMenuId, filepane,
48 XmNlabelString, xmstr,
49 NULL);
50
51 editpane = XmCreatePulldownMenu(menubar,
52 "pane2",
53 NULL, 0);
54
55 button6 = XtVaCreateManagedWidget("Edit",
56 xmCascadeButtonGadgetClass,
57 menubar,
58 XmNsubMenuId, editpane,
59 NULL);
60
61 button7 = XtVaCreateManagedWidget("Cut",
62 xmPushButtonGadgetClass,
63 editpane,
64 NULL);
65
66 button1 = XtVaCreateManagedWidget("Open",
67 xmPushButtonGadgetClass,
68 filepane,
69 NULL);
70
71 sep = XtVaCreateManagedWidget("sep",
72 xmSeparatorGadgetClass,
73 filepane,
74 NULL);
75
76 button2 = XtVaCreateManagedWidget("Close",
77 xmPushButtonWidgetClass,
78 filepane,
79 NULL);
80
81 saveAsPane = XmCreatePulldownMenu(filepane,
82 "save_as",
83 NULL, 0);
84
85 button3 = XtVaCreateManagedWidget("Save As",
86 xmCascadeButtonWidgetClass,
87 filepane,
88 XmNsubMenuId, saveAsPane,
89 NULL);
90
91 button4 = XtVaCreateManagedWidget("MS Word",
92 xmPushButtonWidgetClass,
93 saveAsPane,
94 NULL);
95
96 button5 = XtVaCreateManagedWidget("LaTeX",
97 xmPushButtonWidgetClass,
98 saveAsPane,
99 NULL);
100
101 mb = XtVaCreateManagedWidget("mb", xmMessageBoxWidgetClass, toplevel, NULL);
102 XtVaSetValues(toplevel, XmNmessageWindow, mb, NULL);
103
104 com = XtVaCreateManagedWidget("com", xmCommandWidgetClass, toplevel, NULL);
105
106 one = XtVaCreateManagedWidget("form", xmFormWidgetClass, toplevel,
107 NULL);
108
109 two = XtVaCreateManagedWidget("two", xmPushButtonWidgetClass, one,
110 XmNtopAttachment, XmATTACH_FORM,
111 XmNbottomAttachment, XmATTACH_FORM,
112 XmNleftAttachment, XmATTACH_NONE,
113 XmNrightAttachment, XmATTACH_FORM,
114 NULL);
115
116 three = XtVaCreateManagedWidget("three", xmPushButtonWidgetClass, one,
117 XmNtopAttachment, XmATTACH_FORM,
118 XmNbottomAttachment, XmATTACH_FORM,
119 XmNleftAttachment, XmATTACH_FORM,
120 XmNrightAttachment, XmATTACH_WIDGET,
121 XmNrightWidget, two,
122 NULL);
123
124 XmMainWindowSetAreas(toplevel, menubar, com, NULL, NULL, one);
125
126 XtRealizeWidget(shell);
127
128 /* toplevel should be replaced with to correct applicationShell */
129
130 {
131 static XtWidgetGeometry Expected[] = {
132 CWWidth | CWHeight , 508, 524, 212, 356, 0,0,0, /* MainWindow */
133 CWWidth | CWHeight | CWX | CWY, 0, 0, 212, 31, 0,0,0, /* menuBar */
134 CWWidth | CWHeight | CWX | CWY, 5, 5, 40, 21, 0,0,0, /* File */
135 CWWidth | CWHeight | CWX | CWY, 45, 5, 40, 21, 0,0,0, /* Edit */
136 CWWidth | CWHeight | CWX | CWY, 0, 269, 212, 87, 0,0,0, /* mb */
137 CWWidth | CWHeight | CWX | CWY, 0, 0, 4, 4, 0,0,0, /* Symbol */
138 CWWidth | CWHeight | CWX | CWY, 10, 10, 192, 4, 0,0,0, /* Message */
139 CWWidth | CWHeight | CWX | CWY, 0, 24, 212, 2, 0,0,0, /* Separator */
140 CWWidth | CWHeight | CWX | CWY, 10, 36, 64, 41, 0,0,0, /* OK */
141 CWWidth | CWHeight | CWX | CWY, 74, 36, 64, 41, 0,0,0, /* Cancel */
142 CWWidth | CWHeight | CWX | CWY, 138, 36, 64, 41, 0,0,0, /* Help */
143 CWWidth | CWHeight | CWX | CWY, 0, 31, 212, 213, 0,0,0, /* com */
144 CWWidth | CWHeight | CWX | CWY, 10, 10, 192, 135, 0,0,0, /* ItemsListSW */
145 CWWidth | CWHeight | CWX | CWY, 0, 0, 192, 135, 0,0,0, /* ItemsList */
146 CWWidth | CWHeight | CWX | CWY, 10, 155, 192, 17, 0,0,0, /* Selection */
147 CWWidth | CWHeight | CWX | CWY, 10, 172, 192, 31, 0,0,0, /* Text */
148 CWWidth | CWHeight | CWX | CWY, 0, 244, 212, 25, 0,0,0, /* form */
149 CWWidth | CWHeight | CWX | CWY, 182, 0, 30, 25, 0,0,0, /* two */
150 CWWidth | CWHeight | CWX | CWY, 0, 0, 182, 25, 0,0,0, /* three */
151 };
152 PrintDetails(shell,Expected);
153 };
154 LessTifTestMainLoop(shell);
155
156 exit(0);
157 }
158
159