1 /****************************************************************************/
3 /* Chaine de CAO & VLSI Alliance */
5 /* Produit : XTAS Version 5 */
8 /* (c) copyright 1991-1998 Laboratoire LIP6 equipe ASIM */
9 /* Tous droits reserves */
10 /* Support : e-mail alliance-support@asim.lip6.fr */
12 /* Author(s) : Nizar ABDALLAH Date : 01/04/1993 */
14 /* Modified by : Date : ../../.... */
15 /* Modified by : Date : ../../.... */
16 /* Modified by : Date : ../../.... */
18 /****************************************************************************/
21 /****************************************************************************/
22 #define XTAS_MOTIF_VERSION XmVERSION*10000+(XmREVISION*100)+XmUPDATE_LEVEL
24 /*---------------------------------------------------------------------------*/
26 /* STANDARD INCLUDES */
28 /*---------------------------------------------------------------------------*/
36 #include <sys/types.h>
40 /*---------------------------------------------------------------------------*/
44 /*---------------------------------------------------------------------------*/
45 #include <X11/Intrinsic.h>
46 #include <X11/StringDefs.h>
48 /*---------------------------------------------------------------------------*/
52 /*---------------------------------------------------------------------------*/
54 #include <Xm/ArrowBG.h>
55 #include <Xm/CascadeBG.h>
56 #include <Xm/DrawnB.h>
57 #include <Xm/FileSB.h>
61 #include <Xm/LabelG.h>
64 #include <Xm/MessageB.h>
65 #include <Xm/PanedW.h>
66 #include <Xm/Protocols.h>
68 #include <Xm/PushBG.h>
69 #include <Xm/RowColumn.h>
71 #include <Xm/ScrollBar.h>
72 #include <Xm/ScrolledW.h>
73 #include <Xm/SelectioB.h>
74 #include <Xm/Separator.h>
76 #if XTAS_MOTIF_VERSION >= 20100
77 #include <Xm/SSpinB.h>
82 #include <Xm/ToggleB.h>
83 #include <Xm/DrawingA.h>
85 /*---------------------------------------------------------------------------*/
87 /* ALLIANCE INCLUDES */
89 /*---------------------------------------------------------------------------*/
118 /*---------------------------------------------------------------------------*/
120 /* AVERTEC INCLUDES */
122 /*---------------------------------------------------------------------------*/
127 /*---------------------------------------------------------------------------*/
131 /*---------------------------------------------------------------------------*/
133 /*---------------------------------------------------------------------------*/
137 /*---------------------------------------------------------------------------*/
140 #define HELP_TOPICS 5
141 #define HELP_SOURCES 26
143 #define XTAS_HELP_MAIN 0x0000
144 #define XTAS_HELP_FILE 0x0001
145 #define XTAS_HELP_TOOLS 0x0002
146 #define XTAS_HELP_VIEW 0x0003
147 #define XTAS_HELP_OPTIONS 0x0004
149 #define XTAS_SRC_DESK 0x0000
150 #define XTAS_SRC_SIGNALS 0x0100
151 #define XTAS_SRC_HIER 0x0200
152 #define XTAS_SRC_ALLSIGS 0x0300
153 #define XTAS_SRC_GETPATH 0x0400
154 #define XTAS_SRC_PATHS 0x0500
155 #define XTAS_SRC_GETDETAIL 0x0600
156 #define XTAS_SRC_DETAIL 0x0700
157 #define XTAS_SRC_DETAILCTK 0x0800
158 #define XTAS_SRC_GETPARA 0x0900
159 #define XTAS_SRC_PARA 0x0a00
160 #define XTAS_SRC_FLSPATHS 0x0b00
161 #define XTAS_SRC_VISUPATH 0x0c00
162 #define XTAS_SRC_SIMUPARAM 0x0d00
163 #define XTAS_SRC_DETAILSIMU 0x0e00
164 #define XTAS_SRC_GETDELAY 0x0f00
165 #define XTAS_SRC_DELAY 0x1000
166 #define XTAS_SRC_STABPARAM 0x1100
167 #define XTAS_SRC_STABRES 0x1200
168 #define XTAS_SRC_DEBUG 0x1300
169 #define XTAS_SRC_NOISERES 0x1400
170 #define XTAS_SRC_CTKINFO 0x1500
171 #define XTAS_SRC_TASPARAM 0x1600
172 #define XTAS_SRC_TASADV 0x1700
173 #define XTAS_SRC_TMAPARAM 0x1800
174 #define XTAS_SRC_NOISESCR 0x1900
176 #define XTAS_C_CONNECTOR 0
177 #define XTAS_C_MEMORIZE 1
178 #define XTAS_C_COMMANDS 2
179 #define XTAS_C_PRECHARGE 3
180 #define XTAS_C_BREAK 4
181 #define XTAS_C_OTHERSIGS 5
183 #define XTAS_C_NBSIGTYPE 6
185 #define XTAS_AL2S_MAP 0
186 #define XTAS_ALLP_MAP 1
187 #define XTAS_ALLS_MAP 2
188 #define XTAS_BREA_MAP 3
189 #define XTAS_CAPA_MAP 4
190 #define XTAS_CLOS_MAP 5
191 #define XTAS_COMM_MAP 6
192 #define XTAS_CONN_MAP 7
193 #define XTAS_DEBG_MAP 8
194 #define XTAS_DETA_MAP 9
195 #define XTAS_DUMM_MAP 10
196 #define XTAS_FPAT_MAP 11
197 #define XTAS_FEDG_MAP 12
198 #define XTAS_GATE_MAP 13
199 #define XTAS_HRES_MAP 14
200 #define XTAS_LRES_MAP 15
201 #define XTAS_INFO_MAP 16
202 #define XTAS_MAIN_MAP 17
203 #define XTAS_MEMO_MAP 18
204 #define XTAS_OPEN_MAP 19
205 #define XTAS_PATH_MAP 20
206 #define XTAS_PREC_MAP 21
207 #define XTAS_RCLN_MAP 22
208 #define XTAS_REDG_MAP 23
209 #define XTAS_SAVE_MAP 24
210 #define XTAS_TIME_MAP 25
211 #define XTAS_EXEC_MAP 26
212 #define XTAS_STBA_MAP 27
213 #define XTAS_FALS_MAP 28
214 #define XTAS_TRUE_MAP 29
215 #define XTAS_TAS_MAP 30
216 #define XTAS_TMA_MAP 31
217 #define XTAS_XYA_MAP 32
218 #define XTAS_VISU_MAP 33
219 #define XTAS_CMD_MAP 34
220 #define XTAS_SIMU_MAP 35
221 #define XTAS_CTKI_MAP 36
222 #define XTAS_NOISE_MAP 37
223 #define XTAS_SCORE_MAP 38
225 #define XTAS_NODELEVEL(node) (((node->TYPE & TTV_NODE_UP) == TTV_NODE_UP) \
236 #define XTAS_HOLD 0x1
239 #define XTAS_STB ((long) 0x00000001)
240 #define XTAS_DEBUG ((long) 0x00000002)
242 #define XTAS_NONE (long)0x00
243 #define XTAS_SIMU (long)0x01
244 #define XTAS_CTK (long)0x02
246 /* Valeurs possibles pour la variable XTAS_CTX_LOADED */
247 #define XTAS_NOT_LOADED 0x0000
248 #define XTAS_LOADED 0x0001
249 #define XTAS_FROM_ANALYSIS 0x0011
250 #define XTAS_FROM_FILE 0x0021
252 /* values for REQUEST_TYPE - GetPath*/
253 #define XTAS_NOTYPE 0x000
254 #define XTAS_PATHS 0x010
255 #define XTAS_ACCESS 0x020
256 #define XTAS_CRITIC 0x001
257 #define XTAS_ALL 0x002
258 #define XTAS_SBS 0x100
260 /* valeur pour le choix du trace des chornogrammes */
261 #define XTAS_DEBUG_IUD 0x01
262 #define XTAS_DEBUG_IU 0x02
263 #define XTAS_DEBUG_ID 0x04
264 #define XTAS_DEBUG_OUD 0x10
265 #define XTAS_DEBUG_OU 0x20
266 #define XTAS_DEBUG_OD 0x40
267 #define XTAS_DEBUG_NOACTION 0xff
269 /*---------------------------------------------------------------------------*/
271 /* STRUCTUR DECLARATION */
273 /*---------------------------------------------------------------------------*/
275 typedef struct XtasWindow
283 XalMessageWidgetStruct
*errwidget
,
290 typedef struct XtasMainInfo
292 ttvfig_list
*ttvfig
;
294 stbfig_list
*stbfig
;
295 stbdebug_list
*debugfig
;
299 /*---------------------------------------------------------------------*/
300 typedef struct XtasWinJmp
302 struct XtasWinJmp
*NEXT
; /* adresse de saut suivant dans la liste */
303 struct XtasWinJmp
*PREV
; /* adresse de saut precedent dans la liste */
304 int SIZE
; /* taille de la fenetre */
305 int INDEX
; /* index globale par rapport a la liste */
306 long TYPE
; /* type de liste pointee */
307 void *DATA
; /* pointeur vers l'element de la liste */
311 /*------------ parametres de recherche des signaux --------------------*/
312 typedef struct XtasSearchSigParams
316 ttvfig_list
*TOP_FIG
;
317 ttvfig_list
*LOCAL_FIG
;
320 XtasSearchSigParamStruct
;
322 /*------------ parametres de recherche des chemins --------------------*/
323 typedef struct XtasSearchPathParams
325 XtasSearchSigParamStruct
*ROOT_SIG_EDGE
;
326 chain_list
*NODE_MASK
;
329 ttvpath_list
*LOOK_PATH
;
338 XtasSearchPathParamStruct
;
340 /*------------ objets pour la gestion de l'affichage des signaux ------*/
341 typedef struct XtasSigListSet
344 Widget SIGLIST_SCROLL
;
350 XtasSearchSigParamStruct
*SIGNAL
;
351 chain_list
*SIG_LIST
;
352 XtasChainJmpList
*SIG_LIST_WIN
;
353 XtasChainJmpList
*CUR_SIG_WIN
;
355 XtasSigListSetStruct
;
357 /*------------ objets pour la gestion de l'affichage des chemins ------*/
358 typedef struct XtasPathListSet
361 Widget PATHLIST_2INFO
;
362 Widget PATHLIST_SCROLL
;
368 XtasSigListSetStruct
*SIGNAL_LIST_SET
;
369 ttvpath_list
*PATH_LIST
;
370 XtasChainJmpList
*PATH_LIST_WIN
;
371 XtasChainJmpList
*CUR_PATH_WIN
;
372 chain_list
*INDEX_TAB
;
373 chain_list
*DETAIL_SESSION
;
374 chain_list
*PARA_SESSION
;
375 struct XtasPathListSet
*PARENT
;
376 XtasSearchPathParamStruct
*PARAM
;
378 XtasPathListSetStruct
;
380 /*--------------------------------------------------------------------------*/
381 typedef struct XtasPathIndexTab
383 XtasPathListSetStruct
*PATH_SET
;
388 /*--------------------------------------------------------------------------*/
389 typedef struct XtasDetailPathSet
392 Widget SCROLL_DETAIL
;
398 Widget ROOT_RF
;/*Rise/Fall*/
400 Widget NODE_RF
;/*Rise/Fall*/
402 XtasChainJmpList
*DETAIL_LIST
;
403 XtasChainJmpList
*CUR_DETAIL
;
404 XtasPathListSetStruct
*PARENT
;
406 XtasDetailPathSetStruct
;
408 /*---------- Pour sauvegarder et restaurer les contextes de zoom ---------*/
409 typedef struct XtasZoomContext
411 struct XtasZoomContext
*NEXT
;
415 XtasZoomContextStruct
;
417 /*---------------------------------------------------------------------------*/
419 /* APPLICATION SPECIFIC INCLUDES */
421 /*---------------------------------------------------------------------------*/
422 #include "xtas_common.h"
423 #include "xtas_desk.h"
424 #include "xtas_detsig.h"
425 #include "xtas_files.h"
426 #include "xtas_help.h"
427 #include "xtas_hierarchical.h"
428 #include "xtas_init.h"
429 #include "xtas_main.h"
430 #include "xtas_tas.h"
431 #include "xtas_ttv.h"
432 #include "xtas_unix.h"
433 #include "xtas_messages.h"
434 #include "xtas_getpara.h"
435 #include "xtas_getpath.h"
436 #include "xtas_getdelay.h"
437 #include "xtas_getdetail.h"
438 #include "xtas_detpath.h"
439 #include "xtas_paths.h"
440 #include "xtas_flspaths.h"
441 #include "xtas_signals.h"
442 #include "xtas_stb.h"
443 #include "xtas_stb_pbar.h"
444 #include "xtas_debug.h"
445 #include "xtas_graphic.h"
446 #include "xtas_newdisp_util.h"
447 #include "xtas_xyagle.h"
448 #include "xtas_visualise_path.h"
449 #include "xtas_simu_path.h"
450 #include "xtas_ctk_noise.h"
451 #include "xtas_exit.h"