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 XtVaSetValues(toplevel,
32 XmNcommandWindowLocation, XmCOMMAND_BELOW_WORKSPACE,
33 NULL);
34 XtManageChild(toplevel);
35
36 menubar = XmCreateMenuBar(toplevel,
37 "menuBar",
38 NULL,0);
39 XtManageChild(menubar);
40
41 filepane = XmCreatePulldownMenu(menubar,
42 "pane",
43 NULL,0);
44
45 xmstr = XmStringCreateSimple("File");
46
47 button = XtVaCreateManagedWidget("File",
48 xmCascadeButtonWidgetClass,
49 menubar,
50 XmNsubMenuId, filepane,
51 XmNlabelString, xmstr,
52 NULL);
53
54 editpane = XmCreatePulldownMenu(menubar,
55 "pane2",
56 NULL, 0);
57
58 button6 = XtVaCreateManagedWidget("Edit",
59 xmCascadeButtonGadgetClass,
60 menubar,
61 XmNsubMenuId, editpane,
62 NULL);
63
64 button7 = XtVaCreateManagedWidget("Cut",
65 xmPushButtonGadgetClass,
66 editpane,
67 NULL);
68
69 button1 = XtVaCreateManagedWidget("Open",
70 xmPushButtonGadgetClass,
71 filepane,
72 NULL);
73
74 sep = XtVaCreateManagedWidget("sep",
75 xmSeparatorGadgetClass,
76 filepane,
77 NULL);
78
79 button2 = XtVaCreateManagedWidget("Close",
80 xmPushButtonWidgetClass,
81 filepane,
82 NULL);
83
84 saveAsPane = XmCreatePulldownMenu(filepane,
85 "save_as",
86 NULL, 0);
87
88 button3 = XtVaCreateManagedWidget("Save As",
89 xmCascadeButtonWidgetClass,
90 filepane,
91 XmNsubMenuId, saveAsPane,
92 NULL);
93
94 button4 = XtVaCreateManagedWidget("MS Word",
95 xmPushButtonWidgetClass,
96 saveAsPane,
97 NULL);
98
99 button5 = XtVaCreateManagedWidget("LaTeX",
100 xmPushButtonWidgetClass,
101 saveAsPane,
102 NULL);
103
104 mb = XtVaCreateManagedWidget("mb", xmMessageBoxWidgetClass, toplevel, NULL);
105 XtVaSetValues(toplevel, XmNmessageWindow, mb, NULL);
106
107 com = XtVaCreateManagedWidget("com", xmCommandWidgetClass, toplevel, NULL);
108 XtVaSetValues(toplevel, XmNmessageWindow, mb, NULL);
109
110 one = XtVaCreateManagedWidget("form", xmFormWidgetClass, toplevel,
111 NULL);
112
113 two = XtVaCreateManagedWidget("two", xmPushButtonWidgetClass, one,
114 XmNtopAttachment, XmATTACH_FORM,
115 XmNbottomAttachment, XmATTACH_FORM,
116 XmNleftAttachment, XmATTACH_NONE,
117 XmNrightAttachment, XmATTACH_FORM,
118 NULL);
119
120 three = XtVaCreateManagedWidget("three", xmPushButtonWidgetClass, one,
121 XmNtopAttachment, XmATTACH_FORM,
122 XmNbottomAttachment, XmATTACH_FORM,
123 XmNleftAttachment, XmATTACH_FORM,
124 XmNrightAttachment, XmATTACH_WIDGET,
125 XmNrightWidget, two,
126 NULL);
127
128 XmMainWindowSetAreas(toplevel, menubar, com, NULL, NULL, one);
129
130 XtRealizeWidget(shell);
131
132
133 {
134 static XtWidgetGeometry Expected[] = {
135 CWWidth | CWHeight , 508, 524, 212, 356, 0,0,0, /* MainWindow */
136 CWWidth | CWHeight | CWX | CWY, 0, 0, 212, 31, 0,0,0, /* menuBar */
137 CWWidth | CWHeight | CWX | CWY, 5, 5, 40, 21, 0,0,0, /* File */
138 CWWidth | CWHeight | CWX | CWY, 45, 5, 40, 21, 0,0,0, /* Edit */
139 CWWidth | CWHeight | CWX | CWY, 0, 269, 212, 87, 0,0,0, /* mb */
140 CWWidth | CWHeight | CWX | CWY, 0, 0, 4, 4, 0,0,0, /* Symbol */
141 CWWidth | CWHeight | CWX | CWY, 10, 10, 192, 4, 0,0,0, /* Message */
142 CWWidth | CWHeight | CWX | CWY, 0, 24, 212, 2, 0,0,0, /* Separator */
143 CWWidth | CWHeight | CWX | CWY, 10, 36, 64, 41, 0,0,0, /* OK */
144 CWWidth | CWHeight | CWX | CWY, 74, 36, 64, 41, 0,0,0, /* Cancel */
145 CWWidth | CWHeight | CWX | CWY, 138, 36, 64, 41, 0,0,0, /* Help */
146 CWWidth | CWHeight | CWX | CWY, 0, 56, 212, 213, 0,0,0, /* com */
147 CWWidth | CWHeight | CWX | CWY, 10, 10, 192, 135, 0,0,0, /* ItemsListSW */
148 CWWidth | CWHeight | CWX | CWY, 0, 0, 192, 135, 0,0,0, /* ItemsList */
149 CWWidth | CWHeight | CWX | CWY, 10, 155, 192, 17, 0,0,0, /* Selection */
150 CWWidth | CWHeight | CWX | CWY, 10, 172, 192, 31, 0,0,0, /* Text */
151 CWWidth | CWHeight | CWX | CWY, 0, 31, 212, 25, 0,0,0, /* form */
152 CWWidth | CWHeight | CWX | CWY, 182, 0, 30, 25, 0,0,0, /* two */
153 CWWidth | CWHeight | CWX | CWY, 0, 0, 182, 25, 0,0,0, /* three */
154 };
155 PrintDetails(shell,Expected);
156 };
157 LessTifTestMainLoop(shell);
158
159 exit(0);
160 }
161
162