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
);
11 gboolean
g_action_get_position (gboolean snap
, int *x
, int *y
);
13 void g_init_attrib ();
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);
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
);
30 void g_keys_reset (GschemToplevel
*w_current
);
31 int g_keys_execute(GschemToplevel
*w_current
, GdkEventKey
*event
);
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
);
92 void g_register_funcs(void);
94 void g_init_select ();
98 GschemToplevel
*g_current_window ();
99 void g_dynwind_window (GschemToplevel
*w_current
);
100 void g_init_window ();
103 typedef void (*gschem_atexit_func
)(gpointer data
);
104 void gschem_atexit(gschem_atexit_func func
, gpointer data
);
105 void gschem_quit(void);
106 void main_prog(void *closure
, int argc
, char *argv
[]);
107 int main(int argc
, char *argv
[]);
109 void i_action_start(GschemToplevel
*w_current
);
110 void i_action_stop(GschemToplevel
*w_current
);
111 void i_action_update_status(GschemToplevel
*w_current
,gboolean inside_action
);
112 void i_show_state(GschemToplevel
*w_current
, const char *message
);
113 void i_set_state(GschemToplevel
*w_current
, enum x_states newstate
);
114 void i_set_state_msg(GschemToplevel
*w_current
, enum x_states newstate
, const char *message
);
115 void i_update_middle_button(GschemToplevel
*w_current
, GschemAction
*action
, const char *string
);
116 void i_update_toolbar(GschemToplevel
*w_current
);
117 void i_update_menus(GschemToplevel
*w_current
);
118 void i_update_filename(GschemToplevel
*w_current
);
119 void i_update_grid_info(GschemToplevel
*w_current
);
120 void i_update_grid_info_callback (GschemPageView
*view
, GschemToplevel
*w_current
);
121 void i_cancel(GschemToplevel
*w_current
);
122 void i_buffer_copy(GschemToplevel
*w_current
, int n
, GschemAction
*action
);
123 void i_buffer_cut(GschemToplevel
*w_current
, int n
, GschemAction
*action
);
124 void i_buffer_paste(GschemToplevel
*w_current
, int n
, GschemAction
*action
);
126 void i_vars_set(GschemToplevel
*w_current
);
127 void i_vars_freenames();
128 void i_vars_init_gschem_defaults (void);
129 void i_vars_atexit_save_user_config (gpointer user_data
);
131 int snap_grid(GschemToplevel
*w_current
, int input
);
132 int clip_nochange(GschemPageGeometry
*geometry
, int x1
, int y1
, int x2
, int y2
);
133 int visible(GschemToplevel
*w_current
, int wleft
, int wtop
, int wright
, int wbottom
);
134 double round_5_2_1(double unrounded
);
136 void o_arc_invalidate_rubber(GschemToplevel
*w_current
);
137 void o_arc_start(GschemToplevel
*w_current
, int x
, int y
);
138 void o_arc_end1(GschemToplevel
*w_current
, int x
, int y
);
139 void o_arc_end4(GschemToplevel
*w_current
, int radius
, int start_angle
, int sweep_angle
);
140 void o_arc_motion(GschemToplevel
*w_current
, int x
, int y
, int whichone
);
141 void o_arc_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
143 void o_attrib_add_selected(GschemToplevel
*w_current
, SELECTION
*selection
, OBJECT
*selected
);
144 void o_attrib_deselect_invisible(GschemToplevel
*w_current
, SELECTION
*selection
, OBJECT
*selected
);
145 void o_attrib_select_invisible(GschemToplevel
*w_current
, SELECTION
*selection
, OBJECT
*selected
);
146 void o_attrib_toggle_visibility(GschemToplevel
*w_current
, OBJECT
*object
);
147 void o_attrib_toggle_show_name_value(GschemToplevel
*w_current
, OBJECT
*object
, int new_show_name_value
);
148 OBJECT
*o_attrib_add_attrib(GschemToplevel
*w_current
, const char *text_string
, int visibility
, int show_name_value
, OBJECT
*object
);
150 void o_redraw_rect (GschemToplevel
*w_current
, GdkDrawable
*drawable
, PAGE
*page
, GschemPageGeometry
*geometry
, GdkRectangle
*rectangle
);
151 int o_invalidate_rubber(GschemToplevel
*w_current
);
152 int o_redraw_cleanstates(GschemToplevel
*w_current
);
153 void o_invalidate_rect(GschemToplevel
*w_current
, int x1
, int y1
, int x2
, int y2
);
154 void o_invalidate(GschemToplevel
*w_current
, OBJECT
*object
);
155 void o_invalidate_glist(GschemToplevel
*w_current
, GList
*list
);
157 void o_box_invalidate_rubber(GschemToplevel
*w_current
);
158 void o_box_start(GschemToplevel
*w_current
, int x
, int y
);
159 void o_box_end(GschemToplevel
*w_current
, int x
, int y
);
160 void o_box_motion(GschemToplevel
*w_current
, int x
, int y
);
161 void o_box_draw_rubber (GschemToplevel
*w_current
, EdaRenderer
*renderer
);
163 void o_buffer_copy(GschemToplevel
*w_current
, int buf_num
);
164 void o_buffer_cut(GschemToplevel
*w_current
, int buf_num
);
165 int o_buffer_paste_start(GschemToplevel
*w_current
, int x
, int y
, int buf_num
);
166 void o_buffer_init(void);
167 void o_buffer_free(GschemToplevel
*w_current
);
169 void o_bus_start(GschemToplevel
*w_current
, int x
, int y
);
170 void o_bus_end(GschemToplevel
*w_current
, int x
, int y
);
171 void o_bus_motion(GschemToplevel
*w_current
, int x
, int y
);
172 void o_bus_draw_rubber (GschemToplevel
*w_current
, EdaRenderer
*renderer
);
173 void o_bus_invalidate_rubber(GschemToplevel
*w_current
);
175 void o_circle_invalidate_rubber(GschemToplevel
*w_current
);
176 void o_circle_start(GschemToplevel
*w_current
, int x
, int y
);
177 void o_circle_end(GschemToplevel
*w_current
, int x
, int y
);
178 void o_circle_motion(GschemToplevel
*w_current
, int x
, int y
);
179 void o_circle_draw_rubber (GschemToplevel
*w_current
, EdaRenderer
*renderer
);
181 void o_complex_prepare_place(GschemToplevel
*w_current
, const CLibSymbol
*sym
);
182 void o_complex_place_changed_run_hook(GschemToplevel
*w_current
);
184 void o_copy_start(GschemToplevel
*w_current
, int x
, int y
);
185 void o_copy_end(GschemToplevel
*w_current
);
187 void o_delete(GschemToplevel
*w_current
, OBJECT
*object
);
188 void o_delete_selected(GschemToplevel
*w_current
, gchar
*undo_desc
);
190 gboolean
o_find_object(GschemToplevel
*w_current
, int x
, int y
,
191 gboolean deselect_afterwards
);
192 gboolean
o_find_selected_object(GschemToplevel
*w_current
, int x
, int y
);
194 OBJECT
*o_grips_search_world(GschemToplevel
*w_current
, int x
, int y
, int *whichone
);
195 OBJECT
*o_grips_search_arc_world(GschemToplevel
*w_current
, OBJECT
*o_current
, int x
, int y
, int size
, int *whichone
);
196 OBJECT
*o_grips_search_box_world(GschemToplevel
*w_current
, OBJECT
*o_current
, int x
, int y
, int size
, int *whichone
);
197 OBJECT
*o_grips_search_path_world(GschemToplevel
*w_current
, OBJECT
*o_current
, int x
, int y
, int size
, int *whichone
);
198 OBJECT
*o_grips_search_picture_world(GschemToplevel
*w_current
, OBJECT
*o_current
, int x
, int y
, int size
, int *whichone
);
199 OBJECT
*o_grips_search_circle_world(GschemToplevel
*w_current
, OBJECT
*o_current
, int x
, int y
, int size
, int *whichone
);
200 OBJECT
*o_grips_search_line_world(GschemToplevel
*w_current
, OBJECT
*o_current
, int x
, int y
, int size
, int *whichone
);
201 void o_grips_start(GschemToplevel
*w_current
, int x
, int y
);
202 void o_grips_motion(GschemToplevel
*w_current
, int x
, int y
);
203 void o_grips_end(GschemToplevel
*w_current
);
204 void o_grips_cancel(GschemToplevel
*w_current
);
205 void o_grips_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
207 void o_line_invalidate_rubber(GschemToplevel
*w_current
);
208 void o_line_start(GschemToplevel
*w_current
, int x
, int y
);
209 void o_line_end(GschemToplevel
*w_current
, int x
, int y
);
210 void o_line_motion(GschemToplevel
*w_current
, int x
, int y
);
211 void o_line_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
212 int o_line_visible(GschemToplevel
*w_current
, LINE
*line
, int *x1
, int *y1
, int *x2
, int *y2
);
214 void o_edit(GschemToplevel
*w_current
, GList
*list
, gboolean double_click
);
215 void o_rotate_world_update(GschemToplevel
*w_current
, int centerx
, int centery
, int angle
, GList
*list
);
216 void o_mirror_world_update(GschemToplevel
*w_current
, int centerx
, int centery
, GList
*list
);
217 void o_edit_show_hidden_lowlevel(GschemToplevel
*w_current
, const GList
*o_list
);
218 void o_edit_show_hidden(GschemToplevel
*w_current
, const GList
*o_list
);
219 void o_edit_hide_specific_text(GschemToplevel
*w_current
, const GList
*o_list
, const char *stext
);
220 void o_edit_show_specific_text(GschemToplevel
*w_current
, const GList
*o_list
, const char *stext
);
221 OBJECT
*o_update_component(GschemToplevel
*w_current
, OBJECT
*o_current
);
222 void o_autosave_backups(GschemToplevel
*w_current
);
224 void o_move_start(GschemToplevel
*w_current
, int x
, int y
);
225 void o_move_end_lowlevel(GschemToplevel
*w_current
, OBJECT
*object
, int diff_x
, int diff_y
);
226 void o_move_end(GschemToplevel
*w_current
);
227 void o_move_cancel(GschemToplevel
*w_current
);
228 void o_move_motion(GschemToplevel
*w_current
, int x
, int y
);
229 void o_move_invalidate_rubber(GschemToplevel
*w_current
, int drawing
);
230 void o_move_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
231 int o_move_return_whichone(OBJECT
*object
, int x
, int y
);
232 void o_move_check_endpoint(GschemToplevel
*w_current
, OBJECT
*object
);
233 void o_move_prep_rubberband(GschemToplevel
*w_current
);
234 int o_move_zero_length(OBJECT
*object
);
235 void o_move_end_rubberband(GschemToplevel
*w_current
, int world_diff_x
, int world_diff_y
, GList
**objects
);
237 void o_net_reset(GschemToplevel
*w_current
);
238 void o_net_guess_direction(GschemToplevel
*w_current
, int x
, int y
);
239 void o_net_find_magnetic(GschemToplevel
*w_current
, int event_x
, int event_y
);
240 void o_net_finishmagnetic(GschemToplevel
*w_current
);
241 void o_net_start_magnetic(GschemToplevel
*w_current
, int x
, int y
);
242 void o_net_start(GschemToplevel
*w_current
, int x
, int y
);
243 void o_net_end(GschemToplevel
*w_current
, int x
, int y
);
244 void o_net_motion(GschemToplevel
*w_current
, int x
, int y
);
245 void o_net_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
246 void o_net_invalidate_rubber(GschemToplevel
*w_current
);
247 int o_net_add_busrippers(GschemToplevel
*w_current
, OBJECT
*net_obj
, GList
*other_objects
);
249 void o_ognrst_invalidate_rubber (GschemToplevel
*w_current
);
250 void o_ognrst_end (GschemToplevel
*w_current
, int w_x
, int w_y
);
251 void o_ognrst_motion (GschemToplevel
*w_current
, int w_x
, int w_y
);
252 void o_ognrst_draw_rubber (GschemToplevel
*w_current
, EdaRenderer
*renderer
, int x
, int y
, int width
, int height
);
254 void o_picture_start(GschemToplevel
*w_current
, int x
, int y
);
255 void o_picture_end(GschemToplevel
*w_current
, int x
, int y
);
256 void o_picture_motion(GschemToplevel
*w_current
, int x
, int y
);
257 void picture_selection_dialog (GschemToplevel
*w_current
);
258 void o_picture_invalidate_rubber(GschemToplevel
*w_current
);
259 void o_picture_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
260 gboolean
o_picture_exchange(GschemToplevel
*w_current
, const gchar
*filename
, GError
**error
);
261 void picture_change_filename_dialog (GschemToplevel
*w_current
);
262 void o_picture_set_pixbuf(GschemToplevel
*w_current
, GdkPixbuf
*pixbuf
, char *filename
);
265 void o_path_start(GschemToplevel
*w_current
, int x
, int y
);
266 void o_path_continue (GschemToplevel
*w_current
, int w_x
, int w_y
);
267 void o_path_motion (GschemToplevel
*w_current
, int w_x
, int w_y
);
268 void o_path_end(GschemToplevel
*w_current
, int x
, int y
);
269 void o_path_end_path (GschemToplevel
*w_current
);
270 void o_path_invalidate_rubber (GschemToplevel
*w_current
);
271 void o_path_draw_rubber (GschemToplevel
*w_current
, EdaRenderer
*renderer
);
272 void o_path_invalidate_rubber_grips (GschemToplevel
*w_current
);
273 void o_path_motion_grips (GschemToplevel
*w_current
, int x
, int y
);
274 void o_path_draw_rubber_grips (GschemToplevel
*w_current
, EdaRenderer
*renderer
);
277 void o_pin_start(GschemToplevel
*w_current
, int x
, int y
);
278 void o_pin_end(GschemToplevel
*w_current
, int x
, int y
);
279 void o_pin_motion(GschemToplevel
*w_current
, int x
, int y
);
280 void o_pin_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
281 void o_pin_invalidate_rubber(GschemToplevel
*w_current
);
283 void o_place_start(GschemToplevel
*w_current
, int x
, int y
);
284 void o_place_end(GschemToplevel
*w_current
, int x
, int y
, int continue_placing
, const char *hook_name
, const gchar
*undo_desc
);
285 void o_place_motion(GschemToplevel
*w_current
, int x
, int y
);
286 void o_place_invalidate_rubber(GschemToplevel
*w_current
, int drawing
);
287 void o_place_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
288 void o_place_rotate(GschemToplevel
*w_current
);
289 void o_place_mirror(GschemToplevel
*w_current
);
291 void o_select_start(GschemToplevel
*w_current
, int x
, int y
);
292 void o_select_end(GschemToplevel
*w_current
, int x
, int y
);
293 void o_select_motion(GschemToplevel
*w_current
, int x
, int y
);
294 void o_select_run_hooks(GschemToplevel
*w_current
, OBJECT
*o_current
, int flag
);
295 void o_select_object(GschemToplevel
*w_current
, OBJECT
*o_current
, int type
, int count
);
296 void o_select_box_start(GschemToplevel
*w_current
, int x
, int y
);
297 void o_select_box_end(GschemToplevel
*w_current
, int x
, int y
);
298 void o_select_box_motion(GschemToplevel
*w_current
, int x
, int y
);
299 void o_select_box_invalidate_rubber(GschemToplevel
*w_current
);
300 void o_select_box_draw_rubber(GschemToplevel
*w_current
, EdaRenderer
*renderer
);
301 void o_select_box_search(GschemToplevel
*w_current
);
302 void o_select_connected_nets(GschemToplevel
*w_current
, OBJECT
* o_current
);
303 OBJECT
*o_select_return_first_object(GschemToplevel
*w_current
);
304 int o_select_selected(GschemToplevel
*w_current
);
305 void o_select_unselect_all(GschemToplevel
*w_current
);
306 void o_select_visible_unlocked(GschemToplevel
*w_current
);
307 void o_select_move_to_place_list(GschemToplevel
*w_current
);
309 void o_slot_start(GschemToplevel
*w_current
, OBJECT
*object
);
310 void o_slot_end(GschemToplevel
*w_current
, OBJECT
*object
, const char *string
);
312 int o_text_get_rendered_bounds(void *user_data
, OBJECT
*object
, int *min_x
, int *min_y
, int *max_x
, int *max_y
);
313 void o_text_prepare_place(GschemToplevel
*w_current
, char *text
, int color
, int align
, int rotate
, int size
);
314 void o_text_change(GschemToplevel
*w_current
, OBJECT
*object
, char *string
, int visibility
, int show
);
315 gboolean
o_text_toggle_overbar (GschemToplevel
*w_current
, OBJECT
*object
);
317 void o_undo_init(void);
318 void o_undo_savestate(GschemToplevel
*w_current
, PAGE
*page
, int flag
, const gchar
*desc
);
319 void o_undo_savestate_old(GschemToplevel
*w_current
, int flag
, const gchar
*desc
);
320 char *o_undo_find_prev_filename(UNDO
*start
);
321 GList
*o_undo_find_prev_object_head(UNDO
*start
);
322 void o_undo_callback(GschemToplevel
*w_current
, PAGE
*page
, int type
);
323 void o_undo_update_actions(GschemToplevel
*w_current
, PAGE
*page
);
324 void o_undo_cleanup(void);
326 int parse_commandline(int argc
, char *argv
[]);
328 GList
*s_stretch_add(GList
*list
, OBJECT
*object
, int whichone
);
329 GList
*s_stretch_remove(GList
*list
, OBJECT
*object
);
330 void s_stretch_destroy_all(GList
*list
);
331 /* gschem_alignment_combo.c */
332 GtkWidget
* gschem_alignment_combo_new ();
333 int gschem_alignment_combo_get_align (GtkWidget
*widget
);
334 void gschem_alignment_combo_set_align (GtkWidget
*widget
, int align
);
336 gint
option_menu_get_history(GtkOptionMenu
*option_menu
);
337 void attrib_edit_dialog_ok(GtkWidget
*w
, GschemToplevel
*w_current
);
338 void attrib_edit_dialog(GschemToplevel
*w_current
, OBJECT
*attr_obj
, int flag
);
340 void autonumber_text_dialog(GschemToplevel
*w_current
);
342 void x_basic_warp_cursor(GtkWidget
*widget
, gint x
, gint y
);
344 void x_clipboard_init (GschemToplevel
*w_current
);
345 void x_clipboard_finish (GschemToplevel
*w_current
);
346 void x_clipboard_update_menus (GschemToplevel
*w_current
);
347 gboolean
x_clipboard_set (GschemToplevel
*w_current
, const GList
*object_list
);
348 GList
*x_clipboard_get (GschemToplevel
*w_current
);
350 void x_color_init (void);
351 void x_color_free (void);
352 void x_color_allocate (void);
353 GdkColor
*x_get_color(int color
);
354 COLOR
*x_color_lookup(int color
);
355 gboolean
x_color_display_enabled (int index
);
357 GtkWidget
* x_colorcb_new ();
358 int x_colorcb_get_index (GtkWidget
*widget
);
359 void x_colorcb_set_index (GtkWidget
*widget
, int color_index
);
360 void x_colorcb_update_store (void);
362 void x_controlfd_parsearg (char *optarg
);
363 void x_controlfd_init (void);
364 void x_controlfd_free (void);
366 int text_view_calculate_real_tab_width(GtkTextView
*textview
, int tab_size
);
367 void select_all_text_in_textview(GtkTextView
*textview
);
368 void text_input_dialog(GschemToplevel
*w_current
);
369 void arc_angle_dialog(GschemToplevel
*w_current
, OBJECT
*arc_object
);
370 void slot_edit_dialog(GschemToplevel
*w_current
, const char *count
, const char *string
);
371 void about_dialog(GschemToplevel
*w_current
);
372 void x_dialog_hotkeys(GschemToplevel
*w_current
);
373 void x_dialog_raise_all(GschemToplevel
*w_current
);
375 void generic_msg_dialog(const char *);
376 int generic_confirm_dialog(const char *);
377 char * generic_filesel_dialog(const char *, const char *, gint
);
379 void hide_text_dialog(GschemToplevel
*w_current
);
380 void show_text_dialog(GschemToplevel
*w_current
);
381 void major_changed_dialog(GschemToplevel
* w_current
);
382 gboolean
x_dialog_close_changed_page (GschemToplevel
*w_current
, PAGE
*page
);
383 gboolean
x_dialog_close_window (GschemToplevel
*w_current
);
384 int x_dialog_validate_attribute(GtkWindow
* parent
, char *attribute
);
385 gboolean
x_dialog_confirm_create (GtkWindow
*parent
, const gchar
*message
, const gchar
*filename
);
387 gint
x_event_expose(GschemPageView
*widget
, GdkEventExpose
*event
, GschemToplevel
*w_current
);
388 gint
x_event_raise_dialog_boxes (GschemPageView
*view
, GdkEventExpose
*event
, GschemToplevel
*w_current
);
389 gint
x_event_button_pressed(GschemPageView
*page_view
, GdkEventButton
*event
, GschemToplevel
*w_current
);
390 gint
x_event_button_released(GschemPageView
*page_view
, GdkEventButton
*event
, GschemToplevel
*w_current
);
391 gint
x_event_motion(GschemPageView
*page_view
, GdkEventMotion
*event
, GschemToplevel
*w_current
);
392 gboolean
x_event_faked_motion (GschemPageView
*view
, GdkEventKey
*event
);
393 gboolean
x_event_configure (GschemPageView
*page_view
, GdkEventConfigure
*event
, gpointer user_data
);
394 gint
x_event_enter(GtkWidget
*widget
, GdkEventCrossing
*event
, GschemToplevel
*w_current
);
395 gboolean
x_event_key(GschemPageView
*page_view
, GdkEventKey
*event
, GschemToplevel
*w_current
);
396 gint
x_event_scroll(GtkWidget
*widget
, GdkEventScroll
*event
, GschemToplevel
*w_current
);
397 gboolean
x_event_get_pointer_position (GschemToplevel
*w_current
, gboolean snapped
, gint
*wx
, gint
*wy
);
398 /* gschem_compselect_dockable.c */
399 void x_compselect_deselect (GschemToplevel
*w_current
);
400 void x_compselect_select_previous_symbol (GschemToplevel
*w_current
);
402 void x_fam_init (void);
403 void x_fam_free (void);
404 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
);
405 void x_fam_unmonitor (gpointer handle
);
407 PAGE
*x_fileselect_create (GschemToplevel
*w_current
, const gchar
*dirname
, const gchar
*basename
);
408 void x_fileselect_open(GschemToplevel
*w_current
);
409 gboolean
x_fileselect_save(GschemToplevel
*w_current
);
410 int x_fileselect_load_backup(void *user_data
, GString
*message
);
412 GtkWidget
* x_fstylecb_new ();
413 int x_fstylecb_get_index (GtkWidget
*widget
);
414 void x_fstylecb_set_index (GtkWidget
*widget
, int style
);
416 void x_grid_draw_region(GschemToplevel
*w_current
, cairo_t
*cr
, int x
, int y
, int width
, int height
);
417 int x_grid_query_drawn_spacing(GschemToplevel
*w_current
);
418 /* x_grid_size_sb.c */
419 GtkWidget
*x_grid_size_sb_new (GschemToplevel
*w_current
);
421 gboolean
x_hierarchy_down_schematic (GschemToplevel
*w_current
, OBJECT
*object
);
422 gboolean
x_hierarchy_down_symbol (GschemToplevel
*w_current
, OBJECT
*object
);
423 gboolean
x_hierarchy_up (GschemToplevel
*w_current
);
425 PAGE
*x_highlevel_new_page (GschemToplevel
*w_current
, const gchar
*filename
);
426 PAGE
*x_highlevel_open_page (GschemToplevel
*w_current
, const gchar
*filename
);
427 gboolean
x_highlevel_open_pages (GschemToplevel
*w_current
, GSList
*filenames
, gboolean already_confirmed
);
428 gboolean
x_highlevel_save_page (GschemToplevel
*w_current
, PAGE
*page
);
429 gboolean
x_highlevel_save_all (GschemToplevel
*w_current
);
430 gboolean
x_highlevel_revert_page (GschemToplevel
*w_current
, PAGE
*page
);
431 gboolean
x_highlevel_close_page (GschemToplevel
*w_current
, PAGE
*page
);
433 void x_image_lowlevel(GschemToplevel
*w_current
, const char* filename
,
434 int desired_width
, int desired_height
, char *filetype
);
435 void x_image_setup(GschemToplevel
*w_current
);
436 GdkPixbuf
*x_image_get_pixbuf (GschemToplevel
*w_current
, int width
, int height
);
438 GtkListStore
* x_integerls_new ();
439 GtkListStore
* x_integerls_new_with_values (const char *value
[], int count
);
440 void x_integerls_add_value (GtkListStore
*store
, const char *value
);
441 int x_integerls_get_value_column ();
443 GtkWidget
* x_linecapcb_new ();
444 int x_linecapcb_get_index (GtkWidget
*widget
);
445 void x_linecapcb_set_index (GtkWidget
*widget
, int index
);
447 GtkWidget
* x_linetypecb_new ();
448 int x_linetypecb_get_index (GtkWidget
*widget
);
449 void x_linetypecb_set_index (GtkWidget
*widget
, int index
);
451 PAGE
*x_lowlevel_new_page (GschemToplevel
*w_current
, const gchar
*filename
);
452 PAGE
*x_lowlevel_open_page (GschemToplevel
*w_current
, const gchar
*filename
);
453 gboolean
x_lowlevel_save_page (GschemToplevel
*w_current
, PAGE
*page
, const gchar
*filename
);
454 gboolean
x_lowlevel_revert_page (GschemToplevel
*w_current
, PAGE
*page
);
455 void x_lowlevel_close_page (GschemToplevel
*w_current
, PAGE
*page
);
457 gboolean
x_show_uri (GschemToplevel
*w_current
, const gchar
*buf
, GError
**err
);
459 void x_menus_create_main_menu(GschemToplevel
*w_current
);
460 void x_menus_create_main_popup(GschemToplevel
*w_current
);
461 void x_menus_create_submenus(GschemToplevel
*w_current
);
462 void x_menus_create_toolbar(GschemToplevel
*w_current
);
463 /* gschem_multiattrib_dockable.c */
464 void x_multiattrib_update (GschemToplevel
*w_current
);
465 void x_multiattrib_edit_attribute (GschemToplevel
*w_current
, OBJECT
*object
);
467 /* gschem_pagesel_dockable.c */
468 void x_pagesel_update (GschemToplevel
*w_current
);
469 /* gschem_patch_dockable.c */
470 gchar
*x_patch_guess_filename (PAGE
*page
);
471 void x_patch_import (GschemToplevel
*w_current
);
472 void x_patch_do_import (GschemToplevel
*w_current
, PAGE
*page
);
475 gboolean
x_print_export_pdf_page (GschemToplevel
*w_current
, const gchar
*filename
);
476 gboolean
x_print_export_pdf (GschemToplevel
*w_current
, const gchar
*filename
);
477 void x_print (GschemToplevel
*w_current
);
479 void x_rc_parse_gschem (TOPLEVEL
*toplevel
, const gchar
*rcfile
);
481 GtkWidget
* gschem_rotation_combo_new ();
482 int gschem_rotation_combo_get_angle (GtkWidget
*widget
);
483 void gschem_rotation_combo_set_angle (GtkWidget
*widget
, int angle
);
485 void setup_script_selector(GschemToplevel
*w_current
);
487 void x_stroke_init (void);
488 void x_stroke_free (void);
489 void x_stroke_record (GschemToplevel
*w_current
, gint x
, gint y
);
490 gint
x_stroke_translate_and_execute (GschemToplevel
*w_current
);
492 void x_window_setup (GschemToplevel
*w_current
);
493 void x_window_create_drawing(GtkWidget
*drawbox
, GschemToplevel
*w_current
);
494 void x_window_setup_draw_events(GschemToplevel
*w_current
);
495 void x_window_update_file_change_notification (GschemToplevel
*w_current
, PAGE
*page
);
496 void x_window_update_patch_change_notification (GschemToplevel
*w_current
, PAGE
*page
);
497 void x_window_create_main(GschemToplevel
*w_current
);
498 void x_window_close(GschemToplevel
*w_current
);
499 void x_window_close_all(GschemToplevel
*w_current
);
500 void x_window_set_current_page (GschemToplevel
*w_current
, PAGE
*page
);
501 void x_window_present (GschemToplevel
*w_current
);
502 void x_window_set_default_icon (void);
503 void x_window_init_icons (void);
504 GschemToplevel
* x_window_new (TOPLEVEL
*toplevel
);