-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hash: SHA1
As requested, here is a patch to revert the changes to the
i_callback_*() function signatures. Also some more changes to make the
command entry box more flexible and friendly, and a new scheme interface
to get the current page.
You could now run simple queries on your schematic, straight from the
GUI at the ':' input box:
(get-objects-in-page (get-current-page))
Output goes to the log window.
These patches are on branch berndj/magic-colon at my repo.or.cz fork.
commit 5dab69ba2fc8a441c3b3870e5b100895e5768824
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu Aug 7 03:19:04 2008 +0200
Make the current page accessible to scheme.
commit f3033eeb569d08d4410c435225a0f16cdaec522a
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu Aug 7 02:29:25 2008 +0200
Show the results of directly entered scripting commands in the log window.
commit 27f9811c337849d1a80c77d409fb06767d875fc6
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu Aug 7 02:24:10 2008 +0200
Rather pass the user-supplied scripting command to a scheme dispatcher.
Passing the command to a scheme dispatcher gives the configuration files
an opportunity to define the language in which these scripting commands
are interpreted. It doesn't really need to be scheme, but it is for now.
commit 0ea993d2465e069cf248440704a8aa296a926f02
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu Aug 7 01:40:26 2008 +0200
Don't expect a "rest" argument in the i_callback_*() functions.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFImlEp7sfNFNW4BEwRAn6nAJwMyj2H+GXghitPYymUTgR9c3aHPQCgyDON
PWo+MIsFmIkNmIdoxCvs9Hg=
=NEZv
-----END PGP SIGNATURE-----
>From 0ea993d2465e069cf248440704a8aa296a926f02 Mon Sep 17 00:00:00 2001
From: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu, 7 Aug 2008 01:40:26 +0200
Subject: [PATCH] Don't expect a "rest" argument in the i_callback_*() functions.
---
gschem/include/prototype.h | 272 ++++++++++++++++++++++----------------------
gschem/src/g_keys.c | 2 +-
gschem/src/i_callbacks.c | 29 +++---
gschem/src/x_dialog.c | 4 +-
gschem/src/x_event.c | 4 +-
gschem/src/x_pagesel.c | 2 +-
6 files changed, 156 insertions(+), 157 deletions(-)
diff --git a/gschem/include/prototype.h b/gschem/include/prototype.h
index 89ecf24..6a286d5 100644
--- a/gschem/include/prototype.h
+++ b/gschem/include/prototype.h
@@ -304,153 +304,153 @@ void i_update_menus(GSCHEM_TOPLEVEL *w_current);
void i_set_filename(GSCHEM_TOPLEVEL *w_current, const gchar *string);
void i_set_grid(GSCHEM_TOPLEVEL *w_current, int visible_grid);
/* i_callbacks.c */
-void i_callback_file_new(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_file_new(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_file_new(GtkWidget *widget, gpointer data);
-void i_callback_file_new_window(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_file_open(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_file_new_window(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_file_open(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_file_open(GtkWidget *widget, gpointer data);
-void i_callback_file_script(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_file_save(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_file_script(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_file_save(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_file_save(GtkWidget *widget, gpointer data);
-void i_callback_file_save_all(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_file_save_as(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_file_print(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_file_write_png(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_file_close(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_file_save_all(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_file_save_as(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_file_print(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_file_write_png(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_file_close(gpointer data, guint callback_action, GtkWidget
*widget);
int i_callback_close(gpointer data, guint callback_action, GtkWidget *widget);
-void i_callback_file_quit(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_undo(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_file_quit(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_undo(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_edit_undo(GtkWidget *widget, gpointer data);
-void i_callback_edit_redo(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_redo(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_edit_redo(GtkWidget *widget, gpointer data);
-void i_callback_edit_select(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_select(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_edit_select(GtkWidget *widget, gpointer data);
-void i_callback_edit_copy(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_copy_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_mcopy(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_mcopy_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_move(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_move_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_delete(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_edit(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_text(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_slot(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_color(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_rotate_90(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_rotate_90_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_mirror(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_mirror_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_lock(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_unlock(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_translate(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_invoke_macro(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_embed(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_unembed(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_update(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_show_hidden(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_make_visible(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_find(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_hide_text(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_show_text(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_autonumber_text(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_edit_linetype(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_edit_filltype(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_redraw(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_zoom_full(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_zoom_extents(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_view_zoom_box(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_zoom_box_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_view_zoom_in(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_zoom_out(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_zoom_in_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_view_zoom_out_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_view_pan(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_pan_left(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_pan_right(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_pan_up(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_pan_down(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_view_pan_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_view_update_cues(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_page_manager(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_next(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_prev(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_new(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_close(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_revert(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_discard(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_page_print(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_copy1(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_copy2(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_copy3(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_copy4(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_copy5(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_cut1(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_cut2(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_cut3(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_cut4(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_cut5(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_paste1(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_paste2(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_paste3(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_paste4(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_paste5(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_buffer_paste1_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_buffer_paste2_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_buffer_paste3_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_buffer_paste4_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_buffer_paste5_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_add_component(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_copy(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_copy_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_mcopy(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_mcopy_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_move(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_move_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_delete(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_edit(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_text(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_slot(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_color(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_rotate_90(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_rotate_90_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_mirror(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_mirror_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_lock(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_unlock(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_translate(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_invoke_macro(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_embed(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_unembed(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_update(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_show_hidden(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_make_visible(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_find(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_hide_text(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_show_text(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_autonumber_text(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_edit_linetype(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_edit_filltype(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_redraw(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_zoom_full(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_zoom_extents(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_view_zoom_box(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_zoom_box_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_view_zoom_in(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_zoom_out(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_zoom_in_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_view_zoom_out_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_view_pan(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_pan_left(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_pan_right(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_pan_up(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_pan_down(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_view_pan_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_view_update_cues(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_page_manager(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_next(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_prev(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_new(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_close(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_revert(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_discard(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_page_print(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_copy1(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_copy2(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_copy3(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_copy4(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_copy5(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_cut1(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_cut2(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_cut3(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_cut4(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_cut5(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_paste1(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_paste2(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_paste3(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_paste4(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_paste5(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_buffer_paste1_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_buffer_paste2_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_buffer_paste3_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_buffer_paste4_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_buffer_paste5_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_component(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_add_component(GtkWidget *widget, gpointer data);
-void i_callback_add_attribute(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_attribute_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_add_net(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_net_hotkey(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_attribute(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_attribute_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_net(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_net_hotkey(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_add_net(GtkWidget *widget, gpointer data);
-void i_callback_add_bus(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_bus_hotkey(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_bus(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_bus_hotkey(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_add_bus(GtkWidget *widget, gpointer data);
-void i_callback_add_text(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_text(gpointer data, guint callback_action, GtkWidget
*widget);
void i_callback_toolbar_add_text(GtkWidget *widget, gpointer data);
-void i_callback_add_line(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_line_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_add_box(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_box_hotkey(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_picture(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_picture_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_add_circle(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_circle_hotkey(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_add_arc(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_arc_hotkey(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_pin(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_add_pin_hotkey(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_hierarchy_down_schematic(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_hierarchy_down_symbol(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_hierarchy_up(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_hierarchy_documentation(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_attributes_attach(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_attributes_detach(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_attributes_show_name(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_attributes_show_value(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_attributes_show_both(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_attributes_visibility_toggle(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_script_console(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_options_text_size(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_snap_size(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_scale_up_snap_size(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_scale_down_snap_size(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_afeedback(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_grid(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_options_snap(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_options_rubberband(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_magneticnet(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_options_show_log_window(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
-void i_callback_misc(SCM rest, gpointer data, guint callback_action, GtkWidget
*widget);
-void i_callback_misc2(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_misc3(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_cancel(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_help_about(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_help_hotkeys(SCM rest, gpointer data, guint callback_action,
GtkWidget *widget);
-void i_callback_options_show_coord_window(SCM rest, gpointer data, guint
callback_action, GtkWidget *widget);
+void i_callback_add_line(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_line_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_box(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_box_hotkey(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_picture(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_picture_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_circle(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_circle_hotkey(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_add_arc(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_arc_hotkey(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_pin(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_add_pin_hotkey(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_hierarchy_down_schematic(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_hierarchy_down_symbol(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_hierarchy_up(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_hierarchy_documentation(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_attributes_attach(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_attributes_detach(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_attributes_show_name(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_attributes_show_value(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_attributes_show_both(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_attributes_visibility_toggle(gpointer data, guint
callback_action, GtkWidget *widget);
+void i_callback_script_console(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_options_text_size(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_options_snap_size(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_options_scale_up_snap_size(gpointer data, guint
callback_action, GtkWidget *widget);
+void i_callback_options_scale_down_snap_size(gpointer data, guint
callback_action, GtkWidget *widget);
+void i_callback_options_afeedback(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_options_grid(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_options_snap(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_options_rubberband(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_options_magneticnet(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_options_show_log_window(gpointer data, guint callback_action,
GtkWidget *widget);
+void i_callback_misc(gpointer data, guint callback_action, GtkWidget *widget);
+void i_callback_misc2(gpointer data, guint callback_action, GtkWidget *widget);
+void i_callback_misc3(gpointer data, guint callback_action, GtkWidget *widget);
+void i_callback_cancel(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_help_about(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_help_hotkeys(gpointer data, guint callback_action, GtkWidget
*widget);
+void i_callback_options_show_coord_window(gpointer data, guint
callback_action, GtkWidget *widget);
gboolean i_callback_close_wm(GtkWidget *widget, GdkEvent *event, gpointer
data);
/* i_vars.c */
void i_vars_set(GSCHEM_TOPLEVEL *w_current);
diff --git a/gschem/src/g_keys.c b/gschem/src/g_keys.c
index f8b3512..46af29d 100644
--- a/gschem/src/g_keys.c
+++ b/gschem/src/g_keys.c
@@ -189,7 +189,7 @@ static gboolean clear_keyaccel_string(gpointer data)
SCM g_keys_ ## name(SCM rest) \
{ \
g_timeout_add(400, clear_keyaccel_string, global_window_current); \
- i_callback_ ## name(rest, global_window_current, 0, NULL); \
+ i_callback_ ## name(global_window_current, 0, NULL); \
return SCM_BOOL_T; \
}
diff --git a/gschem/src/i_callbacks.c b/gschem/src/i_callbacks.c
index 7bd559d..b4f471b 100644
--- a/gschem/src/i_callbacks.c
+++ b/gschem/src/i_callbacks.c
@@ -153,8 +153,7 @@ static void initiate_gschemdoc(const char*
documentation,const char *device,
*/
/* every i_callback functions have the same footprint */
#define DEFINE_I_CALLBACK(name) \
- void i_callback_ ## name(SCM rest, \
- gpointer data, \
+ void i_callback_ ## name(gpointer data, \
guint callback_action, \
GtkWidget *widget)
@@ -201,7 +200,7 @@ void i_callback_toolbar_file_new(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_file_new(SCM_EOL, data, 0, NULL);
+ i_callback_file_new(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -258,7 +257,7 @@ void i_callback_toolbar_file_open(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_file_open(SCM_EOL, data, 0, NULL);
+ i_callback_file_open(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -320,7 +319,7 @@ void i_callback_toolbar_file_save(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_file_save(SCM_EOL, data, 0, NULL);
+ i_callback_file_save(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -449,7 +448,7 @@ int i_callback_close(gpointer data, guint callback_action,
GtkWidget *widget)
GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data;
exit_if_null(w_current);
- i_callback_file_close(SCM_EOL, w_current, 0, widget);
+ i_callback_file_close(w_current, 0, widget);
return(FALSE);
}
@@ -494,7 +493,7 @@ void i_callback_toolbar_edit_undo(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_edit_undo(SCM_EOL, data, 0, NULL);
+ i_callback_edit_undo(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -524,7 +523,7 @@ void i_callback_toolbar_edit_redo(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_edit_redo(SCM_EOL, data, 0, NULL);
+ i_callback_edit_redo(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -561,9 +560,9 @@ void i_callback_toolbar_edit_select(GtkWidget* widget,
gpointer data)
if (GTK_TOGGLE_BUTTON (widget)->active) {
if (!o_erase_rubber(w_current)) {
- i_callback_cancel(SCM_EOL, w_current, 0, NULL);
+ i_callback_cancel(w_current, 0, NULL);
}
- i_callback_edit_select(SCM_EOL, data, 0, NULL);
+ i_callback_edit_select(data, 0, NULL);
}
}
@@ -2295,7 +2294,7 @@ void i_callback_toolbar_add_component(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_add_component(SCM_EOL, data, 0, NULL);
+ i_callback_add_component(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -2404,7 +2403,7 @@ void i_callback_toolbar_add_net(GtkWidget* widget,
gpointer data)
if (!w_current->window) return;
if (GTK_TOGGLE_BUTTON (widget)->active) {
- i_callback_add_net(SCM_EOL, data, 0, NULL);
+ i_callback_add_net(data, 0, NULL);
}
}
@@ -2475,7 +2474,7 @@ void i_callback_toolbar_add_bus(GtkWidget* widget,
gpointer data)
if (!w_current->window) return;
if (GTK_TOGGLE_BUTTON (widget)->active) {
- i_callback_add_bus(SCM_EOL, data, 0, NULL);
+ i_callback_add_bus(data, 0, NULL);
}
}
@@ -2514,7 +2513,7 @@ void i_callback_toolbar_add_text(GtkWidget* widget,
gpointer data)
exit_if_null(w_current);
if (!w_current->window) return;
- i_callback_add_text(SCM_EOL, data, 0, NULL);
+ i_callback_add_text(data, 0, NULL);
}
/*! \todo Finish function documentation!!!
@@ -2638,7 +2637,7 @@ DEFINE_I_CALLBACK(add_picture_hotkey)
GSCHEM_TOPLEVEL *w_current = (GSCHEM_TOPLEVEL*) data;
/* If this function necessary? Yes, if you want the hotkey to work. */
- i_callback_add_picture(rest, w_current, 0, NULL);
+ i_callback_add_picture(w_current, 0, NULL);
}
/*! \todo Finish function documentation!!!
diff --git a/gschem/src/x_dialog.c b/gschem/src/x_dialog.c
index 728aec3..42330ee 100644
--- a/gschem/src/x_dialog.c
+++ b/gschem/src/x_dialog.c
@@ -3922,7 +3922,7 @@ x_dialog_close_changed_page (GSCHEM_TOPLEVEL *w_current,
PAGE *page)
case GTK_RESPONSE_YES:
/* action selected: save */
s_page_goto (w_current->toplevel, page);
- i_callback_file_save(SCM_EOL, w_current, 0, NULL);
+ i_callback_file_save(w_current, 0, NULL);
/* has the page been really saved? */
if (!page->CHANGED) {
x_window_close_page (w_current, page);
@@ -4018,7 +4018,7 @@ x_dialog_close_window (GSCHEM_TOPLEVEL *w_current)
p_current = (PAGE*)p_unsaved->data;
s_page_goto (toplevel, p_current);
- i_callback_file_save(SCM_EOL, w_current, 0, NULL);
+ i_callback_file_save(w_current, 0, NULL);
/* if user cancelled previous, do not close window */
ret &= !p_current->CHANGED;
}
diff --git a/gschem/src/x_event.c b/gschem/src/x_event.c
index c675f3d..604ac3b 100644
--- a/gschem/src/x_event.c
+++ b/gschem/src/x_event.c
@@ -351,7 +351,7 @@ gint x_event_button_pressed(GtkWidget *widget,
GdkEventButton *event,
w_current->event_state == ENDPASTE ) {
return(0);
} else {
- i_callback_cancel(SCM_EOL, w_current, 0, NULL);
+ i_callback_cancel(w_current, 0, NULL);
return(0);
}
}
@@ -494,7 +494,7 @@ gint x_event_button_pressed(GtkWidget *widget,
GdkEventButton *event,
break;
default:
- i_callback_cancel(SCM_EOL, w_current, 0, NULL);
+ i_callback_cancel(w_current, 0, NULL);
break;
}
i_update_toolbar(w_current);
diff --git a/gschem/src/x_pagesel.c b/gschem/src/x_pagesel.c
index 5c2e01a..ef29a6e 100644
--- a/gschem/src/x_pagesel.c
+++ b/gschem/src/x_pagesel.c
@@ -226,7 +226,7 @@ static void
\
pagesel_callback_popup_ ## name (GtkMenuItem *menuitem, \
gpointer user_data) \
{ \
- i_callback_ ## action (SCM_EOL, GSCHEM_DIALOG (user_data)->w_current, 0,
NULL); \
+ i_callback_ ## action (GSCHEM_DIALOG (user_data)->w_current, 0, NULL); \
}
DEFINE_POPUP_CALLBACK (new_page, file_new)
--
1.5.2.5
>From 27f9811c337849d1a80c77d409fb06767d875fc6 Mon Sep 17 00:00:00 2001
From: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu, 7 Aug 2008 02:24:10 +0200
Subject: [PATCH] Rather pass the user-supplied scripting command to a scheme
dispatcher.
Passing the command to a scheme dispatcher gives the configuration files
an opportunity to define the language in which these scripting commands
are interpreted. It doesn't really need to be scheme, but it is for now.
---
gschem/lib/system-gschemrc.in | 5 +++++
gschem/src/x_window.c | 10 +++++++++-
2 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/gschem/lib/system-gschemrc.in b/gschem/lib/system-gschemrc.in
index 809ca42..037cf41 100644
--- a/gschem/lib/system-gschemrc.in
+++ b/gschem/lib/system-gschemrc.in
@@ -955,6 +955,11 @@
(add-component-at-xy page default-titleblock 40000 40000 0 #f
#f)))
#t)
+; Evaluate an expression entered in the magic-colon text box.
+; In 20 years this might dispatch to an interpreter for some other language.
+(define (invoke-macro s-expr)
+ (eval-string-protected s-expr))
+
;
; End of hooks
;
diff --git a/gschem/src/x_window.c b/gschem/src/x_window.c
index 0259843..b3b6b56 100644
--- a/gschem/src/x_window.c
+++ b/gschem/src/x_window.c
@@ -280,8 +280,16 @@ static GtkWidget *x_window_stock_pixmap(const char *stock,
GSCHEM_TOPLEVEL *w_cu
static void x_window_invoke_macro(GtkEntry *entry, void *userdata)
{
GSCHEM_TOPLEVEL *w_current = userdata;
+ SCM interpreter;
+
+ interpreter = scm_c_lookup("invoke-macro");
+ interpreter = scm_variable_ref(interpreter);
+ if (scm_is_true(scm_procedure_p(interpreter))) {
+ scm_call_1(interpreter, scm_from_locale_string(gtk_entry_get_text(entry)));
+ } else {
+ s_log_message(_("invoke-macro is not a scheme procedure!\n"));
+ }
- g_scm_c_eval_string_protected(gtk_entry_get_text(entry));
gtk_widget_hide(w_current->macro_box);
gtk_widget_grab_focus(w_current->drawing_area);
}
--
1.5.2.5
>From f3033eeb569d08d4410c435225a0f16cdaec522a Mon Sep 17 00:00:00 2001
From: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu, 7 Aug 2008 02:29:25 +0200
Subject: [PATCH] Show the results of directly entered scripting commands in the
log window.
---
gschem/lib/system-gschemrc.in | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/gschem/lib/system-gschemrc.in b/gschem/lib/system-gschemrc.in
index 037cf41..f972f2a 100644
--- a/gschem/lib/system-gschemrc.in
+++ b/gschem/lib/system-gschemrc.in
@@ -958,7 +958,7 @@
; Evaluate an expression entered in the magic-colon text box.
; In 20 years this might dispatch to an interpreter for some other language.
(define (invoke-macro s-expr)
- (eval-string-protected s-expr))
+ (gschem-log (format #f "~s\n" (eval-string-protected s-expr))))
;
; End of hooks
--
1.5.2.5
>From 5dab69ba2fc8a441c3b3870e5b100895e5768824 Mon Sep 17 00:00:00 2001
From: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu, 7 Aug 2008 03:19:04 +0200
Subject: [PATCH] Make the current page accessible to scheme.
---
gschem/include/prototype.h | 1 +
gschem/src/g_hook.c | 6 ++++++
gschem/src/g_register.c | 1 +
3 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/gschem/include/prototype.h b/gschem/include/prototype.h
index 6a286d5..2a65402 100644
--- a/gschem/include/prototype.h
+++ b/gschem/include/prototype.h
@@ -44,6 +44,7 @@ SCM g_get_object_pins (SCM object_smob);
SCM g_add_component(SCM page_smob, SCM scm_comp_name, SCM scm_x, SCM scm_y,
SCM scm_angle, SCM scm_selectable, SCM scm_mirror);
SCM g_get_objects_in_page(SCM page_smob);
+SCM g_get_current_page(void);
/* g_keys.c */
int g_keys_execute(GSCHEM_TOPLEVEL *w_current, int state, int keyval);
GArray *g_keys_dump_keymap (void);
diff --git a/gschem/src/g_hook.c b/gschem/src/g_hook.c
index bb5963a..4a342c3 100644
--- a/gschem/src/g_hook.c
+++ b/gschem/src/g_hook.c
@@ -770,3 +770,9 @@ SCM g_get_objects_in_page(SCM page_smob) {
return return_list;
}
+
+SCM g_get_current_page(void)
+{
+ return (g_make_page_smob(global_window_current->toplevel,
+ global_window_current->toplevel->page_current));
+}
diff --git a/gschem/src/g_register.c b/gschem/src/g_register.c
index 7fe01cf..f5fb451 100644
--- a/gschem/src/g_register.c
+++ b/gschem/src/g_register.c
@@ -344,6 +344,7 @@ void g_register_funcs (void)
scm_c_define_gsubr ("set-attribute-value!", 2, 0, 0, g_set_attrib_value_x);
scm_c_define_gsubr ("add-component-at-xy", 7, 0, 0, g_add_component);
scm_c_define_gsubr ("get-objects-in-page", 1, 0, 0, g_get_objects_in_page);
+ scm_c_define_gsubr ("get-current-page", 0, 0, 0, g_get_current_page);
add_component_hook = scm_create_hook ("add-component-hook", 1);
add_component_object_hook = scm_create_hook ("add-component-object-hook",
--
1.5.2.5
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev