1 /*! \file
2  * Function prototypes for the libleptonattrib library.
3  */
4 
5 G_BEGIN_DECLS
6 
7 /* attrib.c */
8 gboolean attrib_really_quit(void);
9 gint attrib_quit(gint return_code);
10 
11 /* -------------- listsort.c ----------------- */
12 int cmp(STRING_LIST *a, STRING_LIST *b);
13 STRING_LIST *listsort(STRING_LIST *list, int is_circular, int is_double);
14 
15 /* ------------- f_export.c ------------- */
16 void f_export_components(gchar *filename);
17 
18 
19 /* ------------- s_attrib.c ------------- */
20 int s_attrib_name_in_list(STRING_LIST *name_value_list, char *name);
21 char *s_attrib_get_refdes(LeptonObject *object);
22 
23 /* ------------- s_sheet_data.c ------------- */
24 int s_sheet_data_changed (const SHEET_DATA* data);
25 void s_sheet_data_set_changed (SHEET_DATA* data, int changed);
26 SHEET_DATA *s_sheet_data_new();
27 
28 void s_sheet_data_add_master_comp_list_items(const GList *obj_list);
29 void s_sheet_data_add_master_comp_attrib_list_items(const GList *obj_list);
30 void s_sheet_data_add_master_net_list_items(const GList *obj_list);
31 void s_sheet_data_add_master_net_attrib_list_items(const GList *obj_list);
32 void s_sheet_data_add_master_pin_list_items(const GList *obj_list);
33 void s_sheet_data_add_master_pin_attrib_list_items(const GList *obj_list);
34 
35 void s_sheet_data_gtksheet_to_sheetdata();
36 
37 
38 /* ------------- s_string_list.c ------------- */
39 STRING_LIST *s_string_list_new();
40 STRING_LIST *s_string_list_duplicate_string_list(STRING_LIST *old_string_list);
41 void s_string_list_add_item(STRING_LIST *list, int *count, char *item);
42 void s_string_list_delete_item(STRING_LIST **list, int *count, char *item);
43 int s_string_list_in_list(STRING_LIST *list, char *item);
44 gint s_string_list_find_in_list (STRING_LIST *list, char *item);
45 gchar *s_string_list_get_data_at_index(STRING_LIST *list, gint index);
46 
47 void s_string_list_sort_master_comp_list();
48 void s_string_list_sort_master_comp_attrib_list();
49 void s_string_list_sort_master_net_list();
50 void s_string_list_sort_master_net_attrib_list();
51 void s_string_list_sort_master_pin_list();
52 void s_string_list_sort_master_pin_attrib_list();
53 
54 
55 /* ------------- s_table.c ------------- */
56 void s_table_print (TABLE** src, int rows, int cols);
57 TABLE **s_table_new(int rows, int cols);
58 TABLE **s_table_copy (TABLE** src, int col_skip, int rows, int cols);
59 TABLE **s_table_resize(TABLE **table,
60                        int rows, int old_cols, int new_cols);
61 void s_table_destroy(TABLE **table, int row_count, int col_count);
62 int s_table_get_index(STRING_LIST *list, char *string);
63 STRING_LIST *s_table_create_attrib_pair(gchar *row_name,
64                                         TABLE **table,
65                                         STRING_LIST *row_list,
66                                         int num_attribs);
67 
68 void s_table_add_toplevel_comp_items_to_comp_table(const GList *obj_list);
69 void s_table_add_toplevel_net_items_to_net_table(const GList *obj_list);
70 void s_table_add_toplevel_pin_items_to_pin_table(const GList *obj_list);
71 
72 void s_table_gtksheet_to_all_tables();
73 void s_table_gtksheet_to_table(GtkSheet *local_gtk_sheet,
74                                STRING_LIST *master_row_list, STRING_LIST *master_col_list,
75                                TABLE **local_table, int num_rows, int num_cols);
76 
77 /* ------------- s_toplevel.c ------------- */
78 void
79 s_toplevel_verify_design (LeptonToplevel *toplevel);
80 
81 void
82 s_toplevel_save_sheet ();
83 void s_toplevel_add_new_attrib(gchar *new_attrib_name);
84 void s_toplevel_delete_attrib_col();
85 void
86 s_toplevel_sheetdata_to_toplevel (LeptonToplevel *toplevel,
87                                   LeptonPage *page);
88 
89 STRING_LIST *s_toplevel_get_component_attribs_in_sheet(char *refdes);
90 void
91 s_toplevel_update_component_attribs_in_toplevel (LeptonToplevel *toplevel,
92                                                  LeptonObject *o_current,
93                                                  STRING_LIST *new_comp_attrib_list);
94 STRING_LIST *s_toplevel_get_net_attribs_in_sheet(char *netname);
95 void s_toplevel_update_net_attribs_in_toplevel(LeptonObject *o_current,
96                                                STRING_LIST *new_net_attrib_list);
97 STRING_LIST *s_toplevel_get_pin_attribs_in_sheet(char *refdes, LeptonObject *pin);
98 void
99 s_toplevel_update_pin_attribs_in_toplevel (LeptonToplevel *toplevel,
100                                            char *refdes,
101                                            LeptonObject *pin,
102                                            STRING_LIST *new_pin_attrib_list);
103 
104 /* ------------- s_object.c ------------- */
105 void
106 s_object_add_comp_attrib_to_object (LeptonToplevel *toplevel,
107                                     LeptonObject *o_current,
108                                     char *new_attrib_name,
109                                     char *new_attrib_value,
110                                     gint visibility,
111                                     gint show_name_value);
112 void
113 s_object_add_net_attrib_to_object (LeptonToplevel *toplevel,
114                                    LeptonObject *o_current,
115                                    char *new_attrib_name,
116                                    char *new_attrib_value);
117 void
118 s_object_add_pin_attrib_to_object (LeptonToplevel *toplevel,
119                                    LeptonObject *o_current,
120                                    char *new_attrib_name,
121                                    char *new_attrib_value);
122 
123 void s_object_replace_attrib_in_object (LeptonObject *o_current,
124                                         char *new_attrib_name,
125                                         char *new_attrib_value,
126                                         gint visibility,
127                                         gint show_name_value);
128 
129 void
130 s_object_remove_attrib_in_object (LeptonToplevel *toplevel,
131                                   LeptonObject *o_current,
132                                   char *new_attrib_name);
133 void
134 s_object_delete_text_object_in_object (LeptonToplevel *toplevel,
135                                        LeptonObject *test_object);
136 int s_object_has_sym_file(LeptonObject *object);
137 
138 /* ------------- s_misc.c ------------- */
139 void set_verbose_mode ();
140 void verbose_print (const char *string);
141 void verbose_done(void);
142 void verbose_reset_index(void);
143 char *s_misc_remaining_string(char *string, char delimiter, int count);
144 
145 /* ------------- s_visibility.c ------------- */
146 void s_visibility_set_invisible();
147 void s_visibility_set_name_only();
148 void s_visibility_set_value_only();
149 void s_visibility_set_name_and_value();
150 void s_visibility_set_cell(gint cur_page, gint row, gint col,
151                            gint visibility, gint show_name_value);
152 
153 /* ------------- x_dialog.c ------------- */
154 void x_dialog_newattrib();
155 void x_dialog_delattrib();
156 void x_dialog_missing_sym();
157 void x_dialog_unsaved_data();
158 void x_dialog_unimplemented_feature();
159 void x_dialog_fatal_error(const gchar *string, gint return_code);
160 void x_dialog_about_dialog();
161 void x_dialog_export_file();
162 
163 /* ------------- x_gtksheet.c ------------- */
164 void x_gtksheet_set_saved();
165 void x_gtksheet_init();
166 void x_gtksheet_add_row_labels(GtkSheet *sheet, int count, STRING_LIST *list_head);
167 void x_gtksheet_add_col_labels(GtkSheet *sheet, int count, STRING_LIST *list_head);
168 void x_gtksheet_add_cell_item(GtkSheet *sheet, gint i, gint j,
169                               char *text, gint visibility, gint show_name_value);
170 void x_gtksheet_set_cell_text_color(GtkSheet *sheet, gint row, gint col,
171                                     gint color_name);
172 int x_gtksheet_get_min_col(GtkSheet *sheet);
173 int x_gtksheet_get_max_col(GtkSheet *sheet);
174 
175 /* ------------- x_fileselect.c ------------- */
176 GSList *x_fileselect_open (void);
177 
178 /* ------------- x_window.c ------------- */
179 void x_window_add_items();
180 void
181 x_window_set_toplevel (LeptonToplevel *toplevel);
182 LeptonToplevel*
183 x_window_get_toplevel ();
184 void
185 lepton_attrib_window ();
186 void
187 x_window_set_title_changed (int changed);
188 
189 G_END_DECLS
190