1 |
aw0a |
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 |
|
|
#ifndef Display_module_loaded |
31 |
|
|
#define Display_module_loaded |
32 |
|
|
|
33 |
|
|
/* |
34 |
|
|
* To include this header, you must include the following: |
35 |
|
|
* #include "tcl.h" |
36 |
|
|
* #include "interface/DisplayProc.h" |
37 |
|
|
*/ |
38 |
|
|
|
39 |
|
|
|
40 |
|
|
extern int Asc_DispDefineCmd(ClientData cdata, Tcl_Interp *interp, |
41 |
|
|
int argc, CONST84 char *argv[]); |
42 |
|
|
/* |
43 |
|
|
* This function is used mainly by the Library and Display tools for |
44 |
|
|
* displaying the types. It will take 0, 1 or 2 arguments. For no |
45 |
|
|
* arguements (Unix style argc = 1) it will print the entire list of |
46 |
|
|
* currently define types. For the second case it will print the code |
47 |
|
|
* associated with the type. if three arguments, 3rd should be a full |
48 |
|
|
* name of a file to write the code of type specified to. |
49 |
|
|
*/ |
50 |
|
|
|
51 |
|
|
extern int Asc_DispDiffDefineCmd(ClientData cdata, Tcl_Interp *interp, |
52 |
|
|
int argc, CONST84 char *argv[]); |
53 |
|
|
/* |
54 |
|
|
* ddispdefine <type> [file] |
55 |
|
|
* This function is used mainly by the Library and Display tools for |
56 |
|
|
* printing the incremental code associated with the type to the file. |
57 |
|
|
* File is a full name of a file to write the code of type specified to. |
58 |
|
|
* If no refinement, the code is written. Declarative code only is |
59 |
|
|
* considered since the procedures aren't incrementally behaved. |
60 |
|
|
*/ |
61 |
|
|
|
62 |
|
|
extern int Asc_DispTypePartsCmd(ClientData cdata, Tcl_Interp *interp, |
63 |
|
|
int argc, CONST84 char *argv[]); |
64 |
|
|
/* |
65 |
|
|
* dgetparts <ATOM,MODEL,BOTH> <type> |
66 |
|
|
* This function returns a list of typenames referenced IN the definition |
67 |
|
|
* for the type given. List will be unique and the filter given |
68 |
|
|
* (ATOM/MODEL/BOTH) determines the kind of types returned. The |
69 |
|
|
* filter may be abbreviated A, M, or B. nonexistent types will |
70 |
|
|
* be reported to stderr, but not returned. |
71 |
|
|
*/ |
72 |
|
|
|
73 |
|
|
extern int Asc_DispQueryCmd(ClientData cdata, Tcl_Interp *interp, |
74 |
|
|
int argc, CONST84 char *argv[]); |
75 |
|
|
/* |
76 |
|
|
* int DispGeneralCmd; |
77 |
|
|
* Comments : |
78 |
|
|
* Registered as \"disp\" |
79 |
|
|
* Does all the general query routines for types. |
80 |
|
|
* Will always return the empty string in the event of an error. |
81 |
|
|
* -- disp define -- returns the list of all defined types. |
82 |
|
|
*/ |
83 |
|
|
|
84 |
|
|
extern int Asc_DispHierarchyCmd(ClientData cdata, Tcl_Interp *interp, |
85 |
|
|
int argc, CONST84 char *argv[]); |
86 |
|
|
/* |
87 |
|
|
* int Asc_DispHierarchyCmd; |
88 |
|
|
* Comments : |
89 |
|
|
* Registered as : hierarchy \"type\"; |
90 |
|
|
* Returns the hierarchy list of the given type as a valid Tcl list. |
91 |
|
|
* Otherwise returns the empty string; |
92 |
|
|
*/ |
93 |
|
|
|
94 |
|
|
extern int Asc_DispFileByTypeCmd(ClientData cdata, Tcl_Interp *interp, |
95 |
|
|
int argc, CONST84 char *argv[]); |
96 |
|
|
/* |
97 |
|
|
* int Asc_DispFileByTypeCmd; |
98 |
|
|
* Comments : |
99 |
|
|
* registered as : file_by_type \"type\"; |
100 |
|
|
* Returns the filename that the given type was defined in. Sufficiently |
101 |
|
|
* general enought to be used as is; Will definitely be used with |
102 |
|
|
* Asc_DispHierarchyCmd to implement the Library Window ancestry command. |
103 |
|
|
*/ |
104 |
|
|
|
105 |
|
|
extern int Asc_DispChildOneCmd(ClientData cdata, Tcl_Interp *interp, |
106 |
|
|
int argc, CONST84 char *argv[]); |
107 |
|
|
/* |
108 |
|
|
* Registered as : \"dchild\" arg. |
109 |
|
|
* If arg is non-zero returns the specified child. If the specified |
110 |
|
|
* child is greater than the number of existing children will return |
111 |
|
|
* the last child. |
112 |
|
|
* If arg is zero will return the number of children. |
113 |
|
|
*/ |
114 |
|
|
|
115 |
|
|
extern int Asc_DispIsRootTypeCmd(ClientData cdata, Tcl_Interp *interp, |
116 |
|
|
int argc, CONST84 char *argv[]); |
117 |
|
|
/* |
118 |
|
|
* int Asc_DispIsRootType; |
119 |
|
|
* Registered as \"disroot_type\"; |
120 |
|
|
* Accepts the name of a type and returns 1 if the type is a base type |
121 |
|
|
* as defined by the function CheckFundamental. Will also return 1 |
122 |
|
|
* for models that have no do not refine another. |
123 |
|
|
*/ |
124 |
|
|
|
125 |
|
|
extern int Asc_DispRefinesMeCmd(ClientData cdata, Tcl_Interp *interp, |
126 |
|
|
int argc, CONST84 char *argv[]); |
127 |
|
|
/* |
128 |
|
|
* int Asc_DispRefinesMeCmd; |
129 |
|
|
* Registered as : \"drefines_me type\"; |
130 |
|
|
* Will return ALL the types that refine the given type. I guess this |
131 |
|
|
* could be called parents, but I get confused. Will return the empty |
132 |
|
|
* string if not refined by any types. This will not be a fast routine. |
133 |
|
|
* It could be made faster by setting it up to looke for certain atomic |
134 |
|
|
* types. |
135 |
|
|
*/ |
136 |
|
|
|
137 |
|
|
extern int Asc_DispRefinesMeTreeCmd(ClientData cdata, Tcl_Interp *interp, |
138 |
|
|
int argc, CONST84 char *argv[]); |
139 |
|
|
/* |
140 |
|
|
* int Asc_DispRefinesMeTreeCmd; |
141 |
|
|
* Registered as : drefinement_tree <type>; |
142 |
|
|
* Return ALL the types that refine the given type in a list-tree format. |
143 |
|
|
* Will return the given if not refined by any types. This will not always |
144 |
|
|
* be a fast routine. (something like o(n^2)) |
145 |
|
|
*/ |
146 |
|
|
|
147 |
|
|
#define Asc_DispWriteIpCmd(a,b) (0) |
148 |
|
|
/* |
149 |
|
|
* extern int Asc_DispWriteIpCmd(Tcl_Interp *, struct Instance *); |
150 |
|
|
* Out of action at the moment. there is no ip stuff now. |
151 |
|
|
* int Asc_DispWriteIpCmd(interp,i) |
152 |
|
|
* returns 1 if something amiss, 0 otherwise. |
153 |
|
|
* Appends the contents of the interface pointer of instance to the |
154 |
|
|
* interp as list elements appropriately formatted. Number and format |
155 |
|
|
* of list elements depends on the definition of ip in ip.h. If i or |
156 |
|
|
* i's ip is NULL, returns 1 and appends nothing to interp->result. |
157 |
|
|
* If ip.h changes, this command should change appropriately. |
158 |
|
|
*/ |
159 |
|
|
#endif/*Display_module_loaded*/ |