1 /*------------------------------------------------------------\
2 | |
3 | This file is part of the Alliance CAD System Copyright |
4 | (C) Laboratoire LIP6 - D�partement ASIM Universite P&M Curie|
5 | |
6 | Home page : http://www-asim.lip6.fr/alliance/ |
7 | E-mail : mailto:alliance-users@asim.lip6.fr |
8 | |
9 | This progam is free software; you can redistribute it |
10 | and/or modify it under the terms of the GNU General Public |
11 | License as published by the Free Software Foundation; |
12 | either version 2 of the License, or (at your option) any |
13 | later version. |
14 | |
15 | Alliance VLSI CAD System is distributed in the hope that |
16 | it will be useful, but WITHOUT ANY WARRANTY; |
17 | without even the implied warranty of MERCHANTABILITY or |
18 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
19 | Public License for more details. |
20 | |
21 | You should have received a copy of the GNU General Public |
22 | License along with the GNU C Library; see the file COPYING. |
23 | If not, write to the Free Software Foundation, Inc., |
24 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
25 | |
26 \------------------------------------------------------------*/
27
28 /*------------------------------------------------------------\
29 | |
30 | Tool : GRAAL |
31 | |
32 | File : Menu.c |
33 | |
34 | Author : Jacomme Ludovic |
35 | |
36 | Date : 28.03.95 |
37 | |
38 \------------------------------------------------------------*/
39 /*------------------------------------------------------------\
40 | |
41 | Include Files |
42 | |
43 \------------------------------------------------------------*/
44
45 # include <stdio.h>
46 # include <Xm/Xm.h>
47 # include <Xm/PushBG.h>
48 # include <Xm/CascadeBG.h>
49
50 # include "mut.h"
51 # include "mph.h"
52 # include "rds.h"
53 # include "rpr.h"
54 # include "GTB.h"
55 # include "GSB.h"
56 # include "GMX.h"
57 # include "GMV.h"
58
59 # include "GMV_menu.h"
60 # include "GMV_dialog.h"
61 # include "GMV_view.h"
62 # include "GMV_map.h"
63 # include "GMV_panel.h"
64
65 /*------------------------------------------------------------\
66 | |
67 | Constants |
68 | |
69 \------------------------------------------------------------*/
70 /*------------------------------------------------------------\
71 | |
72 | Types |
73 | |
74 \------------------------------------------------------------*/
75 /*------------------------------------------------------------\
76 | |
77 | Variables |
78 | |
79 \------------------------------------------------------------*/
80
81 char GraalFirstViewLayer = 1;
82
83 /*------------------------------------------------------------\
84 | |
85 | Menu |
86 | |
87 \------------------------------------------------------------*/
88
89 GraalMenuItem GraalViewMenu[] =
90
91 {
92 {
93 "Zoom",
94 'Z',
95 "Meta<Key>Z",
96 "Meta Z",
97 &xmPushButtonGadgetClass,
98 False,
99 False,
100 False,
101 CallbackViewZoom,
102 (XtPointer)NULL,
103 (Widget)NULL,
104 (Widget)NULL,
105 (GraalMenuItem *)NULL
106 }
107 ,
108 {
109 "Layers",
110 'L',
111 "Meta<Key>L",
112 "Meta L",
113 &xmPushButtonGadgetClass,
114 False,
115 False,
116 False,
117 CallbackViewLayers,
118 (XtPointer)NULL,
119 (Widget)NULL,
120 (Widget)NULL,
121 (GraalMenuItem *)NULL
122 }
123 ,
124 {
125 "Map",
126 'M',
127 "Meta<Key>P",
128 "Meta P",
129 &xmPushButtonGadgetClass,
130 False,
131 False,
132 False,
133 CallbackViewMap,
134 (XtPointer)NULL,
135 (Widget)NULL,
136 (Widget)NULL,
137 (GraalMenuItem *)NULL
138 }
139 ,
140 {
141 "Arrows",
142 'A',
143 "Meta<Key>A",
144 "Meta A",
145 &xmPushButtonGadgetClass,
146 False,
147 False,
148 False,
149 CallbackViewArrows,
150 (XtPointer)NULL,
151 (Widget)NULL,
152 (Widget)NULL,
153 (GraalMenuItem *)NULL
154 }
155 ,
156 {
157 "Grid ",
158 'G',
159 "Meta<Key>G",
160 "Meta G",
161 &xmPushButtonGadgetClass,
162 False,
163 False,
164 False,
165 CallbackViewGrid,
166 (XtPointer)NULL,
167 (Widget)NULL,
168 (Widget)NULL,
169 (GraalMenuItem *)NULL
170 }
171 ,
172 {
173 NULL
174 }
175 };
176
177 /*------------------------------------------------------------\
178 | |
179 | Functions |
180 | |
181 \------------------------------------------------------------*/
182 /*------------------------------------------------------------\
183 | |
184 | Callback For Menu |
185 | |
186 \------------------------------------------------------------*/
187 /*------------------------------------------------------------\
188 | |
189 | CallbackViewLayers |
190 | |
191 \------------------------------------------------------------*/
192
CallbackViewLayers(MyWidget,ClientData,CallData)193 void CallbackViewLayers( MyWidget, ClientData, CallData )
194
195 Widget MyWidget;
196 caddr_t ClientData;
197 caddr_t CallData;
198 {
199 rdsbegin();
200
201 if ( GraalFirstViewLayer )
202 {
203 GraalInitializeLayer();
204
205 GraalFirstViewLayer = 0;
206 }
207
208 GraalEnterPanel( &GraalViewLayerPanel );
209
210 rdsend();
211 }
212
213 /*------------------------------------------------------------\
214 | |
215 | CallbackViewGrid |
216 | |
217 \------------------------------------------------------------*/
218
CallbackViewGrid(MyWidget,ClientData,CallData)219 void CallbackViewGrid( MyWidget, ClientData, CallData )
220
221 Widget MyWidget;
222 caddr_t ClientData;
223 caddr_t CallData;
224 {
225 rdsbegin();
226
227 GraalEnterPanel( &GraalViewGridPanel );
228
229 rdsend();
230 }
231
232 /*------------------------------------------------------------\
233 | |
234 | CallbackViewArrows |
235 | |
236 \------------------------------------------------------------*/
237
CallbackViewArrows(MyWidget,ClientData,CallData)238 void CallbackViewArrows( MyWidget, ClientData, CallData )
239
240 Widget MyWidget;
241 caddr_t ClientData;
242 caddr_t CallData;
243 {
244 rdsbegin();
245
246 GraalEnterPanel( &GraalViewArrowsPanel );
247
248 rdsend();
249 }
250
251 /*------------------------------------------------------------\
252 | |
253 | CallbackViewZoom |
254 | |
255 \------------------------------------------------------------*/
256
CallbackViewZoom(MyWidget,ClientData,CallData)257 void CallbackViewZoom( MyWidget, ClientData, CallData )
258
259 Widget MyWidget;
260 caddr_t ClientData;
261 caddr_t CallData;
262 {
263 rdsbegin();
264
265 GraalEnterPanel( &GraalViewZoomPanel );
266
267 rdsend();
268 }
269
270 /*------------------------------------------------------------\
271 | |
272 | CallbackViewMap |
273 | |
274 \------------------------------------------------------------*/
275
CallbackViewMap(MyWidget,ClientData,CallData)276 void CallbackViewMap( MyWidget, ClientData, CallData )
277
278 Widget MyWidget;
279 caddr_t ClientData;
280 caddr_t CallData;
281 {
282 rdsbegin();
283
284 GraalEnterMapPanel();
285
286 rdsend();
287 }
288