gschem: Always set gschem state fluid & catch errors for hooks.
[geda-gaf/whiteaudio.git] / gschem / include / prototype.h
blob4eaf4358ead8ae64b0e2c970050e09c529ca1a37
1 /* $Id$ */
3 /* gschem_toplevel.c */
4 GSCHEM_TOPLEVEL *gschem_toplevel_new();
6 /* a_pan.c */
7 void a_pan_general(GSCHEM_TOPLEVEL *w_current, double world_cx, double world_cy,
8 double relativ_zoom_factor, int flags);
9 void a_pan(GSCHEM_TOPLEVEL *w_current, int x, int y);
10 void a_pan_mouse(GSCHEM_TOPLEVEL *w_current, int diff_x, int diff_y);
11 /* a_zoom.c */
12 void a_zoom(GSCHEM_TOPLEVEL *w_current, int dir, int selected_from, int pan_flags);
13 void a_zoom_extents(GSCHEM_TOPLEVEL *w_current, const GList *list, int pan_flags);
14 void a_zoom_box(GSCHEM_TOPLEVEL *w_current, int pan_flags);
15 void a_zoom_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
16 void a_zoom_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
17 void a_zoom_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
18 void a_zoom_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
19 void a_zoom_box_draw_rubber(GSCHEM_TOPLEVEL *w_current);
20 void correct_aspect(GSCHEM_TOPLEVEL *w_current);
21 /* g_attrib.c */
22 void g_init_attrib ();
23 /* g_funcs.c */
24 SCM g_funcs_print(SCM filename);
25 SCM g_funcs_postscript(SCM filename);
26 SCM g_funcs_image(SCM filename);
27 SCM g_funcs_exit(void);
28 SCM g_funcs_log(SCM msg);
29 SCM g_funcs_msg(SCM msg);
30 SCM g_funcs_confirm(SCM msg);
31 SCM g_funcs_filesel(SCM msg, SCM templ, SCM flags);
32 SCM g_funcs_use_rc_values(void);
33 SCM get_selected_component_attributes(GSCHEM_TOPLEVEL *w_current);
34 /* g_hook.c */
35 void g_init_hook ();
36 void g_run_hook_object (GSCHEM_TOPLEVEL *w_current, const char *name, OBJECT *obj);
37 void g_run_hook_object_list (GSCHEM_TOPLEVEL *w_current, const char *name, GList *obj_lst);
38 void g_run_hook_page (GSCHEM_TOPLEVEL *w_current, const char *name, PAGE *page);
39 /* g_keys.c */
40 void g_keys_reset (GSCHEM_TOPLEVEL *w_current);
41 int g_keys_execute(GSCHEM_TOPLEVEL *w_current, GdkEventKey *event);
42 GtkListStore *g_keys_to_list_store (void);
43 SCM g_keys_file_new(SCM rest);
44 SCM g_keys_file_new_window(SCM rest);
45 SCM g_keys_file_open(SCM rest);
46 SCM g_keys_file_script(SCM rest);
47 SCM g_keys_file_save(SCM rest);
48 SCM g_keys_file_save_as(SCM rest);
49 SCM g_keys_file_save_all(SCM rest);
50 SCM g_keys_file_print(SCM rest);
51 SCM g_keys_file_write_png(SCM rest);
52 SCM g_keys_file_close(SCM rest);
53 SCM g_keys_file_quit(SCM rest);
54 SCM g_keys_edit_undo(SCM rest);
55 SCM g_keys_edit_redo(SCM rest);
56 SCM g_keys_edit_select(SCM rest);
57 SCM g_keys_edit_select_all(SCM rest);
58 SCM g_keys_edit_deselect(SCM rest);
59 SCM g_keys_edit_copy(SCM rest);
60 SCM g_keys_edit_copy_hotkey(SCM rest);
61 SCM g_keys_edit_mcopy(SCM rest);
62 SCM g_keys_edit_mcopy_hotkey(SCM rest);
63 SCM g_keys_edit_move(SCM rest);
64 SCM g_keys_edit_move_hotkey(SCM rest);
65 SCM g_keys_edit_delete(SCM rest);
66 SCM g_keys_edit_rotate_90(SCM rest);
67 SCM g_keys_edit_rotate_90_hotkey(SCM rest);
68 SCM g_keys_edit_mirror(SCM rest);
69 SCM g_keys_edit_mirror_hotkey(SCM rest);
70 SCM g_keys_edit_slot(SCM rest);
71 SCM g_keys_edit_color(SCM rest);
72 SCM g_keys_edit_edit(SCM rest);
73 SCM g_keys_edit_pin_type(SCM rest);
74 SCM g_keys_edit_text(SCM rest);
75 SCM g_keys_edit_lock(SCM rest);
76 SCM g_keys_edit_unlock(SCM rest);
77 SCM g_keys_edit_linetype(SCM rest);
78 SCM g_keys_edit_filltype(SCM rest);
79 SCM g_keys_edit_translate(SCM rest);
80 SCM g_keys_edit_invoke_macro(SCM rest);
81 SCM g_keys_edit_embed(SCM rest);
82 SCM g_keys_edit_unembed(SCM rest);
83 SCM g_keys_edit_update(SCM rest);
84 SCM g_keys_edit_show_hidden(SCM rest);
85 SCM g_keys_edit_find(SCM rest);
86 SCM g_keys_edit_show_text(SCM rest);
87 SCM g_keys_edit_hide_text(SCM rest);
88 SCM g_keys_edit_autonumber_text(SCM rest);
89 SCM g_keys_clipboard_copy(SCM rest);
90 SCM g_keys_clipboard_cut(SCM rest);
91 SCM g_keys_clipboard_paste(SCM rest);
92 SCM g_keys_clipboard_paste_hotkey(SCM rest);
93 SCM g_keys_buffer_copy1(SCM rest);
94 SCM g_keys_buffer_copy2(SCM rest);
95 SCM g_keys_buffer_copy3(SCM rest);
96 SCM g_keys_buffer_copy4(SCM rest);
97 SCM g_keys_buffer_copy5(SCM rest);
98 SCM g_keys_buffer_cut1(SCM rest);
99 SCM g_keys_buffer_cut2(SCM rest);
100 SCM g_keys_buffer_cut3(SCM rest);
101 SCM g_keys_buffer_cut4(SCM rest);
102 SCM g_keys_buffer_cut5(SCM rest);
103 SCM g_keys_buffer_paste1(SCM rest);
104 SCM g_keys_buffer_paste2(SCM rest);
105 SCM g_keys_buffer_paste3(SCM rest);
106 SCM g_keys_buffer_paste4(SCM rest);
107 SCM g_keys_buffer_paste5(SCM rest);
108 SCM g_keys_buffer_paste1_hotkey(SCM rest);
109 SCM g_keys_buffer_paste2_hotkey(SCM rest);
110 SCM g_keys_buffer_paste3_hotkey(SCM rest);
111 SCM g_keys_buffer_paste4_hotkey(SCM rest);
112 SCM g_keys_buffer_paste5_hotkey(SCM rest);
113 SCM g_keys_view_redraw(SCM rest);
114 SCM g_keys_view_zoom_full(SCM rest);
115 SCM g_keys_view_zoom_extents(SCM rest);
116 SCM g_keys_view_zoom_in(SCM rest);
117 SCM g_keys_view_zoom_out(SCM rest);
118 SCM g_keys_view_zoom_in_hotkey(SCM rest);
119 SCM g_keys_view_zoom_out_hotkey(SCM rest);
120 SCM g_keys_view_zoom_box(SCM rest);
121 SCM g_keys_view_zoom_box_hotkey(SCM rest);
122 SCM g_keys_view_pan(SCM rest);
123 SCM g_keys_view_pan_left(SCM rest);
124 SCM g_keys_view_pan_right(SCM rest);
125 SCM g_keys_view_pan_up(SCM rest);
126 SCM g_keys_view_pan_down(SCM rest);
127 SCM g_keys_view_pan_hotkey(SCM rest);
128 SCM g_keys_view_dark_colors(SCM rest);
129 SCM g_keys_view_light_colors(SCM rest);
130 SCM g_keys_view_bw_colors(SCM rest);
131 SCM g_keys_page_manager(SCM rest);
132 SCM g_keys_page_next(SCM rest);
133 SCM g_keys_page_prev(SCM rest);
134 SCM g_keys_page_new(SCM rest);
135 SCM g_keys_page_close(SCM rest);
136 SCM g_keys_page_revert(SCM rest);
137 SCM g_keys_page_discard(SCM rest);
138 SCM g_keys_page_print(SCM rest);
139 SCM g_keys_add_component(SCM rest);
140 SCM g_keys_add_attribute(SCM rest);
141 SCM g_keys_add_attribute_hotkey(SCM rest);
142 SCM g_keys_add_net(SCM rest);
143 SCM g_keys_add_net_hotkey(SCM rest);
144 SCM g_keys_add_bus(SCM rest);
145 SCM g_keys_add_bus_hotkey(SCM rest);
146 SCM g_keys_add_text(SCM rest);
147 SCM g_keys_add_line(SCM rest);
148 SCM g_keys_add_line_hotkey(SCM rest);
149 SCM g_keys_add_box(SCM rest);
150 SCM g_keys_add_box_hotkey(SCM rest);
151 SCM g_keys_add_picture(SCM rest);
152 SCM g_keys_add_picture_hotkey(SCM rest);
153 SCM g_keys_add_circle(SCM rest);
154 SCM g_keys_add_circle_hotkey(SCM rest);
155 SCM g_keys_add_arc(SCM rest);
156 SCM g_keys_add_arc_hotkey(SCM rest);
157 SCM g_keys_add_pin(SCM rest);
158 SCM g_keys_add_pin_hotkey(SCM rest);
159 SCM g_keys_hierarchy_down_schematic(SCM rest);
160 SCM g_keys_hierarchy_down_symbol(SCM rest);
161 SCM g_keys_hierarchy_up(SCM rest);
162 SCM g_keys_attributes_attach(SCM rest);
163 SCM g_keys_attributes_detach(SCM rest);
164 SCM g_keys_attributes_show_name(SCM rest);
165 SCM g_keys_attributes_show_value(SCM rest);
166 SCM g_keys_attributes_show_both(SCM rest);
167 SCM g_keys_attributes_visibility_toggle(SCM rest);
168 SCM g_keys_script_console(SCM rest);
169 SCM g_keys_options_text_size(SCM rest);
170 SCM g_keys_options_afeedback(SCM rest);
171 SCM g_keys_options_grid(SCM rest);
172 SCM g_keys_options_snap(SCM rest);
173 SCM g_keys_options_snap_size(SCM rest);
174 SCM g_keys_options_scale_up_snap_size(SCM rest);
175 SCM g_keys_options_scale_down_snap_size(SCM rest);
176 SCM g_keys_options_rubberband(SCM rest);
177 SCM g_keys_options_magneticnet(SCM rest);
178 SCM g_keys_options_show_log_window(SCM rest);
179 SCM g_keys_options_show_coord_window(SCM rest);
180 SCM g_keys_misc(SCM rest);
181 SCM g_keys_misc2(SCM rest);
182 SCM g_keys_misc3(SCM rest);
183 SCM g_keys_help_about(SCM rest);
184 SCM g_keys_help_hotkeys(SCM rest);
185 SCM g_keys_cancel(SCM rest);
186 void g_init_keys ();
187 /* g_rc.c */
188 void g_rc_parse_gtkrc();
189 SCM g_rc_gschem_version(SCM version);
190 SCM g_rc_net_endpoint_mode(SCM mode);
191 SCM g_rc_net_midpoint_mode(SCM mode);
192 SCM g_rc_net_direction_mode(SCM mode);
193 SCM g_rc_net_selection_mode(SCM mode);
194 SCM g_rc_net_style(SCM mode);
195 SCM g_rc_bus_style(SCM mode);
196 SCM g_rc_pin_style(SCM mode);
197 SCM g_rc_line_style(SCM mode);
198 SCM g_rc_action_feedback_mode(SCM mode);
199 SCM g_rc_zoom_with_pan(SCM mode);
200 SCM g_rc_text_feedback(SCM mode);
201 SCM g_rc_text_display_zoomfactor(SCM zoomfactor);
202 SCM g_rc_scrollbar_update(SCM mode);
203 SCM g_rc_object_clipping(SCM mode);
204 SCM g_rc_logging(SCM mode);
205 SCM g_rc_embed_components(SCM mode);
206 SCM g_rc_component_dialog_attributes(SCM stringlist);
207 SCM g_rc_text_size(SCM size);
208 SCM g_rc_text_caps_style(SCM mode);
209 SCM g_rc_postscript_font_scale(SCM scale);
210 SCM g_rc_snap_size(SCM size);
211 SCM g_rc_logging_destination(SCM mode);
212 SCM g_rc_attribute_name(SCM path);
213 SCM g_rc_scrollbars(SCM mode);
214 SCM g_rc_paper_size(SCM width, SCM height);
215 SCM g_rc_paper_sizes(SCM papername, SCM scm_width, SCM scm_height);
216 SCM g_rc_output_type(SCM mode);
217 SCM g_rc_output_orientation(SCM mode);
218 SCM g_rc_image_color(SCM mode);
219 SCM g_rc_image_size(SCM width, SCM height);
220 SCM g_rc_output_color(SCM mode);
221 SCM g_rc_output_capstyle(SCM mode);
222 SCM g_rc_log_window(SCM mode);
223 SCM g_rc_log_window_type(SCM mode);
224 SCM g_rc_third_button(SCM mode);
225 SCM g_rc_middle_button(SCM mode);
226 SCM g_rc_scroll_wheel(SCM mode);
227 SCM g_rc_net_consolidate(SCM mode);
228 SCM g_rc_file_preview(SCM mode);
229 SCM g_rc_enforce_hierarchy(SCM mode);
230 SCM g_rc_text_origin_marker(SCM mode);
231 SCM g_rc_fast_mousepan(SCM mode);
232 SCM g_rc_raise_dialog_boxes_on_expose(SCM mode);
233 SCM g_rc_continue_component_place(SCM mode);
234 SCM g_rc_undo_levels(SCM levels);
235 SCM g_rc_undo_control(SCM mode);
236 SCM g_rc_undo_type(SCM mode);
237 SCM g_rc_undo_panzoom(SCM mode);
238 SCM g_rc_draw_grips(SCM mode);
239 SCM g_rc_netconn_rubberband(SCM mode);
240 SCM g_rc_magnetic_net_mode(SCM mode);
241 SCM g_rc_sort_component_library(SCM mode);
242 SCM g_rc_add_menu(SCM menu_name, SCM menu_items);
243 SCM g_rc_window_size(SCM width, SCM height);
244 SCM g_rc_warp_cursor(SCM mode);
245 SCM g_rc_toolbars(SCM mode);
246 SCM g_rc_handleboxes(SCM mode);
247 SCM g_rc_setpagedevice_orientation(SCM mode);
248 SCM g_rc_setpagedevice_pagesize(SCM mode);
249 SCM g_rc_bus_ripper_size(SCM size);
250 SCM g_rc_bus_ripper_type(SCM mode);
251 SCM g_rc_bus_ripper_rotation(SCM mode);
252 SCM g_rc_force_boundingbox(SCM mode);
253 SCM g_rc_dots_grid_dot_size(SCM dotsize);
254 SCM g_rc_dots_grid_mode(SCM mode);
255 SCM g_rc_dots_grid_fixed_threshold(SCM spacing);
256 SCM g_rc_mesh_grid_display_threshold(SCM spacing);
257 SCM g_rc_add_attribute_offset(SCM offset);
258 SCM g_rc_auto_save_interval(SCM seconds);
259 SCM g_rc_mousepan_gain(SCM mode);
260 SCM g_rc_keyboardpan_gain(SCM mode);
261 SCM g_rc_print_command(SCM mode);
262 SCM g_rc_select_slack_pixels(SCM pixels);
263 SCM g_rc_zoom_gain(SCM gain);
264 SCM g_rc_scrollpan_steps(SCM steps);
265 SCM g_rc_display_color_map (SCM scm_map);
266 SCM g_rc_display_outline_color_map (SCM scm_map);
267 /* g_register.c */
268 void g_register_funcs(void);
269 /* g_select.c */
270 void g_init_select ();
271 /* g_util.c */
272 void g_init_util ();
273 /* g_window.c */
274 GSCHEM_TOPLEVEL *g_current_window ();
275 void g_dynwind_window (GSCHEM_TOPLEVEL *w_current);
276 void g_init_window ();
277 /* globals.c */
278 /* gschem.c */
279 typedef void (*gschem_atexit_func)(gpointer data);
280 void gschem_atexit(gschem_atexit_func func, gpointer data);
281 void gschem_quit(void);
282 void main_prog(void *closure, int argc, char *argv[]);
283 int main(int argc, char *argv[]);
284 /* gschem_cairo.c */
285 void gschem_cairo_line(GSCHEM_TOPLEVEL *w_current, int line_end, int line_width, int x1, int y1, int x2, int y2);
286 void gschem_cairo_box(GSCHEM_TOPLEVEL *w_current, int line_width, int x1, int y1, int x2, int y2);
287 void gschem_cairo_center_box(GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x1, int y1, int x2, int y2);
288 void gschem_cairo_arc(GSCHEM_TOPLEVEL *w_current, int line_width, int x, int y, int radius, int start_angle, int end_angle);
289 void gschem_cairo_center_arc(GSCHEM_TOPLEVEL *w_current, int center_width, int line_width, int x, int y, int radius, int start_angle, int end_angle);
290 void gschem_cairo_stroke(GSCHEM_TOPLEVEL *w_current, int line_type, int line_end, int width, int length, int space);
291 void gschem_cairo_set_source_color(GSCHEM_TOPLEVEL *w_current, COLOR *color);
292 /* i_basic.c */
293 void i_show_state(GSCHEM_TOPLEVEL *w_current, const char *message);
294 void i_set_state(GSCHEM_TOPLEVEL *w_current, enum x_states newstate);
295 void i_set_state_msg(GSCHEM_TOPLEVEL *w_current, enum x_states newstate, const char *message);
296 void i_update_middle_button(GSCHEM_TOPLEVEL *w_current, void (*func_ptr)(), const char *string);
297 void i_update_toolbar(GSCHEM_TOPLEVEL *w_current);
298 void i_update_menus(GSCHEM_TOPLEVEL *w_current);
299 void i_set_filename(GSCHEM_TOPLEVEL *w_current, const gchar *string);
300 void i_update_grid_info(GSCHEM_TOPLEVEL *w_current);
301 /* i_callbacks.c */
302 void i_callback_file_new(gpointer data, guint callback_action, GtkWidget *widget);
303 void i_callback_toolbar_file_new(GtkWidget *widget, gpointer data);
304 void i_callback_file_new_window(gpointer data, guint callback_action, GtkWidget *widget);
305 void i_callback_file_open(gpointer data, guint callback_action, GtkWidget *widget);
306 void i_callback_toolbar_file_open(GtkWidget *widget, gpointer data);
307 void i_callback_file_script(gpointer data, guint callback_action, GtkWidget *widget);
308 void i_callback_file_save(gpointer data, guint callback_action, GtkWidget *widget);
309 void i_callback_toolbar_file_save(GtkWidget *widget, gpointer data);
310 void i_callback_file_save_all(gpointer data, guint callback_action, GtkWidget *widget);
311 void i_callback_file_save_as(gpointer data, guint callback_action, GtkWidget *widget);
312 void i_callback_file_print(gpointer data, guint callback_action, GtkWidget *widget);
313 void i_callback_file_write_png(gpointer data, guint callback_action, GtkWidget *widget);
314 void i_callback_file_close(gpointer data, guint callback_action, GtkWidget *widget);
315 int i_callback_close(gpointer data, guint callback_action, GtkWidget *widget);
316 void i_callback_file_quit(gpointer data, guint callback_action, GtkWidget *widget);
317 void i_callback_edit_undo(gpointer data, guint callback_action, GtkWidget *widget);
318 void i_callback_toolbar_edit_undo(GtkWidget *widget, gpointer data);
319 void i_callback_edit_redo(gpointer data, guint callback_action, GtkWidget *widget);
320 void i_callback_toolbar_edit_redo(GtkWidget *widget, gpointer data);
321 void i_callback_edit_select(gpointer data, guint callback_action, GtkWidget *widget);
322 void i_callback_toolbar_edit_select(GtkWidget *widget, gpointer data);
323 void i_callback_edit_select_all(gpointer data, guint callback_action, GtkWidget *widget);
324 void i_callback_edit_deselect(gpointer data, guint callback_action, GtkWidget *widget);
325 void i_callback_edit_copy(gpointer data, guint callback_action, GtkWidget *widget);
326 void i_callback_edit_copy_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
327 void i_callback_edit_mcopy(gpointer data, guint callback_action, GtkWidget *widget);
328 void i_callback_edit_mcopy_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
329 void i_callback_edit_move(gpointer data, guint callback_action, GtkWidget *widget);
330 void i_callback_edit_move_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
331 void i_callback_edit_delete(gpointer data, guint callback_action, GtkWidget *widget);
332 void i_callback_edit_edit(gpointer data, guint callback_action, GtkWidget *widget);
333 void i_callback_edit_pin_type(gpointer data, guint callback_action, GtkWidget *widget);
334 void i_callback_edit_text(gpointer data, guint callback_action, GtkWidget *widget);
335 void i_callback_edit_slot(gpointer data, guint callback_action, GtkWidget *widget);
336 void i_callback_edit_color(gpointer data, guint callback_action, GtkWidget *widget);
337 void i_callback_edit_rotate_90(gpointer data, guint callback_action, GtkWidget *widget);
338 void i_callback_edit_rotate_90_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
339 void i_callback_edit_mirror(gpointer data, guint callback_action, GtkWidget *widget);
340 void i_callback_edit_mirror_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
341 void i_callback_edit_lock(gpointer data, guint callback_action, GtkWidget *widget);
342 void i_callback_edit_unlock(gpointer data, guint callback_action, GtkWidget *widget);
343 void i_callback_edit_translate(gpointer data, guint callback_action, GtkWidget *widget);
344 void i_callback_edit_invoke_macro(gpointer data, guint callback_action, GtkWidget *widget);
345 void i_callback_edit_embed(gpointer data, guint callback_action, GtkWidget *widget);
346 void i_callback_edit_unembed(gpointer data, guint callback_action, GtkWidget *widget);
347 void i_callback_edit_update(gpointer data, guint callback_action, GtkWidget *widget);
348 void i_callback_edit_show_hidden(gpointer data, guint callback_action, GtkWidget *widget);
349 void i_callback_edit_find(gpointer data, guint callback_action, GtkWidget *widget);
350 void i_callback_edit_hide_text(gpointer data, guint callback_action, GtkWidget *widget);
351 void i_callback_edit_show_text(gpointer data, guint callback_action, GtkWidget *widget);
352 void i_callback_edit_autonumber_text(gpointer data, guint callback_action, GtkWidget *widget);
353 void i_callback_edit_linetype(gpointer data, guint callback_action, GtkWidget *widget);
354 void i_callback_edit_filltype(gpointer data, guint callback_action, GtkWidget *widget);
355 void i_callback_view_redraw(gpointer data, guint callback_action, GtkWidget *widget);
356 void i_callback_view_zoom_full(gpointer data, guint callback_action, GtkWidget *widget);
357 void i_callback_view_zoom_extents(gpointer data, guint callback_action, GtkWidget *widget);
358 void i_callback_view_zoom_box(gpointer data, guint callback_action, GtkWidget *widget);
359 void i_callback_view_zoom_box_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
360 void i_callback_view_zoom_in(gpointer data, guint callback_action, GtkWidget *widget);
361 void i_callback_view_zoom_out(gpointer data, guint callback_action, GtkWidget *widget);
362 void i_callback_view_zoom_in_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
363 void i_callback_view_zoom_out_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
364 void i_callback_view_pan(gpointer data, guint callback_action, GtkWidget *widget);
365 void i_callback_view_pan_left(gpointer data, guint callback_action, GtkWidget *widget);
366 void i_callback_view_pan_right(gpointer data, guint callback_action, GtkWidget *widget);
367 void i_callback_view_pan_up(gpointer data, guint callback_action, GtkWidget *widget);
368 void i_callback_view_pan_down(gpointer data, guint callback_action, GtkWidget *widget);
369 void i_callback_view_pan_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
370 void i_callback_view_dark_colors(gpointer data, guint callback_action, GtkWidget *widget);
371 void i_callback_view_light_colors(gpointer data, guint callback_action, GtkWidget *widget);
372 void i_callback_view_bw_colors(gpointer data, guint callback_action, GtkWidget *widget);
373 void i_callback_page_manager(gpointer data, guint callback_action, GtkWidget *widget);
374 void i_callback_page_next(gpointer data, guint callback_action, GtkWidget *widget);
375 void i_callback_page_prev(gpointer data, guint callback_action, GtkWidget *widget);
376 void i_callback_page_new(gpointer data, guint callback_action, GtkWidget *widget);
377 void i_callback_page_close(gpointer data, guint callback_action, GtkWidget *widget);
378 void i_callback_page_revert(gpointer data, guint callback_action, GtkWidget *widget);
379 void i_callback_page_discard(gpointer data, guint callback_action, GtkWidget *widget);
380 void i_callback_page_print(gpointer data, guint callback_action, GtkWidget *widget);
381 void i_callback_clipboard_copy(gpointer data, guint callback_action, GtkWidget *widget);
382 void i_callback_clipboard_cut(gpointer data, guint callback_action, GtkWidget *widget);
383 void i_callback_clipboard_paste(gpointer data, guint callback_action, GtkWidget *widget);
384 void i_callback_clipboard_paste_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
385 void i_callback_buffer_copy1(gpointer data, guint callback_action, GtkWidget *widget);
386 void i_callback_buffer_copy2(gpointer data, guint callback_action, GtkWidget *widget);
387 void i_callback_buffer_copy3(gpointer data, guint callback_action, GtkWidget *widget);
388 void i_callback_buffer_copy4(gpointer data, guint callback_action, GtkWidget *widget);
389 void i_callback_buffer_copy5(gpointer data, guint callback_action, GtkWidget *widget);
390 void i_callback_buffer_cut1(gpointer data, guint callback_action, GtkWidget *widget);
391 void i_callback_buffer_cut2(gpointer data, guint callback_action, GtkWidget *widget);
392 void i_callback_buffer_cut3(gpointer data, guint callback_action, GtkWidget *widget);
393 void i_callback_buffer_cut4(gpointer data, guint callback_action, GtkWidget *widget);
394 void i_callback_buffer_cut5(gpointer data, guint callback_action, GtkWidget *widget);
395 void i_callback_buffer_paste1(gpointer data, guint callback_action, GtkWidget *widget);
396 void i_callback_buffer_paste2(gpointer data, guint callback_action, GtkWidget *widget);
397 void i_callback_buffer_paste3(gpointer data, guint callback_action, GtkWidget *widget);
398 void i_callback_buffer_paste4(gpointer data, guint callback_action, GtkWidget *widget);
399 void i_callback_buffer_paste5(gpointer data, guint callback_action, GtkWidget *widget);
400 void i_callback_buffer_paste1_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
401 void i_callback_buffer_paste2_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
402 void i_callback_buffer_paste3_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
403 void i_callback_buffer_paste4_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
404 void i_callback_buffer_paste5_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
405 void i_callback_add_component(gpointer data, guint callback_action, GtkWidget *widget);
406 void i_callback_toolbar_add_component(GtkWidget *widget, gpointer data);
407 void i_callback_add_attribute(gpointer data, guint callback_action, GtkWidget *widget);
408 void i_callback_add_attribute_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
409 void i_callback_add_net(gpointer data, guint callback_action, GtkWidget *widget);
410 void i_callback_add_net_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
411 void i_callback_toolbar_add_net(GtkWidget *widget, gpointer data);
412 void i_callback_add_bus(gpointer data, guint callback_action, GtkWidget *widget);
413 void i_callback_add_bus_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
414 void i_callback_toolbar_add_bus(GtkWidget *widget, gpointer data);
415 void i_callback_add_text(gpointer data, guint callback_action, GtkWidget *widget);
416 void i_callback_toolbar_add_text(GtkWidget *widget, gpointer data);
417 void i_callback_add_line(gpointer data, guint callback_action, GtkWidget *widget);
418 void i_callback_add_line_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
419 void i_callback_add_box(gpointer data, guint callback_action, GtkWidget *widget);
420 void i_callback_add_box_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
421 void i_callback_add_picture(gpointer data, guint callback_action, GtkWidget *widget);
422 void i_callback_add_picture_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
423 void i_callback_add_circle(gpointer data, guint callback_action, GtkWidget *widget);
424 void i_callback_add_circle_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
425 void i_callback_add_arc(gpointer data, guint callback_action, GtkWidget *widget);
426 void i_callback_add_arc_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
427 void i_callback_add_pin(gpointer data, guint callback_action, GtkWidget *widget);
428 void i_callback_add_pin_hotkey(gpointer data, guint callback_action, GtkWidget *widget);
429 void i_callback_hierarchy_down_schematic(gpointer data, guint callback_action, GtkWidget *widget);
430 void i_callback_hierarchy_down_symbol(gpointer data, guint callback_action, GtkWidget *widget);
431 void i_callback_hierarchy_up(gpointer data, guint callback_action, GtkWidget *widget);
432 void i_callback_attributes_attach(gpointer data, guint callback_action, GtkWidget *widget);
433 void i_callback_attributes_detach(gpointer data, guint callback_action, GtkWidget *widget);
434 void i_callback_attributes_show_name(gpointer data, guint callback_action, GtkWidget *widget);
435 void i_callback_attributes_show_value(gpointer data, guint callback_action, GtkWidget *widget);
436 void i_callback_attributes_show_both(gpointer data, guint callback_action, GtkWidget *widget);
437 void i_callback_attributes_visibility_toggle(gpointer data, guint callback_action, GtkWidget *widget);
438 void i_callback_script_console(gpointer data, guint callback_action, GtkWidget *widget);
439 void i_callback_options_text_size(gpointer data, guint callback_action, GtkWidget *widget);
440 void i_callback_options_snap_size(gpointer data, guint callback_action, GtkWidget *widget);
441 void i_callback_options_scale_up_snap_size(gpointer data, guint callback_action, GtkWidget *widget);
442 void i_callback_options_scale_down_snap_size(gpointer data, guint callback_action, GtkWidget *widget);
443 void i_callback_options_afeedback(gpointer data, guint callback_action, GtkWidget *widget);
444 void i_callback_options_grid(gpointer data, guint callback_action, GtkWidget *widget);
445 void i_callback_options_snap(gpointer data, guint callback_action, GtkWidget *widget);
446 void i_callback_options_rubberband(gpointer data, guint callback_action, GtkWidget *widget);
447 void i_callback_options_magneticnet(gpointer data, guint callback_action, GtkWidget *widget);
448 void i_callback_options_show_log_window(gpointer data, guint callback_action, GtkWidget *widget);
449 void i_callback_misc(gpointer data, guint callback_action, GtkWidget *widget);
450 void i_callback_misc2(gpointer data, guint callback_action, GtkWidget *widget);
451 void i_callback_misc3(gpointer data, guint callback_action, GtkWidget *widget);
452 void i_callback_cancel(gpointer data, guint callback_action, GtkWidget *widget);
453 void i_callback_help_about(gpointer data, guint callback_action, GtkWidget *widget);
454 void i_callback_help_hotkeys(gpointer data, guint callback_action, GtkWidget *widget);
455 void i_callback_options_show_coord_window(gpointer data, guint callback_action, GtkWidget *widget);
456 gboolean i_callback_close_wm(GtkWidget *widget, GdkEvent *event, gpointer data);
457 /* i_vars.c */
458 void i_vars_set(GSCHEM_TOPLEVEL *w_current);
459 void i_vars_freenames();
460 /* m_basic.c */
461 int mil_x(GSCHEM_TOPLEVEL *w_current, int val);
462 int mil_y(GSCHEM_TOPLEVEL *w_current, int val);
463 int pix_x(GSCHEM_TOPLEVEL *w_current, int val);
464 int pix_y(GSCHEM_TOPLEVEL *w_current, int val);
465 void WORLDtoSCREEN(GSCHEM_TOPLEVEL *w_current, int x, int y, int *px, int *py);
466 void SCREENtoWORLD(GSCHEM_TOPLEVEL *w_current, int mx, int my, int *x, int *y);
467 int snap_grid(GSCHEM_TOPLEVEL *w_current, int input);
468 int SCREENabs(GSCHEM_TOPLEVEL *w_current, int val);
469 int WORLDabs(GSCHEM_TOPLEVEL *w_current, int val);
470 int WORLDclip_change(GSCHEM_TOPLEVEL *w_current, int *x1, int *y1, int *x2, int *y2);
471 int clip_nochange(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2);
472 int visible(GSCHEM_TOPLEVEL *w_current, int wleft, int wtop, int wright, int wbottom);
473 double round_5_2_1(double unrounded);
474 /* o_arc.c */
475 void o_arc_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
476 void o_arc_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
477 void o_arc_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
478 void o_arc_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
479 void o_arc_end1(GSCHEM_TOPLEVEL *w_current, int x, int y);
480 void o_arc_end4(GSCHEM_TOPLEVEL *w_current, int radius, int start_angle, int end_angle);
481 void o_arc_motion(GSCHEM_TOPLEVEL *w_current, int x, int y, int whichone);
482 void o_arc_draw_rubber(GSCHEM_TOPLEVEL *w_current);
483 void o_arc_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
484 /* o_attrib.c */
485 void o_attrib_add_selected(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected);
486 void o_attrib_deselect_invisible(GSCHEM_TOPLEVEL *w_current, SELECTION *selection, OBJECT *selected);
487 void o_attrib_toggle_visibility(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
488 void o_attrib_toggle_show_name_value(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int new_show_name_value);
489 OBJECT *o_attrib_add_attrib(GSCHEM_TOPLEVEL *w_current, const char *text_string, int visibility, int show_name_value, OBJECT *object);
490 /* o_basic.c */
491 void o_redraw_rects(GSCHEM_TOPLEVEL *w_current, GdkRectangle *rectangles, int n_rectangles);
492 void o_redraw(GSCHEM_TOPLEVEL *w_current, GList *object_list, gboolean draw_selected);
493 void o_redraw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
494 int o_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
495 int o_redraw_cleanstates(GSCHEM_TOPLEVEL *w_current);
496 void o_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *object);
497 void o_glist_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, GList *list);
498 void o_invalidate_rect(GSCHEM_TOPLEVEL *w_current, int x1, int y1, int x2, int y2);
499 void o_invalidate_all(GSCHEM_TOPLEVEL *w_current);
500 void o_invalidate(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
501 void o_invalidate_glist(GSCHEM_TOPLEVEL *w_current, GList *list);
502 COLOR *o_drawing_color(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
503 /* o_box.c */
504 void o_box_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
505 void o_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
506 void o_box_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
507 void o_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
508 void o_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
509 void o_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
510 void o_box_draw_rubber(GSCHEM_TOPLEVEL *w_current);
511 void o_box_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
512 /* o_buffer.c */
513 void o_buffer_copy(GSCHEM_TOPLEVEL *w_current, int buf_num);
514 void o_buffer_cut(GSCHEM_TOPLEVEL *w_current, int buf_num);
515 void o_buffer_paste_start(GSCHEM_TOPLEVEL *w_current, int x, int y, int buf_num);
516 void o_buffer_init(void);
517 void o_buffer_free(GSCHEM_TOPLEVEL *w_current);
518 /* o_bus.c */
519 void o_bus_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
520 void o_bus_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
521 void o_bus_draw_stretch(GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current);
522 void o_bus_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
523 int o_bus_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
524 void o_bus_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
525 void o_bus_draw_rubber(GSCHEM_TOPLEVEL *w_current);
526 void o_bus_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
527 /* o_circle.c */
528 void o_circle_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
529 void o_circle_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
530 void o_circle_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
531 void o_circle_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
532 void o_circle_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
533 void o_circle_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
534 void o_circle_draw_rubber(GSCHEM_TOPLEVEL *w_current);
535 void o_circle_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
536 /* o_complex.c */
537 void o_complex_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
538 void o_complex_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *complex);
539 void o_complex_prepare_place(GSCHEM_TOPLEVEL *w_current, const CLibSymbol *sym);
540 void o_complex_place_changed_run_hook(GSCHEM_TOPLEVEL *w_current);
541 void o_complex_translate_all(GSCHEM_TOPLEVEL *w_current, int offset);
542 /* o_copy.c */
543 void o_copy_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
544 void o_copy_end(GSCHEM_TOPLEVEL *w_current);
545 void o_copy_multiple_end(GSCHEM_TOPLEVEL *w_current);
546 /* o_cue.c */
547 void o_cue_redraw_all(GSCHEM_TOPLEVEL *w_current, GList *list, gboolean draw_selected);
548 void o_cue_draw_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int whichone);
549 void o_cue_draw_lowlevel_midpoints(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
550 void o_cue_draw_single(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
551 void o_cue_draw_list(GSCHEM_TOPLEVEL *w_current, GList *object_list);
552 /* o_delete.c */
553 void o_delete(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
554 void o_delete_selected(GSCHEM_TOPLEVEL *w_current);
555 /* o_find.c */
556 gboolean o_find_object(GSCHEM_TOPLEVEL *w_current, int x, int y,
557 gboolean deselect_afterwards);
558 gboolean o_find_selected_object(GSCHEM_TOPLEVEL *w_current, int x, int y);
559 /* o_grips.c */
560 OBJECT *o_grips_search_world(GSCHEM_TOPLEVEL *w_current, int x, int y, int *whichone);
561 OBJECT *o_grips_search_arc_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
562 OBJECT *o_grips_search_box_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
563 OBJECT *o_grips_search_path_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
564 OBJECT *o_grips_search_picture_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
565 OBJECT *o_grips_search_circle_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
566 OBJECT *o_grips_search_line_world(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
567 int o_grips_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
568 void o_grips_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
569 void o_grips_end(GSCHEM_TOPLEVEL *w_current);
570 void o_grips_cancel(GSCHEM_TOPLEVEL *w_current);
571 int o_grips_size(GSCHEM_TOPLEVEL *w_current);
572 void o_grips_draw(GSCHEM_TOPLEVEL *w_current, int x, int y);
573 void o_grips_draw_rubber(GSCHEM_TOPLEVEL *w_current);
574 /* o_line.c */
575 void o_line_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
576 void o_line_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
577 void o_line_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
578 void o_line_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
579 void o_line_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
580 void o_line_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
581 void o_line_draw_rubber(GSCHEM_TOPLEVEL *w_current);
582 void o_line_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
583 int o_line_visible(GSCHEM_TOPLEVEL *w_current, LINE *line, int *x1, int *y1, int *x2, int *y2);
584 /* o_misc.c */
585 void o_edit(GSCHEM_TOPLEVEL *w_current, GList *list);
586 void o_lock(GSCHEM_TOPLEVEL *w_current);
587 void o_unlock(GSCHEM_TOPLEVEL *w_current);
588 void o_rotate_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, int angle, GList *list);
589 void o_mirror_world_update(GSCHEM_TOPLEVEL *w_current, int centerx, int centery, GList *list);
590 void o_edit_show_hidden_lowlevel(GSCHEM_TOPLEVEL *w_current, const GList *o_list);
591 void o_edit_show_hidden(GSCHEM_TOPLEVEL *w_current, const GList *o_list);
592 int o_edit_find_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext, int descend, int skip);
593 void o_edit_hide_specific_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext);
594 void o_edit_show_specific_text(GSCHEM_TOPLEVEL *w_current, const GList *o_list, char *stext);
595 OBJECT *o_update_component(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
596 void o_autosave_backups(GSCHEM_TOPLEVEL *w_current);
597 /* o_move.c */
598 void o_move_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
599 void o_move_end_lowlevel(GSCHEM_TOPLEVEL *w_current, OBJECT *object, int diff_x, int diff_y);
600 void o_move_end(GSCHEM_TOPLEVEL *w_current);
601 void o_move_cancel(GSCHEM_TOPLEVEL *w_current);
602 void o_move_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
603 void o_move_invalidate_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
604 void o_move_draw_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
605 int o_move_return_whichone(OBJECT *object, int x, int y);
606 void o_move_check_endpoint(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
607 void o_move_prep_rubberband(GSCHEM_TOPLEVEL *w_current);
608 int o_move_zero_length(OBJECT *object);
609 void o_move_end_rubberband(GSCHEM_TOPLEVEL *w_current, int world_diff_x, int world_diff_y, GList **objects);
610 /* o_net.c */
611 void o_net_reset(GSCHEM_TOPLEVEL *w_current);
612 void o_net_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
613 void o_net_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
614 void o_net_draw_stretch(GSCHEM_TOPLEVEL *w_current, int dx, int dy, int whichone, OBJECT *o_current);
615 void o_net_guess_direction(GSCHEM_TOPLEVEL *w_current, int x, int y);
616 void o_net_find_magnetic(GSCHEM_TOPLEVEL *w_current, int event_x, int event_y);
617 void o_net_finishmagnetic(GSCHEM_TOPLEVEL *w_current);
618 void o_net_start_magnetic(GSCHEM_TOPLEVEL *w_current, int x, int y);
619 void o_net_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
620 int o_net_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
621 void o_net_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
622 void o_net_draw_rubber(GSCHEM_TOPLEVEL *w_current);
623 void o_net_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
624 int o_net_add_busrippers(GSCHEM_TOPLEVEL *w_current, OBJECT *net_obj, GList *other_objects);
625 /* o_picture.c */
626 void o_picture_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
627 void o_picture_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
628 void o_picture_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
629 void picture_selection_dialog (GSCHEM_TOPLEVEL *w_current);
630 void o_picture_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
631 void o_picture_draw_rubber(GSCHEM_TOPLEVEL *w_current);
632 void o_picture_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
633 void o_picture_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
634 void o_picture_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
635 gboolean o_picture_exchange(GSCHEM_TOPLEVEL *w_current, const gchar *filename, GError **error);
636 void picture_change_filename_dialog (GSCHEM_TOPLEVEL *w_current);
637 void o_picture_set_pixbuf(GSCHEM_TOPLEVEL *w_current, GdkPixbuf *pixbuf, char *filename);
639 /* o_path.c */
640 void o_path_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
641 void o_path_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
642 void o_path_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
643 void o_path_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
644 void o_path_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
645 void o_path_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
646 void o_path_draw_rubber(GSCHEM_TOPLEVEL *w_current);
647 void o_path_draw_grips(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
649 /* o_pin.c */
650 void o_pin_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
651 void o_pin_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
652 void o_pin_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
653 void o_pin_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
654 void o_pin_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
655 void o_pin_draw_rubber(GSCHEM_TOPLEVEL *w_current);
656 void o_pin_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
657 /* o_place.c */
658 void o_place_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
659 void o_place_end(GSCHEM_TOPLEVEL *w_current, int x, int y, int continue_placing, GList **ret_new_objects, const char *hook_name);
660 void o_place_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
661 void o_place_invalidate_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
662 void o_place_draw_rubber(GSCHEM_TOPLEVEL *w_current, int drawing);
663 void o_place_rotate(GSCHEM_TOPLEVEL *w_current);
664 /* o_select.c */
665 void o_select_run_hooks(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int flag);
666 void o_select_object(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current, int type, int count);
667 int o_select_box_start(GSCHEM_TOPLEVEL *w_current, int x, int y);
668 void o_select_box_end(GSCHEM_TOPLEVEL *w_current, int x, int y);
669 void o_select_box_motion(GSCHEM_TOPLEVEL *w_current, int x, int y);
670 void o_select_box_invalidate_rubber(GSCHEM_TOPLEVEL *w_current);
671 void o_select_box_draw_rubber(GSCHEM_TOPLEVEL *w_current);
672 void o_select_box_search(GSCHEM_TOPLEVEL *w_current);
673 void o_select_connected_nets(GSCHEM_TOPLEVEL *w_current, OBJECT* o_current);
674 OBJECT *o_select_return_first_object(GSCHEM_TOPLEVEL *w_current);
675 int o_select_selected(GSCHEM_TOPLEVEL *w_current);
676 void o_select_unselect_all(GSCHEM_TOPLEVEL *w_current);
677 void o_select_visible_unlocked(GSCHEM_TOPLEVEL *w_current);
678 void o_select_move_to_place_list(GSCHEM_TOPLEVEL *w_current);
679 /* o_slot.c */
680 void o_slot_start(GSCHEM_TOPLEVEL *w_current, OBJECT *object);
681 void o_slot_end(GSCHEM_TOPLEVEL *w_current, OBJECT *object, const char *string);
682 /* o_text.c */
683 int o_text_get_rendered_bounds(void *user_data, OBJECT *object, int *min_x, int *min_y, int *max_x, int *max_y);
684 void o_text_draw(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
685 void o_text_draw_place(GSCHEM_TOPLEVEL *w_current, int dx, int dy, OBJECT *o_current);
686 void o_text_prepare_place(GSCHEM_TOPLEVEL *w_current, char *text);
687 void o_text_edit(GSCHEM_TOPLEVEL *w_current, OBJECT *o_current);
688 void o_text_edit_end(GSCHEM_TOPLEVEL *w_current, char *string, int len, int text_size, int text_alignment);
689 void o_text_change(GSCHEM_TOPLEVEL *w_current, OBJECT *object, char *string, int visibility, int show);
690 /* o_undo.c */
691 void o_undo_init(void);
692 void o_undo_savestate(GSCHEM_TOPLEVEL *w_current, int flag);
693 char *o_undo_find_prev_filename(UNDO *start);
694 GList *o_undo_find_prev_object_head(UNDO *start);
695 void o_undo_callback(GSCHEM_TOPLEVEL *w_current, int type);
696 void o_undo_cleanup(void);
697 void o_undo_remove_last_undo(GSCHEM_TOPLEVEL *w_current);
698 /* parsecmd.c */
699 int parse_commandline(int argc, char *argv[]);
700 /* s_stretch.c */
701 GList *s_stretch_add(GList *list, OBJECT *object, int whichone);
702 GList *s_stretch_remove(GList *list, OBJECT *object);
703 void s_stretch_print_all(GList *list);
704 void s_stretch_destroy_all(GList *list);
705 /* x_attribedit.c */
706 gint option_menu_get_history(GtkOptionMenu *option_menu);
707 void attrib_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
708 void attrib_edit_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT *attr_obj, int flag);
709 /* x_autonumber.c */
710 void autonumber_text_dialog(GSCHEM_TOPLEVEL *w_current);
711 /* x_basic.c */
712 void x_repaint_background_region(GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height);
713 void x_hscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current);
714 void x_hscrollbar_update(GSCHEM_TOPLEVEL *w_current);
715 void x_vscrollbar_set_ranges(GSCHEM_TOPLEVEL *w_current);
716 void x_vscrollbar_update(GSCHEM_TOPLEVEL *w_current);
717 void x_scrollbars_update(GSCHEM_TOPLEVEL *w_current);
718 void x_basic_warp_cursor(GtkWidget *widget, gint x, gint y);
719 /* x_clipboard.c */
720 void x_clipboard_init (GSCHEM_TOPLEVEL *w_current);
721 void x_clipboard_finish (GSCHEM_TOPLEVEL *w_current);
722 void x_clipboard_query_usable (GSCHEM_TOPLEVEL *w_current, void (*callback) (int, void *), void *userdata);
723 gboolean x_clipboard_set (GSCHEM_TOPLEVEL *w_current, const GList *object_list);
724 GList *x_clipboard_get (GSCHEM_TOPLEVEL *w_current);
725 /* x_color.c */
726 void x_color_init (void);
727 void x_color_free (void);
728 void x_color_allocate (void);
729 GdkColor *x_get_color(int color);
730 GdkColor *x_get_darkcolor(int color);
731 COLOR *x_color_lookup(int color);
732 COLOR *x_color_lookup_dark(int color);
733 gchar *x_color_get_name(int index);
734 gboolean x_color_display_enabled (int index);
735 /* x_dialog.c */
736 int text_view_calculate_real_tab_width(GtkTextView *textview, int tab_size);
737 void select_all_text_in_textview(GtkTextView *textview);
738 void destroy_window(GtkWidget *widget, GtkWidget **window);
739 void text_input_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
740 void text_input_dialog(GSCHEM_TOPLEVEL *w_current);
741 gint change_alignment(GtkComboBox *w, GSCHEM_TOPLEVEL *w_current);
742 void text_edit_dialog_ok(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
743 void text_edit_dialog(GSCHEM_TOPLEVEL *w_current, const char *string, int text_size, int text_alignment);
744 void line_type_dialog(GSCHEM_TOPLEVEL *w_current);
745 void fill_type_dialog(GSCHEM_TOPLEVEL *w_current);
746 void arc_angle_dialog(GSCHEM_TOPLEVEL *w_current, OBJECT *arc_object);
747 void translate_dialog(GSCHEM_TOPLEVEL *w_current);
748 void text_size_dialog(GSCHEM_TOPLEVEL *w_current);
749 void snap_size_dialog(GSCHEM_TOPLEVEL *w_current);
750 void slot_edit_dialog(GSCHEM_TOPLEVEL *w_current, const char *string);
751 void about_dialog(GSCHEM_TOPLEVEL *w_current);
752 void coord_display_update(GSCHEM_TOPLEVEL *w_current, int x, int y);
753 void coord_dialog(GSCHEM_TOPLEVEL *w_current, int x, int y);
754 gint color_set(GtkWidget *w, gpointer data);
755 char *index2functionstring(int index);
756 void color_edit_dialog_apply(GtkWidget *w, GSCHEM_TOPLEVEL *w_current);
757 void color_edit_dialog(GSCHEM_TOPLEVEL *w_current);
758 void x_dialog_hotkeys(GSCHEM_TOPLEVEL *w_current);
759 void x_dialog_raise_all(GSCHEM_TOPLEVEL *w_current);
761 void generic_msg_dialog(const char *);
762 int generic_confirm_dialog(const char *);
763 char * generic_filesel_dialog(const char *, const char *, gint);
765 void find_text_dialog(GSCHEM_TOPLEVEL *w_current);
766 void hide_text_dialog(GSCHEM_TOPLEVEL *w_current);
767 void show_text_dialog(GSCHEM_TOPLEVEL *w_current);
768 void major_changed_dialog(GSCHEM_TOPLEVEL* w_current);
769 void x_dialog_close_changed_page (GSCHEM_TOPLEVEL *w_current, PAGE *page);
770 gboolean x_dialog_close_window (GSCHEM_TOPLEVEL *w_current);
771 int x_dialog_validate_attribute(GtkWindow* parent, char *attribute);
772 void x_dialog_edit_pin_type(GSCHEM_TOPLEVEL *w_current, const GList *obj_list);
773 /* x_event.c */
774 gint x_event_expose(GtkWidget *widget, GdkEventExpose *event, GSCHEM_TOPLEVEL *w_current);
775 gint x_event_button_pressed(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current);
776 gint x_event_button_released(GtkWidget *widget, GdkEventButton *event, GSCHEM_TOPLEVEL *w_current);
777 gint x_event_motion(GtkWidget *widget, GdkEventMotion *event, GSCHEM_TOPLEVEL *w_current);
778 gboolean x_event_configure (GtkWidget *widget, GdkEventConfigure *event, gpointer user_data);
779 void x_manual_resize(GSCHEM_TOPLEVEL *w_current);
780 void x_event_hschanged(GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current);
781 void x_event_vschanged(GtkAdjustment *adj, GSCHEM_TOPLEVEL *w_current);
782 gint x_event_enter(GtkWidget *widget, GdkEventCrossing *event, GSCHEM_TOPLEVEL *w_current);
783 gboolean x_event_key(GtkWidget *widget, GdkEventKey *event, GSCHEM_TOPLEVEL *w_current);
784 gint x_event_scroll(GtkWidget *widget, GdkEventScroll *event, GSCHEM_TOPLEVEL *w_current);
785 gboolean x_event_get_pointer_position (GSCHEM_TOPLEVEL *w_current, gboolean snapped, gint *wx, gint *wy);
786 /* x_compselect.c */
787 void x_compselect_open (GSCHEM_TOPLEVEL *w_current);
788 void x_compselect_close (GSCHEM_TOPLEVEL *w_current);
789 void x_compselect_deselect (GSCHEM_TOPLEVEL *w_current);
790 /* x_fileselect.c */
791 void x_fileselect_open(GSCHEM_TOPLEVEL *w_current);
792 void x_fileselect_save(GSCHEM_TOPLEVEL *w_current);
793 int x_fileselect_load_backup(void *user_data, GString *message);
794 /* x_grid.c */
795 void x_grid_draw_region(GSCHEM_TOPLEVEL *w_current, int x, int y, int width, int height);
796 int x_grid_query_drawn_spacing(GSCHEM_TOPLEVEL *w_current);
797 void x_draw_tiles(GSCHEM_TOPLEVEL *w_current);
798 /* x_image.c */
799 void x_image_lowlevel(GSCHEM_TOPLEVEL *w_current, const char* filename,
800 int desired_width, int desired_height, char *filetype);
801 void x_image_setup(GSCHEM_TOPLEVEL *w_current);
802 GdkPixbuf *x_image_get_pixbuf (GSCHEM_TOPLEVEL *w_current);
803 /* x_log.c */
804 void x_log_open ();
805 void x_log_close ();
806 void x_log_message (const gchar *log_domain,
807 GLogLevelFlags log_level,
808 const gchar *message);
809 /* x_misc.c */
810 gboolean x_show_uri (GSCHEM_TOPLEVEL *w_current, const gchar *buf, GError **err);
811 /* x_menus.c */
812 GtkWidget *get_main_menu(GSCHEM_TOPLEVEL *w_current);
813 GtkWidget *get_main_popup(GSCHEM_TOPLEVEL *w_current);
814 gint do_popup(GSCHEM_TOPLEVEL *w_current, GdkEventButton *event);
815 void x_menus_sensitivity(GSCHEM_TOPLEVEL *w_current, const char *buf, int flag);
816 void x_menus_popup_sensitivity(GSCHEM_TOPLEVEL *w_current, const char *buf, int flag);
817 void x_menu_attach_recent_files_submenu(GSCHEM_TOPLEVEL *w_current);
818 /* x_multiattrib.c */
819 void x_multiattrib_open (GSCHEM_TOPLEVEL *w_current);
820 void x_multiattrib_close (GSCHEM_TOPLEVEL *w_current);
821 void x_multiattrib_update (GSCHEM_TOPLEVEL *w_current);
822 /* x_multimulti.c */
823 /* x_pagesel.c */
824 void x_pagesel_open (GSCHEM_TOPLEVEL *w_current);
825 void x_pagesel_close (GSCHEM_TOPLEVEL *w_current);
826 void x_pagesel_update (GSCHEM_TOPLEVEL *w_current);
827 /* x_preview.c */
828 /* x_print.c */
829 void x_print_setup(GSCHEM_TOPLEVEL *w_current, char *filename);
830 /* x_rc.c */
831 void x_rc_parse_gschem (GSCHEM_TOPLEVEL *w_current, const gchar *rcfile);
832 /* x_script.c */
833 void setup_script_selector(GSCHEM_TOPLEVEL *w_current);
834 /* x_stroke.c */
835 void x_stroke_init (void);
836 void x_stroke_free (void);
837 void x_stroke_record (GSCHEM_TOPLEVEL *w_current, gint x, gint y);
838 gint x_stroke_translate_and_execute (GSCHEM_TOPLEVEL *w_current);
839 /* x_window.c */
840 void x_window_setup (GSCHEM_TOPLEVEL *w_current);
841 void x_window_setup_gc(GSCHEM_TOPLEVEL *w_current);
842 void x_window_free_gc(GSCHEM_TOPLEVEL *w_current);
843 void x_window_create_drawing(GtkWidget *drawbox, GSCHEM_TOPLEVEL *w_current);
844 void x_window_setup_draw_events(GSCHEM_TOPLEVEL *w_current);
845 void x_window_create_main(GSCHEM_TOPLEVEL *w_current);
846 void x_window_close(GSCHEM_TOPLEVEL *w_current);
847 void x_window_close_all(GSCHEM_TOPLEVEL *w_current);
848 PAGE *x_window_open_page (GSCHEM_TOPLEVEL *w_current, const gchar *filename);
849 void x_window_set_current_page (GSCHEM_TOPLEVEL *w_current, PAGE *page);
850 gint x_window_save_page (GSCHEM_TOPLEVEL *w_current, PAGE *page, const gchar *filename);
851 void x_window_close_page (GSCHEM_TOPLEVEL *w_current, PAGE *page);
852 void x_window_set_default_icon (void);