1 /*! \file
2  * This file holds all function prototypes for the entire gattrib
3  * project.  It should be #include'ed after struct.h.
4  */
5 
6 /* ---------------- gattrib.c ---------------- */
7 gboolean gattrib_really_quit(void);
8 gint gattrib_quit(gint return_code);
9 
10 /* -------------- parsecmd.c ----------------- */
11 void usage(char *cmd);
12      /* output usage string */
13 int parse_commandline(int argc, char *argv[]);
14      /* run through cmd line options and set mode switches. */
15 
16 /* -------------- listsort.c ----------------- */
17 int cmp(STRING_LIST *a, STRING_LIST *b);
18 STRING_LIST *listsort(STRING_LIST *list, int is_circular, int is_double);
19 
20 /* ------------- f_export.c ------------- */
21 void f_export_components(gchar *filename);
22 
23 
24 /* ------------- g_register.c ------------- */
25 void g_register_funcs(void);
26 SCM g_quit(void);
27 
28 
29 /* ------------- g_rc.c ------------- */
30 SCM g_rc_gattrib_version(SCM version);
31 
32 /* ------------- s_attrib.c ------------- */
33 int s_attrib_name_in_list(STRING_LIST *name_value_list, char *name);
34 char *s_attrib_get_refdes(OBJECT *object);
35 
36 /* ------------- s_sheet_data.c ------------- */
37 SHEET_DATA *s_sheet_data_new();
38 
39 void s_sheet_data_add_master_comp_list_items(const GList *obj_list);
40 void s_sheet_data_add_master_comp_attrib_list_items(const GList *obj_list);
41 void s_sheet_data_add_master_net_list_items(const GList *obj_list);
42 void s_sheet_data_add_master_net_attrib_list_items(const GList *obj_list);
43 void s_sheet_data_add_master_pin_list_items(const GList *obj_list);
44 void s_sheet_data_add_master_pin_attrib_list_items(const GList *obj_list);
45 
46 void s_sheet_data_gtksheet_to_sheetdata();
47 
48 
49 /* ------------- s_string_list.c ------------- */
50 STRING_LIST *s_string_list_new();
51 STRING_LIST *s_string_list_duplicate_string_list(STRING_LIST *old_string_list);
52 void s_string_list_add_item(STRING_LIST *list, int *count, char *item);
53 void s_string_list_delete_item(STRING_LIST **list, int *count, char *item);
54 int s_string_list_in_list(STRING_LIST *list, char *item);
55 gchar *s_string_list_get_data_at_index(STRING_LIST *list, gint index);
56 
57 void s_string_list_sort_master_comp_list();
58 void s_string_list_sort_master_comp_attrib_list();
59 void s_string_list_sort_master_net_list();
60 void s_string_list_sort_master_net_attrib_list();
61 void s_string_list_sort_master_pin_list();
62 void s_string_list_sort_master_pin_attrib_list();
63 
64 
65 /* ------------- s_table.c ------------- */
66 TABLE **s_table_new(int rows, int cols);
67 TABLE **s_table_resize(TABLE **table,
68                        int rows, int old_cols, int new_cols);
69 void s_table_destroy(TABLE **table, int row_count, int col_count);
70 int s_table_get_index(STRING_LIST *list, char *string);
71 STRING_LIST *s_table_create_attrib_pair(gchar *row_name,
72 					TABLE **table,
73 					STRING_LIST *row_list,
74 					int num_attribs);
75 
76 void s_table_add_toplevel_comp_items_to_comp_table(const GList *obj_list);
77 void s_table_add_toplevel_net_items_to_net_table(const GList *obj_list);
78 void s_table_add_toplevel_pin_items_to_pin_table(const GList *obj_list);
79 
80 void s_table_gtksheet_to_all_tables();
81 void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet,
82 			      STRING_LIST *master_row_list, STRING_LIST *master_col_list,
83 			      TABLE **local_table, int num_rows, int num_cols);
84 
85 /* ------------- s_toplevel.c ------------- */
86 int s_toplevel_read_page(TOPLEVEL *toplevel, char *filename);
87 void s_toplevel_verify_design(TOPLEVEL *toplevel);
88 void s_toplevel_gtksheet_to_toplevel(TOPLEVEL *toplevel);
89 void s_toplevel_add_new_attrib(gchar *new_attrib_name);
90 void s_toplevel_delete_attrib_col();
91 void s_toplevel_sheetdata_to_toplevel(TOPLEVEL *toplevel, PAGE *page);
92 
93 STRING_LIST *s_toplevel_get_component_attribs_in_sheet(char *refdes);
94 void s_toplevel_update_component_attribs_in_toplevel(
95 					    TOPLEVEL *toplevel,
96 					    OBJECT *o_current,
97 					    STRING_LIST *new_comp_attrib_list);
98 STRING_LIST *s_toplevel_get_net_attribs_in_sheet(char *netname);
99 void s_toplevel_update_net_attribs_in_toplevel(OBJECT *o_current,
100 					 STRING_LIST *new_net_attrib_list);
101 STRING_LIST *s_toplevel_get_pin_attribs_in_sheet(char *refdes, OBJECT *pin);
102 void s_toplevel_update_pin_attribs_in_toplevel(TOPLEVEL *toplevel,
103 					 char *refdes, OBJECT *pin,
104 					 STRING_LIST *new_pin_attrib_list);
105 
106 
107 /* ------------- s_object.c ------------- */
108 void s_object_add_comp_attrib_to_object (TOPLEVEL *toplevel,
109                                          OBJECT *o_current,
110                                          char *new_attrib_name,
111                                          char *new_attrib_value,
112                                          gint visibility,
113                                          gint show_name_value);
114 void s_object_add_net_attrib_to_object (TOPLEVEL *toplevel,
115                                         OBJECT *o_current,
116                                         char *new_attrib_name,
117                                         char *new_attrib_value);
118 void s_object_add_pin_attrib_to_object (TOPLEVEL *toplevel,
119                                         OBJECT *o_current,
120                                         char *new_attrib_name,
121                                         char *new_attrib_value);
122 
123 void s_object_replace_attrib_in_object (TOPLEVEL *toplevel,
124                                         OBJECT *o_current,
125                                         char *new_attrib_name,
126                                         char *new_attrib_value,
127                                         gint visibility,
128                                         gint show_name_value);
129 void s_object_remove_attrib_in_object (TOPLEVEL *toplevel,
130                                        OBJECT *o_current,
131                                        char *new_attrib_name);
132 
133 OBJECT *s_object_attrib_add_attrib_in_object (TOPLEVEL *toplevel,
134                                               char *text_string,
135                                               gint visibility,
136                                               gint show_name_value,
137                                               OBJECT * object);
138 void s_object_delete_text_object_in_object(TOPLEVEL *toplevel, OBJECT *test_object);
139 int s_object_has_sym_file(OBJECT *object);
140 
141 /* ------------- s_rename.c ------------- */
142 void s_rename_init(void);
143 void s_rename_destroy_all(void);
144 void s_rename_next_set(void);
145 void s_rename_print(void);
146 int s_rename_search(char *src, char *dest, int quiet_flag);
147 void s_rename_add(char *src, char *dest);
148 void s_rename_all_lowlevel(NETLIST * netlist_head, char *src, char *dest);
149 void s_rename_all(TOPLEVEL *toplevel, NETLIST *netlist_head);
150 
151 /* ------------- s_misc.c ------------- */
152 void verbose_print(char *string);
153 void verbose_done(void);
154 void verbose_reset_index(void);
155 char *s_misc_remaining_string(char *string, char delimiter, int count);
156 
157 /* ------------- s_visibility.c ------------- */
158 void s_visibility_set_invisible();
159 void s_visibility_set_name_only();
160 void s_visibility_set_value_only();
161 void s_visibility_set_name_and_value();
162 void s_visibility_set_cell(gint cur_page, gint row, gint col,
163 			   gint visibility, gint show_name_value);
164 
165 /* ------------- i_vars.c ------------- */
166 void i_vars_set(TOPLEVEL *toplevel);
167 void i_window_vars_set(TOPLEVEL *toplevel);
168 
169 /* ------------- x_dialog.c ------------- */
170 void x_dialog_newattrib();
171 void x_dialog_delattrib();
172 void x_dialog_missing_sym();
173 void x_dialog_unsaved_data();
174 void x_dialog_unimplemented_feature();
175 void x_dialog_fatal_error(gchar *string, gint return_code);
176 void x_dialog_about_dialog();
177 void x_dialog_export_file();
178 
179 /* ------------- x_gtksheet.c ------------- */
180 void x_gtksheet_init();
181 void x_gtksheet_add_row_labels(GtkSheet *sheet, int count, STRING_LIST *list_head);
182 void x_gtksheet_add_col_labels(GtkSheet *sheet, int count, STRING_LIST *list_head);
183 void x_gtksheet_add_cell_item(GtkSheet *sheet, gint i, gint j,
184 			      char *text, gint visibility, gint show_name_value);
185 void x_gtksheet_set_cell_text_color(GtkSheet *sheet, gint row, gint col,
186 				    gint color_name);
187 int x_gtksheet_get_min_col(GtkSheet *sheet);
188 int x_gtksheet_get_max_col(GtkSheet *sheet);
189 
190 /* ------------- x_fileselect.c ------------- */
191 GSList *x_fileselect_open (void);
192 void x_fileselect_save (void);
193 gboolean x_fileselect_load_files (GSList *filenames);
194 
195 /* ------------- x_window.c ------------- */
196 void x_window_init();
197 void x_window_add_items();
198 
199 
200 
201