1 |
/* |
2 |
* DisplayProc.h |
3 |
* by Kirk Abbott and Ben Allan |
4 |
* Created: 1/94 |
5 |
* Version: $Revision: 1.7 $ |
6 |
* Version control file: $RCSfile: DisplayProc.h,v $ |
7 |
* Date last modified: $Date: 2003/08/23 18:43:06 $ |
8 |
* Last modified by: $Author: ballan $ |
9 |
* |
10 |
* This file is part of the ASCEND Tcl/Tk interface |
11 |
* |
12 |
* Copyright 1997, Carnegie Mellon University |
13 |
* |
14 |
* The ASCEND Tcl/Tk interface is free software; you can redistribute |
15 |
* it and/or modify it under the terms of the GNU General Public License as |
16 |
* published by the Free Software Foundation; either version 2 of the |
17 |
* License, or (at your option) any later version. |
18 |
* |
19 |
* The ASCEND Tcl/Tk interface is distributed in hope that it will be |
20 |
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
21 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
22 |
* General Public License for more details. |
23 |
* |
24 |
* You should have received a copy of the GNU General Public License |
25 |
* along with the program; if not, write to the Free Software Foundation, |
26 |
* Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named |
27 |
* COPYING. COPYING is found in ../compiler. |
28 |
*/ |
29 |
|
30 |
/** @file |
31 |
* Display Routines |
32 |
* <pre> |
33 |
* To include this header, you must include the following: |
34 |
* #include "tcl.h" |
35 |
* #include "utilities/ascConfig.h" |
36 |
* #include "interface/DisplayProc.h" |
37 |
* </pre> |
38 |
*/ |
39 |
|
40 |
#ifndef ASCTK_DISPLAYPROC_H |
41 |
#define ASCTK_DISPLAYPROC_H |
42 |
|
43 |
extern int Asc_DispDefineCmd(ClientData cdata, Tcl_Interp *interp, |
44 |
int argc, CONST84 char *argv[]); |
45 |
/**< |
46 |
* This function is used mainly by the Library and Display tools for |
47 |
* displaying the types. It will take 0, 1 or 2 arguments. For no |
48 |
* arguements (Unix style argc = 1) it will print the entire list of |
49 |
* currently define types. For the second case it will print the code |
50 |
* associated with the type. if three arguments, 3rd should be a full |
51 |
* name of a file to write the code of type specified to.<br><br> |
52 |
* |
53 |
* Registered as: ddefine [type] [file] |
54 |
*/ |
55 |
|
56 |
extern int Asc_DispDiffDefineCmd(ClientData cdata, Tcl_Interp *interp, |
57 |
int argc, CONST84 char *argv[]); |
58 |
/**< |
59 |
* This function is used mainly by the Library and Display tools for |
60 |
* printing the incremental code associated with the type to the file. |
61 |
* File is a full name of a file to write the code of type specified to. |
62 |
* If no refinement, the code is written. Declarative code only is |
63 |
* considered since the procedures aren't incrementally behaved.<br><br> |
64 |
* |
65 |
* Registered as: ddispdefine <type> [file] |
66 |
*/ |
67 |
|
68 |
extern int Asc_DispTypePartsCmd(ClientData cdata, Tcl_Interp *interp, |
69 |
int argc, CONST84 char *argv[]); |
70 |
/**< |
71 |
* This function returns a list of typenames referenced IN the definition |
72 |
* for the type given. List will be unique and the filter given |
73 |
* (ATOM/MODEL/BOTH) determines the kind of types returned. The |
74 |
* filter may be abbreviated A, M, or B. nonexistent types will |
75 |
* be reported to stderr, but not returned.<br><br> |
76 |
* |
77 |
* Registered as: dgetparts <ATOM,MODEL,BOTH> <type> |
78 |
*/ |
79 |
|
80 |
extern int Asc_DispQueryCmd(ClientData cdata, Tcl_Interp *interp, |
81 |
int argc, CONST84 char *argv[]); |
82 |
/**< |
83 |
* Does all the general query routines for types. |
84 |
* Will always return the empty string in the event of an error. |
85 |
* -- disp define -- returns the list of all defined types.<br><br> |
86 |
* |
87 |
* Registered as: \"disp\" |
88 |
*/ |
89 |
|
90 |
extern int Asc_DispHierarchyCmd(ClientData cdata, Tcl_Interp *interp, |
91 |
int argc, CONST84 char *argv[]); |
92 |
/**< |
93 |
* Returns the hierarchy list of the given type as a valid Tcl list. |
94 |
* Otherwise returns the empty string.<br><br> |
95 |
* |
96 |
* Registered as: hierarchy \"type\" |
97 |
*/ |
98 |
|
99 |
extern int Asc_DispFileByTypeCmd(ClientData cdata, Tcl_Interp *interp, |
100 |
int argc, CONST84 char *argv[]); |
101 |
/**< |
102 |
* Returns the filename that the given type was defined in. Sufficiently |
103 |
* general enought to be used as is; Will definitely be used with |
104 |
* Asc_DispHierarchyCmd to implement the Library Window ancestry command.<br><br> |
105 |
* |
106 |
* Registered as: file_by_type \"type\" |
107 |
*/ |
108 |
|
109 |
extern int Asc_DispChildOneCmd(ClientData cdata, Tcl_Interp *interp, |
110 |
int argc, CONST84 char *argv[]); |
111 |
/**< |
112 |
* If arg is non-zero returns the specified child. If the specified |
113 |
* child is greater than the number of existing children will return |
114 |
* the last child. |
115 |
* If arg is zero will return the number of children.<br><br> |
116 |
* |
117 |
* Registered as: \"dchild\" arg |
118 |
*/ |
119 |
|
120 |
extern int Asc_DispIsRootTypeCmd(ClientData cdata, Tcl_Interp *interp, |
121 |
int argc, CONST84 char *argv[]); |
122 |
/**< |
123 |
* Accepts the name of a type and returns 1 if the type is a base type |
124 |
* as defined by the function CheckFundamental. Will also return 1 |
125 |
* for models that have no do not refine another.<br><br> |
126 |
* |
127 |
* Registered as: \"disroot_type\" |
128 |
*/ |
129 |
|
130 |
extern int Asc_DispRefinesMeCmd(ClientData cdata, Tcl_Interp *interp, |
131 |
int argc, CONST84 char *argv[]); |
132 |
/**< |
133 |
* Will return ALL the types that refine the given type. I guess this |
134 |
* could be called parents, but I get confused. Will return the empty |
135 |
* string if not refined by any types. This will not be a fast routine. |
136 |
* It could be made faster by setting it up to looke for certain atomic |
137 |
* types.<br><br> |
138 |
* |
139 |
* Registered as: \"drefines_me type\" |
140 |
*/ |
141 |
|
142 |
extern int Asc_DispRefinesMeTreeCmd(ClientData cdata, Tcl_Interp *interp, |
143 |
int argc, CONST84 char *argv[]); |
144 |
/**< |
145 |
* Return ALL the types that refine the given type in a list-tree format. |
146 |
* Will return the given if not refined by any types. This will not always |
147 |
* be a fast routine (something like o(n^2)).<br><br> |
148 |
* |
149 |
* Registered as: drefinement_tree <type> |
150 |
*/ |
151 |
|
152 |
#define Asc_DispWriteIpCmd(a,b) (0) |
153 |
/**< |
154 |
* <!-- extern int Asc_DispWriteIpCmd(Tcl_Interp *, struct Instance *-->); |
155 |
* Out of action at the moment - there is no ip stuff now. |
156 |
* <!-- int Asc_DispWriteIpCmd(interp,i) --> |
157 |
* Returns 1 if something amiss, 0 otherwise. |
158 |
* Appends the contents of the interface pointer of instance to the |
159 |
* interp as list elements appropriately formatted. Number and format |
160 |
* of list elements depends on the definition of ip in ip.h. If i or |
161 |
* i's ip is NULL, returns 1 and appends nothing to interp->result. |
162 |
* |
163 |
* @todo If ip.h changes, this command should change appropriately. |
164 |
*/ |
165 |
|
166 |
#endif /* ASCTK_DISPLAYPROC_H */ |
167 |
|