libgeda: Make sure all object fields are initialized
[geda-gaf.git] / gschem / include / prototype.h
blob11203583decda84094e2bae54de5412918877cc9
1 /* $Id$ */
3 /* a_zoom.c */
4 void a_zoom(GschemToplevel *w_current, GschemPageView *page_view, int dir, int selected_from);
5 void a_zoom_box_start(GschemToplevel *w_current, int x, int y);
6 void a_zoom_box_end(GschemToplevel *w_current, int x, int y);
7 void a_zoom_box_motion(GschemToplevel *w_current, int x, int y);
8 void a_zoom_box_invalidate_rubber(GschemToplevel *w_current);
9 void a_zoom_box_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
10 /* g_action.c */
11 gboolean g_action_get_position (gboolean snap, int *x, int *y);
12 /* g_attrib.c */
13 void g_init_attrib ();
14 /* g_funcs.c */
15 SCM g_funcs_pdf(SCM filename);
16 SCM g_funcs_image(SCM filename);
17 SCM g_funcs_exit(void);
18 SCM g_funcs_log(SCM msg);
19 SCM g_funcs_msg(SCM msg);
20 SCM g_funcs_confirm(SCM msg);
21 SCM g_funcs_filesel(SCM msg, SCM templ, SCM flags);
22 SCM g_funcs_use_rc_values(void);
23 /* g_hook.c */
24 void g_init_hook ();
25 void g_run_hook_object (GschemToplevel *w_current, const char *name, OBJECT *obj);
26 void g_run_hook_object_list (GschemToplevel *w_current, const char *name, GList *obj_lst);
27 void g_run_hook_page (GschemToplevel *w_current, const char *name, PAGE *page);
28 EdascmHookProxy *g_hook_new_proxy_by_name (const char *name);
29 /* g_keys.c */
30 void g_keys_reset (GschemToplevel *w_current);
31 int g_keys_execute(GschemToplevel *w_current, GdkEventKey *event);
32 void g_init_keys ();
33 /* g_rc.c */
34 void g_rc_parse_gtkrc();
35 SCM g_rc_gschem_version(SCM version);
36 SCM g_rc_net_direction_mode(SCM mode);
37 SCM g_rc_net_selection_mode(SCM mode);
38 SCM g_rc_action_feedback_mode(SCM mode);
39 SCM g_rc_zoom_with_pan(SCM mode);
40 SCM g_rc_logging(SCM mode);
41 SCM g_rc_embed_components(SCM mode);
42 SCM g_rc_text_size(SCM size);
43 SCM g_rc_text_caps_style(SCM mode);
44 SCM g_rc_snap_size(SCM size);
45 SCM g_rc_logging_destination(SCM mode);
46 SCM g_rc_attribute_name(SCM path);
47 SCM g_rc_scrollbars(SCM mode);
48 SCM g_rc_image_color(SCM mode);
49 SCM g_rc_image_size(SCM width, SCM height);
50 SCM g_rc_log_window(SCM mode);
51 SCM g_rc_log_window_type(SCM mode);
52 SCM g_rc_third_button(SCM mode);
53 SCM g_rc_third_button_cancel(SCM mode);
54 SCM g_rc_middle_button(SCM mode);
55 SCM g_rc_scroll_wheel(SCM mode);
56 SCM g_rc_net_consolidate(SCM mode);
57 SCM g_rc_file_preview(SCM mode);
58 SCM g_rc_enforce_hierarchy(SCM mode);
59 SCM g_rc_fast_mousepan(SCM mode);
60 SCM g_rc_raise_dialog_boxes_on_expose(SCM mode);
61 SCM g_rc_continue_component_place(SCM mode);
62 SCM g_rc_undo_levels(SCM levels);
63 SCM g_rc_undo_control(SCM mode);
64 SCM g_rc_undo_type(SCM mode);
65 SCM g_rc_undo_panzoom(SCM mode);
66 SCM g_rc_draw_grips(SCM mode);
67 SCM g_rc_netconn_rubberband(SCM mode);
68 SCM g_rc_magnetic_net_mode(SCM mode);
69 SCM g_rc_window_size(SCM width, SCM height);
70 SCM g_rc_warp_cursor(SCM mode);
71 SCM g_rc_toolbars(SCM mode);
72 SCM g_rc_handleboxes(SCM mode);
73 SCM g_rc_bus_ripper_size(SCM size);
74 SCM g_rc_bus_ripper_type(SCM mode);
75 SCM g_rc_bus_ripper_rotation(SCM mode);
76 SCM g_rc_force_boundingbox(SCM mode);
77 SCM g_rc_grid_mode(SCM mode);
78 SCM g_rc_dots_grid_dot_size(SCM dotsize);
79 SCM g_rc_dots_grid_mode(SCM mode);
80 SCM g_rc_dots_grid_fixed_threshold(SCM spacing);
81 SCM g_rc_mesh_grid_display_threshold(SCM spacing);
82 SCM g_rc_add_attribute_offset(SCM offset);
83 SCM g_rc_auto_save_interval(SCM seconds);
84 SCM g_rc_mousepan_gain(SCM mode);
85 SCM g_rc_keyboardpan_gain(SCM mode);
86 SCM g_rc_select_slack_pixels(SCM pixels);
87 SCM g_rc_zoom_gain(SCM gain);
88 SCM g_rc_scrollpan_steps(SCM steps);
89 SCM g_rc_display_color_map (SCM scm_map);
90 SCM g_rc_display_outline_color_map (SCM scm_map);
91 /* g_register.c */
92 void g_register_funcs(void);
93 /* g_select.c */
94 void g_init_select ();
95 /* g_util.c */
96 void g_init_util ();
97 /* g_window.c */
98 GschemToplevel *g_current_window ();
99 void g_dynwind_window (GschemToplevel *w_current);
100 void g_init_window ();
101 /* globals.c */
102 /* gschem.c */
103 typedef void (*gschem_atexit_func)(gpointer data);
104 void gschem_atexit(gschem_atexit_func func, gpointer data);
105 void main_prog(void *closure, int argc, char *argv[]);
106 int main(int argc, char *argv[]);
107 /* i_basic.c */
108 void i_action_start(GschemToplevel *w_current);
109 void i_action_stop(GschemToplevel *w_current);
110 void i_action_update_status(GschemToplevel *w_current,gboolean inside_action);
111 void i_show_state(GschemToplevel *w_current, const char *message);
112 void i_set_state(GschemToplevel *w_current, enum x_states newstate);
113 void i_set_state_msg(GschemToplevel *w_current, enum x_states newstate, const char *message);
114 void i_update_middle_button(GschemToplevel *w_current, GschemAction *action, const char *string);
115 void i_update_toolbar(GschemToplevel *w_current);
116 void i_update_menus(GschemToplevel *w_current);
117 void i_update_filename(GschemToplevel *w_current);
118 void i_update_grid_info(GschemToplevel *w_current);
119 void i_update_grid_info_callback (GschemPageView *view, GschemToplevel *w_current);
120 void i_cancel(GschemToplevel *w_current);
121 void i_buffer_copy(GschemToplevel *w_current, int n, GschemAction *action);
122 void i_buffer_cut(GschemToplevel *w_current, int n, GschemAction *action);
123 void i_buffer_paste(GschemToplevel *w_current, int n, GschemAction *action);
124 /* i_vars.c */
125 void i_vars_set(GschemToplevel *w_current);
126 void i_vars_freenames();
127 void i_vars_init_gschem_defaults (void);
128 void i_vars_atexit_save_user_config (gpointer user_data);
129 /* m_basic.c */
130 int snap_grid(GschemToplevel *w_current, int input);
131 int clip_nochange(GschemPageGeometry *geometry, int x1, int y1, int x2, int y2);
132 int visible(GschemToplevel *w_current, int wleft, int wtop, int wright, int wbottom);
133 double round_5_2_1(double unrounded);
134 /* o_arc.c */
135 void o_arc_invalidate_rubber(GschemToplevel *w_current);
136 void o_arc_start(GschemToplevel *w_current, int x, int y);
137 void o_arc_end1(GschemToplevel *w_current, int x, int y);
138 void o_arc_end4(GschemToplevel *w_current, int radius, int start_angle, int sweep_angle);
139 void o_arc_motion(GschemToplevel *w_current, int x, int y, int whichone);
140 void o_arc_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
141 /* o_attrib.c */
142 void o_attrib_add_selected(GschemToplevel *w_current, SELECTION *selection, OBJECT *selected);
143 void o_attrib_deselect_invisible(GschemToplevel *w_current, SELECTION *selection, OBJECT *selected);
144 void o_attrib_select_invisible(GschemToplevel *w_current, SELECTION *selection, OBJECT *selected);
145 void o_attrib_toggle_visibility(GschemToplevel *w_current, OBJECT *object);
146 void o_attrib_toggle_show_name_value(GschemToplevel *w_current, OBJECT *object, int new_show_name_value);
147 OBJECT *o_attrib_add_attrib(GschemToplevel *w_current, const char *text_string, int visibility, int show_name_value, OBJECT *object);
148 /* o_basic.c */
149 void o_redraw_rect (GschemToplevel *w_current, GdkDrawable *drawable, PAGE *page, GschemPageGeometry *geometry, GdkRectangle *rectangle);
150 int o_invalidate_rubber(GschemToplevel *w_current);
151 int o_redraw_cleanstates(GschemToplevel *w_current);
152 void o_invalidate_rect(GschemToplevel *w_current, int x1, int y1, int x2, int y2);
153 void o_invalidate(GschemToplevel *w_current, OBJECT *object);
154 void o_invalidate_glist(GschemToplevel *w_current, GList *list);
155 /* o_box.c */
156 void o_box_invalidate_rubber(GschemToplevel *w_current);
157 void o_box_start(GschemToplevel *w_current, int x, int y);
158 void o_box_end(GschemToplevel *w_current, int x, int y);
159 void o_box_motion(GschemToplevel *w_current, int x, int y);
160 void o_box_draw_rubber (GschemToplevel *w_current, EdaRenderer *renderer);
161 /* o_buffer.c */
162 void o_buffer_copy(GschemToplevel *w_current, int buf_num);
163 void o_buffer_cut(GschemToplevel *w_current, int buf_num);
164 int o_buffer_paste_start(GschemToplevel *w_current, int x, int y, int buf_num);
165 void o_buffer_init(void);
166 void o_buffer_free(GschemToplevel *w_current);
167 /* o_bus.c */
168 void o_bus_start(GschemToplevel *w_current, int x, int y);
169 void o_bus_end(GschemToplevel *w_current, int x, int y);
170 void o_bus_motion(GschemToplevel *w_current, int x, int y);
171 void o_bus_draw_rubber (GschemToplevel *w_current, EdaRenderer *renderer);
172 void o_bus_invalidate_rubber(GschemToplevel *w_current);
173 /* o_circle.c */
174 void o_circle_invalidate_rubber(GschemToplevel *w_current);
175 void o_circle_start(GschemToplevel *w_current, int x, int y);
176 void o_circle_end(GschemToplevel *w_current, int x, int y);
177 void o_circle_motion(GschemToplevel *w_current, int x, int y);
178 void o_circle_draw_rubber (GschemToplevel *w_current, EdaRenderer *renderer);
179 /* o_complex.c */
180 void o_complex_prepare_place(GschemToplevel *w_current, const CLibSymbol *sym);
181 void o_complex_place_changed_run_hook(GschemToplevel *w_current);
182 /* o_copy.c */
183 void o_copy_start(GschemToplevel *w_current, int x, int y);
184 void o_copy_end(GschemToplevel *w_current);
185 /* o_delete.c */
186 void o_delete(GschemToplevel *w_current, OBJECT *object);
187 void o_delete_selected(GschemToplevel *w_current, gchar *undo_desc);
188 /* o_find.c */
189 gboolean o_find_object(GschemToplevel *w_current, int x, int y,
190 gboolean deselect_afterwards);
191 gboolean o_find_selected_object(GschemToplevel *w_current, int x, int y);
192 /* o_grips.c */
193 OBJECT *o_grips_search_world(GschemToplevel *w_current, int x, int y, int *whichone);
194 OBJECT *o_grips_search_arc_world(GschemToplevel *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
195 OBJECT *o_grips_search_box_world(GschemToplevel *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
196 OBJECT *o_grips_search_path_world(GschemToplevel *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
197 OBJECT *o_grips_search_picture_world(GschemToplevel *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
198 OBJECT *o_grips_search_circle_world(GschemToplevel *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
199 OBJECT *o_grips_search_line_world(GschemToplevel *w_current, OBJECT *o_current, int x, int y, int size, int *whichone);
200 void o_grips_start(GschemToplevel *w_current, int x, int y);
201 void o_grips_motion(GschemToplevel *w_current, int x, int y);
202 void o_grips_end(GschemToplevel *w_current);
203 void o_grips_cancel(GschemToplevel *w_current);
204 void o_grips_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
205 /* o_line.c */
206 void o_line_invalidate_rubber(GschemToplevel *w_current);
207 void o_line_start(GschemToplevel *w_current, int x, int y);
208 void o_line_end(GschemToplevel *w_current, int x, int y);
209 void o_line_motion(GschemToplevel *w_current, int x, int y);
210 void o_line_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
211 int o_line_visible(GschemToplevel *w_current, LINE *line, int *x1, int *y1, int *x2, int *y2);
212 /* o_misc.c */
213 void o_edit(GschemToplevel *w_current, GList *list, gboolean double_click);
214 void o_rotate_world_update(GschemToplevel *w_current, int centerx, int centery, int angle, GList *list);
215 void o_mirror_world_update(GschemToplevel *w_current, int centerx, int centery, GList *list);
216 void o_edit_show_hidden_lowlevel(GschemToplevel *w_current, const GList *o_list);
217 void o_edit_show_hidden(GschemToplevel *w_current, const GList *o_list);
218 void o_edit_hide_specific_text(GschemToplevel *w_current, const GList *o_list, const char *stext);
219 void o_edit_show_specific_text(GschemToplevel *w_current, const GList *o_list, const char *stext);
220 OBJECT *o_update_component(GschemToplevel *w_current, OBJECT *o_current);
221 void o_autosave_backups(GschemToplevel *w_current);
222 /* o_move.c */
223 void o_move_start(GschemToplevel *w_current, int x, int y);
224 void o_move_end_lowlevel(GschemToplevel *w_current, OBJECT *object, int diff_x, int diff_y);
225 void o_move_end(GschemToplevel *w_current);
226 void o_move_cancel(GschemToplevel *w_current);
227 void o_move_motion(GschemToplevel *w_current, int x, int y);
228 void o_move_invalidate_rubber(GschemToplevel *w_current, int drawing);
229 void o_move_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
230 int o_move_return_whichone(OBJECT *object, int x, int y);
231 void o_move_check_endpoint(GschemToplevel *w_current, OBJECT *object);
232 void o_move_prep_rubberband(GschemToplevel *w_current);
233 int o_move_zero_length(OBJECT *object);
234 void o_move_end_rubberband(GschemToplevel *w_current, int world_diff_x, int world_diff_y, GList **objects);
235 /* o_net.c */
236 void o_net_reset(GschemToplevel *w_current);
237 void o_net_guess_direction(GschemToplevel *w_current, int x, int y);
238 void o_net_find_magnetic(GschemToplevel *w_current, int event_x, int event_y);
239 void o_net_finishmagnetic(GschemToplevel *w_current);
240 void o_net_start_magnetic(GschemToplevel *w_current, int x, int y);
241 void o_net_start(GschemToplevel *w_current, int x, int y);
242 void o_net_end(GschemToplevel *w_current, int x, int y);
243 void o_net_motion(GschemToplevel *w_current, int x, int y);
244 void o_net_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
245 void o_net_invalidate_rubber(GschemToplevel *w_current);
246 int o_net_add_busrippers(GschemToplevel *w_current, OBJECT *net_obj, GList *other_objects);
247 /* o_ognrst.c */
248 void o_ognrst_invalidate_rubber (GschemToplevel *w_current);
249 void o_ognrst_end (GschemToplevel *w_current, int w_x, int w_y);
250 void o_ognrst_motion (GschemToplevel *w_current, int w_x, int w_y);
251 void o_ognrst_draw_rubber (GschemToplevel *w_current, EdaRenderer *renderer, int x, int y, int width, int height);
252 /* o_picture.c */
253 void o_picture_start(GschemToplevel *w_current, int x, int y);
254 void o_picture_end(GschemToplevel *w_current, int x, int y);
255 void o_picture_motion(GschemToplevel *w_current, int x, int y);
256 void picture_selection_dialog (GschemToplevel *w_current);
257 void o_picture_invalidate_rubber(GschemToplevel *w_current);
258 void o_picture_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
259 gboolean o_picture_exchange(GschemToplevel *w_current, const gchar *filename, GError **error);
260 void picture_change_filename_dialog (GschemToplevel *w_current);
261 void o_picture_set_pixbuf(GschemToplevel *w_current, GdkPixbuf *pixbuf, char *filename);
263 /* o_path.c */
264 void o_path_start(GschemToplevel *w_current, int x, int y);
265 void o_path_continue (GschemToplevel *w_current, int w_x, int w_y);
266 void o_path_motion (GschemToplevel *w_current, int w_x, int w_y);
267 void o_path_end(GschemToplevel *w_current, int x, int y);
268 void o_path_end_path (GschemToplevel *w_current);
269 void o_path_invalidate_rubber (GschemToplevel *w_current);
270 void o_path_draw_rubber (GschemToplevel *w_current, EdaRenderer *renderer);
271 void o_path_invalidate_rubber_grips (GschemToplevel *w_current);
272 void o_path_motion_grips (GschemToplevel *w_current, int x, int y);
273 void o_path_draw_rubber_grips (GschemToplevel *w_current, EdaRenderer *renderer);
275 /* o_pin.c */
276 void o_pin_start(GschemToplevel *w_current, int x, int y);
277 void o_pin_end(GschemToplevel *w_current, int x, int y);
278 void o_pin_motion(GschemToplevel *w_current, int x, int y);
279 void o_pin_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
280 void o_pin_invalidate_rubber(GschemToplevel *w_current);
281 /* o_place.c */
282 void o_place_start(GschemToplevel *w_current, int x, int y);
283 void o_place_end(GschemToplevel *w_current, int x, int y, int continue_placing, int select_placed, const char *hook_name, const gchar *undo_desc);
284 void o_place_motion(GschemToplevel *w_current, int x, int y);
285 void o_place_invalidate_rubber(GschemToplevel *w_current, int drawing);
286 void o_place_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
287 void o_place_rotate(GschemToplevel *w_current);
288 void o_place_mirror(GschemToplevel *w_current);
289 /* o_select.c */
290 void o_select_start(GschemToplevel *w_current, int x, int y);
291 void o_select_end(GschemToplevel *w_current, int x, int y);
292 void o_select_motion(GschemToplevel *w_current, int x, int y);
293 void o_select_run_hooks(GschemToplevel *w_current, OBJECT *o_current, int flag);
294 void o_select_object(GschemToplevel *w_current, OBJECT *o_current, int type, int count);
295 void o_select_box_start(GschemToplevel *w_current, int x, int y);
296 void o_select_box_end(GschemToplevel *w_current, int x, int y);
297 void o_select_box_motion(GschemToplevel *w_current, int x, int y);
298 void o_select_box_invalidate_rubber(GschemToplevel *w_current);
299 void o_select_box_draw_rubber(GschemToplevel *w_current, EdaRenderer *renderer);
300 void o_select_box_search(GschemToplevel *w_current);
301 void o_select_connected_nets(GschemToplevel *w_current, OBJECT* o_current);
302 OBJECT *o_select_return_first_object(GschemToplevel *w_current);
303 int o_select_selected(GschemToplevel *w_current);
304 void o_select_unselect_all(GschemToplevel *w_current);
305 void o_select_visible_unlocked(GschemToplevel *w_current);
306 void o_select_move_to_place_list(GschemToplevel *w_current);
307 /* o_slot.c */
308 void o_slot_start(GschemToplevel *w_current, OBJECT *object);
309 void o_slot_end(GschemToplevel *w_current, OBJECT *object, const char *string);
310 /* o_text.c */
311 int o_text_get_rendered_bounds(void *user_data, OBJECT *object, int *min_x, int *min_y, int *max_x, int *max_y);
312 void o_text_prepare_place(GschemToplevel *w_current, char *text, int color, int align, int rotate, int size);
313 void o_text_change(GschemToplevel *w_current, OBJECT *object, char *string, int visibility, int show);
314 gboolean o_text_toggle_overbar (GschemToplevel *w_current, OBJECT *object);
315 /* o_undo.c */
316 void o_undo_init(void);
317 void o_undo_savestate(GschemToplevel *w_current, PAGE *page, int flag, const gchar *desc);
318 void o_undo_savestate_old(GschemToplevel *w_current, int flag, const gchar *desc);
319 char *o_undo_find_prev_filename(UNDO *start);
320 GList *o_undo_find_prev_object_head(UNDO *start);
321 void o_undo_callback(GschemToplevel *w_current, PAGE *page, int type);
322 void o_undo_update_actions(GschemToplevel *w_current, PAGE *page);
323 void o_undo_cleanup(void);
324 /* parsecmd.c */
325 int parse_commandline(int argc, char *argv[]);
326 /* s_stretch.c */
327 GList *s_stretch_add(GList *list, OBJECT *object, int whichone);
328 GList *s_stretch_remove(GList *list, OBJECT *object);
329 void s_stretch_destroy_all(GList *list);
330 /* gschem_alignment_combo.c */
331 GtkWidget* gschem_alignment_combo_new ();
332 int gschem_alignment_combo_get_align (GtkWidget *widget);
333 void gschem_alignment_combo_set_align (GtkWidget *widget, int align);
334 /* x_attribedit.c */
335 gint option_menu_get_history(GtkOptionMenu *option_menu);
336 void attrib_edit_dialog_ok(GtkWidget *w, GschemToplevel *w_current);
337 void attrib_edit_dialog(GschemToplevel *w_current, OBJECT *attr_obj, int flag);
338 /* x_autonumber.c */
339 void autonumber_text_dialog(GschemToplevel *w_current);
340 /* x_basic.c */
341 void x_basic_warp_cursor(GtkWidget *widget, gint x, gint y);
342 /* x_clipboard.c */
343 void x_clipboard_init (GschemToplevel *w_current);
344 void x_clipboard_finish (GschemToplevel *w_current);
345 void x_clipboard_update_menus (GschemToplevel *w_current);
346 gboolean x_clipboard_set (GschemToplevel *w_current, const GList *object_list);
347 GList *x_clipboard_get (GschemToplevel *w_current);
348 /* x_color.c */
349 void x_color_init (void);
350 void x_color_free (void);
351 void x_color_allocate (void);
352 GdkColor *x_get_color(int color);
353 COLOR *x_color_lookup(int color);
354 gboolean x_color_display_enabled (int index);
355 /* x_colorcb.c */
356 GtkWidget* x_colorcb_new ();
357 int x_colorcb_get_index (GtkWidget *widget);
358 void x_colorcb_set_index (GtkWidget *widget, int color_index);
359 void x_colorcb_update_store (void);
360 /* x_controlfd.c */
361 void x_controlfd_parsearg (char *optarg);
362 void x_controlfd_init (void);
363 void x_controlfd_free (void);
364 /* x_dialog.c */
365 int text_view_calculate_real_tab_width(GtkTextView *textview, int tab_size);
366 void select_all_text_in_textview(GtkTextView *textview);
367 void text_input_dialog(GschemToplevel *w_current);
368 void arc_angle_dialog(GschemToplevel *w_current, OBJECT *arc_object);
369 void slot_edit_dialog(GschemToplevel *w_current, const char *count, const char *string);
370 void about_dialog(GschemToplevel *w_current);
371 void x_dialog_hotkeys(GschemToplevel *w_current);
372 void x_dialog_raise_all(GschemToplevel *w_current);
374 void generic_msg_dialog(const char *);
375 int generic_confirm_dialog(const char *);
376 char * generic_filesel_dialog(const char *, const char *, gint);
378 void hide_text_dialog(GschemToplevel *w_current);
379 void show_text_dialog(GschemToplevel *w_current);
380 gboolean x_dialog_close_changed_page (GschemToplevel *w_current, PAGE *page);
381 gboolean x_dialog_close_window (GschemToplevel *w_current);
382 int x_dialog_validate_attribute(GtkWindow* parent, char *attribute);
383 gboolean x_dialog_confirm_create (GtkWindow *parent, const gchar *message, const gchar *filename);
384 /* x_event.c */
385 gint x_event_expose(GschemPageView *widget, GdkEventExpose *event, GschemToplevel *w_current);
386 gint x_event_raise_dialog_boxes (GschemPageView *view, GdkEventExpose *event, GschemToplevel *w_current);
387 gint x_event_button_pressed(GschemPageView *page_view, GdkEventButton *event, GschemToplevel *w_current);
388 gint x_event_button_released(GschemPageView *page_view, GdkEventButton *event, GschemToplevel *w_current);
389 gint x_event_motion(GschemPageView *page_view, GdkEventMotion *event, GschemToplevel *w_current);
390 gboolean x_event_faked_motion (GschemPageView *view, GdkEventKey *event);
391 gboolean x_event_configure (GschemPageView *page_view, GdkEventConfigure *event, gpointer user_data);
392 gint x_event_enter(GtkWidget *widget, GdkEventCrossing *event, GschemToplevel *w_current);
393 gboolean x_event_key(GschemPageView *page_view, GdkEventKey *event, GschemToplevel *w_current);
394 gint x_event_scroll(GtkWidget *widget, GdkEventScroll *event, GschemToplevel *w_current);
395 gboolean x_event_get_pointer_position (GschemToplevel *w_current, gboolean snapped, gint *wx, gint *wy);
396 /* gschem_compselect_dockable.c */
397 void x_compselect_deselect (GschemToplevel *w_current);
398 void x_compselect_select_previous_symbol (GschemToplevel *w_current);
399 /* x_fam.c */
400 void x_fam_init (void);
401 void x_fam_free (void);
402 gpointer x_fam_monitor (const gchar *path, void (*exists_event) (const gchar *path, unsigned int code, gpointer user_data), void (*regular_event) (const gchar *path, unsigned int code, gpointer user_data), gpointer user_data);
403 void x_fam_unmonitor (gpointer handle);
404 /* x_fileselect.c */
405 PAGE *x_fileselect_create (GschemToplevel *w_current, const gchar *dirname, const gchar *basename);
406 void x_fileselect_open(GschemToplevel *w_current);
407 gboolean x_fileselect_save(GschemToplevel *w_current);
408 int x_fileselect_load_backup(void *user_data, GString *message);
409 /* x_fstylecb.c */
410 GtkWidget* x_fstylecb_new ();
411 int x_fstylecb_get_index (GtkWidget *widget);
412 void x_fstylecb_set_index (GtkWidget *widget, int style);
413 /* x_grid.c */
414 void x_grid_draw_region(GschemToplevel *w_current, cairo_t *cr, int x, int y, int width, int height);
415 int x_grid_query_drawn_spacing(GschemToplevel *w_current);
416 /* x_grid_size_sb.c */
417 GtkWidget *x_grid_size_sb_new (GschemToplevel *w_current);
418 /* x_hierarchy.c */
419 gboolean x_hierarchy_down_schematic (GschemToplevel *w_current, OBJECT *object);
420 gboolean x_hierarchy_down_symbol (GschemToplevel *w_current, OBJECT *object);
421 gboolean x_hierarchy_up (GschemToplevel *w_current);
422 /* x_highlevel.c */
423 PAGE *x_highlevel_new_page (GschemToplevel *w_current, const gchar *filename);
424 PAGE *x_highlevel_open_page (GschemToplevel *w_current, const gchar *filename);
425 gboolean x_highlevel_open_pages (GschemToplevel *w_current, GSList *filenames, gboolean already_confirmed);
426 gboolean x_highlevel_save_page (GschemToplevel *w_current, PAGE *page);
427 gboolean x_highlevel_save_all (GschemToplevel *w_current);
428 gboolean x_highlevel_revert_page (GschemToplevel *w_current, PAGE *page);
429 gboolean x_highlevel_close_page (GschemToplevel *w_current, PAGE *page);
430 /* x_image.c */
431 void x_image_lowlevel(GschemToplevel *w_current, const char* filename,
432 int desired_width, int desired_height, char *filetype);
433 void x_image_setup(GschemToplevel *w_current);
434 GdkPixbuf *x_image_get_pixbuf (GschemToplevel *w_current, int width, int height);
435 /* x_integerls.c */
436 GtkListStore* x_integerls_new ();
437 GtkListStore* x_integerls_new_with_values (const char *value[], int count);
438 void x_integerls_add_value (GtkListStore *store, const char *value);
439 int x_integerls_get_value_column ();
440 /* x_linecapcb.c */
441 GtkWidget* x_linecapcb_new ();
442 int x_linecapcb_get_index (GtkWidget *widget);
443 void x_linecapcb_set_index (GtkWidget *widget, int index);
444 /* x_linetypecb.c */
445 GtkWidget* x_linetypecb_new ();
446 int x_linetypecb_get_index (GtkWidget *widget);
447 void x_linetypecb_set_index (GtkWidget *widget, int index);
448 /* x_lowlevel.c */
449 PAGE *x_lowlevel_new_page (GschemToplevel *w_current, const gchar *filename);
450 PAGE *x_lowlevel_open_page (GschemToplevel *w_current, const gchar *filename);
451 gboolean x_lowlevel_save_page (GschemToplevel *w_current, PAGE *page, const gchar *filename);
452 gboolean x_lowlevel_revert_page (GschemToplevel *w_current, PAGE *page);
453 void x_lowlevel_close_page (GschemToplevel *w_current, PAGE *page);
454 /* x_misc.c */
455 gboolean x_show_uri (GschemToplevel *w_current, const gchar *buf, GError **err);
456 /* x_menus.c */
457 void x_menus_create_main_menu(GschemToplevel *w_current);
458 void x_menus_create_main_popup(GschemToplevel *w_current);
459 void x_menus_create_submenus(GschemToplevel *w_current);
460 void x_menus_create_toolbar(GschemToplevel *w_current);
461 /* gschem_messages_dockable.c */
462 void x_messages_page_changed (GschemToplevel *w_current);
463 void x_messages_update (GschemToplevel *w_current);
464 /* gschem_multiattrib_dockable.c */
465 void x_multiattrib_update (GschemToplevel *w_current);
466 void x_multiattrib_edit_attribute (GschemToplevel *w_current, OBJECT *object);
467 /* x_multimulti.c */
468 /* gschem_pagesel_dockable.c */
469 void x_pagesel_update (GschemToplevel *w_current);
470 /* gschem_patch_dockable.c */
471 gchar *x_patch_guess_filename (PAGE *page);
472 void x_patch_import (GschemToplevel *w_current);
473 void x_patch_do_import (GschemToplevel *w_current, PAGE *page);
474 /* x_preview.c */
475 /* x_print.c */
476 gboolean x_print_export_pdf_page (GschemToplevel *w_current, const gchar *filename);
477 gboolean x_print_export_pdf (GschemToplevel *w_current, const gchar *filename);
478 void x_print (GschemToplevel *w_current);
479 /* x_rc.c */
480 void x_rc_parse_gschem (TOPLEVEL *toplevel, const gchar *rcfile);
481 /* x_rotatecb.c */
482 GtkWidget* gschem_rotation_combo_new ();
483 int gschem_rotation_combo_get_angle (GtkWidget *widget);
484 void gschem_rotation_combo_set_angle (GtkWidget *widget, int angle);
485 /* x_script.c */
486 void setup_script_selector(GschemToplevel *w_current);
487 /* x_stroke.c */
488 void x_stroke_init (void);
489 void x_stroke_free (void);
490 void x_stroke_record (GschemToplevel *w_current, gint x, gint y);
491 gint x_stroke_translate_and_execute (GschemToplevel *w_current);
492 /* x_window.c */
493 void x_window_setup (GschemToplevel *w_current);
494 void x_window_create_drawing(GtkWidget *drawbox, GschemToplevel *w_current);
495 void x_window_setup_draw_events(GschemToplevel *w_current);
496 void x_window_update_file_change_notification (GschemToplevel *w_current, PAGE *page);
497 void x_window_update_patch_change_notification (GschemToplevel *w_current, PAGE *page);
498 void x_window_create_main(GschemToplevel *w_current);
499 void x_window_close(GschemToplevel *w_current);
500 void x_window_close_all(GschemToplevel *w_current);
501 void x_window_set_current_page (GschemToplevel *w_current, PAGE *page);
502 void x_window_present (GschemToplevel *w_current);
503 void x_window_set_default_icon (void);
504 void x_window_init_icons (void);
505 GschemToplevel* x_window_new (TOPLEVEL *toplevel);