Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 7125) +++ trunk/src/Makefile.dep (revision 7126) @@ -334,7 +334,7 @@ obj_poly.h polyarea.h obj_text_list.h obj_rat_list.h obj_rat.h \ layer_grp.h library.h rats_patch.h board.h build_run.h data.h \ crosshair.h vtonpoint.h hid.h error.h drc.h buffer.h draw.h font.h \ - obj_all.h plugins.h stub_draw.h pcb-printf.h \ + hid_actions.h obj_all.h plugins.h stub_draw.h pcb-printf.h \ ../src_3rd/genvector/gds_char.h compat_misc.h conf_core.h conf.h \ pcb-printf.h ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ @@ -992,7 +992,6 @@ pcb-printf.h plugins.h hid_attrib.h hid_init.h hid_flags.h hid_actions.h \ plug_footprint.h vtlibrary.h plug_io.h misc_util.h layer.h compat_nls.h \ layer_vis.h ../src_plugins/hid_gtk/gtkhid-main.h conf_hid.h \ - ../src_plugins/lib_gtk_common/dlg_drc.h \ ../src_plugins/hid_gtk/gui-command-window.h \ ../src_plugins/hid_gtk/gui-top-window.h \ ../src_plugins/lib_gtk_common/act_fileio.h \ @@ -1004,6 +1003,7 @@ ../src_plugins/lib_gtk_common/dlg_about.h \ ../src_plugins/lib_gtk_common/dlg_attribute.h \ ../src_plugins/lib_gtk_common/dlg_confirm.h \ + ../src_plugins/lib_gtk_common/dlg_drc.h \ ../src_plugins/lib_gtk_common/dlg_export.h \ ../src_plugins/lib_gtk_common/dlg_file_chooser.h \ ../src_plugins/lib_gtk_common/util_str.h \ @@ -1055,34 +1055,6 @@ ../src_plugins/lib_gtk_common/bu_status_line.h \ ../src_plugins/lib_gtk_common/util_str.h \ ../src_plugins/lib_gtk_config/hid_gtk_conf.h -../src_plugins/lib_gtk_common/dlg_drc.o: \ - ../src_plugins/lib_gtk_common/dlg_drc.c ../config.h conf_core.h conf.h \ - global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ - ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h ../src_3rd/liblihata/lihata.h \ - ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ - ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ - ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ - ../src_3rd/genvector/vtp0.h list_conf.h \ - ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h globalconst.h board.h const.h macro.h \ - vtroutestyle.h attrib.h layer.h obj_all_list.h obj_arc_list.h \ - obj_common.h ../src_3rd/liblihata/genht/hash.h \ - ../src_3rd/genlist/gendlist.h flag.h obj_arc.h obj_elem_list.h \ - obj_elem.h obj_line_list.h obj_line.h obj_pad_list.h obj_pad.h \ - obj_pinvia_list.h obj_pinvia.h obj_text.h font.h \ - ../src_3rd/liblihata/genht/htip.h box.h math_helper.h move.h misc_util.h \ - ht_element.h ../src_3rd/liblihata/genht/ht.h obj_poly_list.h obj_poly.h \ - polyarea.h obj_text_list.h obj_rat_list.h obj_rat.h layer_grp.h \ - library.h rats_patch.h board.h data.h crosshair.h vtonpoint.h hid.h \ - error.h drc.h buffer.h error.h search.h rats.h netlist.h route_style.h \ - draw.h layer.h pcb-printf.h undo.h \ - ../src_plugins/lib_gtk_common/dlg_drc.h hid_actions.h compat_nls.h \ - obj_all.h obj_pinvia_draw.h obj_pad_draw.h obj_rat_draw.h \ - obj_line_draw.h obj_arc_draw.h obj_poly_draw.h layer_vis.h \ - ../src_plugins/lib_gtk_common/util_str.h \ - ../src_plugins/lib_gtk_common/win_place.h \ - ../src_plugins/lib_gtk_config/hid_gtk_conf.h conf.h ../src_plugins/hid_gtk/gui-output-events.o: \ ../src_plugins/hid_gtk/gui-output-events.c ../config.h conf_core.h \ conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -2160,6 +2132,34 @@ obj_poly.h polyarea.h obj_text_list.h obj_rat_list.h obj_rat.h \ layer_grp.h library.h rats_patch.h board.h hid_actions.h hid.h error.h \ drc.h ../src_plugins/lib_gtk_common/dlg_message.h +../src_plugins/lib_gtk_common/dlg_drc.o: \ + ../src_plugins/lib_gtk_common/dlg_drc.c ../config.h conf_core.h conf.h \ + global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ + ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ + ../src_3rd/genvector/genvector_undef.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ + ../src_3rd/liblihata/genht/ht.h ../src_3rd/liblihata/genht/ht_inlines.h \ + ../src_3rd/genvector/vtp0.h list_conf.h \ + ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ + ../src_3rd/genlist/gendlist.h globalconst.h board.h const.h macro.h \ + vtroutestyle.h attrib.h layer.h obj_all_list.h obj_arc_list.h \ + obj_common.h ../src_3rd/liblihata/genht/hash.h \ + ../src_3rd/genlist/gendlist.h flag.h obj_arc.h obj_elem_list.h \ + obj_elem.h obj_line_list.h obj_line.h obj_pad_list.h obj_pad.h \ + obj_pinvia_list.h obj_pinvia.h obj_text.h font.h \ + ../src_3rd/liblihata/genht/htip.h box.h math_helper.h move.h misc_util.h \ + ht_element.h ../src_3rd/liblihata/genht/ht.h obj_poly_list.h obj_poly.h \ + polyarea.h obj_text_list.h obj_rat_list.h obj_rat.h layer_grp.h \ + library.h rats_patch.h board.h data.h crosshair.h vtonpoint.h hid.h \ + error.h drc.h buffer.h error.h search.h rats.h netlist.h route_style.h \ + draw.h layer.h pcb-printf.h undo.h \ + ../src_plugins/lib_gtk_common/dlg_drc.h hid_actions.h compat_nls.h \ + obj_all.h obj_pinvia_draw.h obj_pad_draw.h obj_rat_draw.h \ + obj_line_draw.h obj_arc_draw.h obj_poly_draw.h layer_vis.h \ + ../src_plugins/lib_gtk_common/util_str.h \ + ../src_plugins/lib_gtk_common/win_place.h \ + ../src_plugins/lib_gtk_config/hid_gtk_conf.h conf.h ../src_plugins/lib_gtk_common/dlg_export.o: \ ../src_plugins/lib_gtk_common/dlg_export.c ../config.h conf_core.h \ conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -3785,7 +3785,7 @@ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ ../src_3rd/genvector/vtp0.h list_conf.h error.h plug_io.h paths.h \ - compat_nls.h compat_misc.h font_internal.c + compat_nls.h compat_misc.h event.h font_internal.c font_act.o: font_act.c ../config.h board.h const.h macro.h \ global_typedefs.h pcb_bool.h unit.h vtroutestyle.h attrib.h \ ../src_3rd/genvector/genvector_impl.h \ @@ -4537,12 +4537,12 @@ obj_poly.h polyarea.h obj_text_list.h obj_rat_list.h obj_rat.h \ layer_grp.h library.h rats_patch.h data.h crosshair.h vtonpoint.h hid.h \ error.h drc.h buffer.h compat_misc.h compat_nls.h undo.h polygon.h \ - rtree.h obj_text_op.h operation.h draw.h obj_line_draw.h obj_text_draw.h \ - conf_core.h conf.h pcb-printf.h ../src_3rd/genvector/gds_char.h \ - ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/dom.h \ - ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ - ../src_3rd/liblihata/genht/htsp.h ../src_3rd/genvector/vtp0.h \ - list_conf.h + rtree.h event.h obj_text_op.h operation.h draw.h obj_line_draw.h \ + obj_text_draw.h conf_core.h conf.h pcb-printf.h \ + ../src_3rd/genvector/gds_char.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h ../src_3rd/liblihata/genht/htsp.h \ + ../src_3rd/genvector/vtp0.h list_conf.h obj_text_list.o: obj_text_list.c obj_text_list.h obj_text.h obj_common.h \ ../src_3rd/liblihata/genht/hash.h ../src_3rd/genlist/gendlist.h flag.h \ globalconst.h ../config.h attrib.h global_typedefs.h pcb_bool.h unit.h \ Index: trunk/src/event.h =================================================================== --- trunk/src/event.h (revision 7125) +++ trunk/src/event.h (revision 7126) @@ -38,6 +38,7 @@ PCB_EVENT_NETLIST_CHANGED, /* called after any netlist change (used to be the NetlistChanged action) */ PCB_EVENT_LAYERS_CHANGED, /* called after layers or layer groups change (used to be the LayersChanged action) */ PCB_EVENT_LIBRARY_CHANGED, /* called after a change in the footprint lib (used to be the LibraryChanged action) */ + PCB_EVENT_FONT_CHANGED, /* called when a font has changed; argument is the font ID */ PCB_EVENT_BUSY, /* called before CPU-intensive task begins */ Index: trunk/src/font.c =================================================================== --- trunk/src/font.c (revision 7125) +++ trunk/src/font.c (revision 7126) @@ -40,6 +40,7 @@ #include "paths.h" #include "compat_nls.h" #include "compat_misc.h" +#include "event.h" #define STEP_SYMBOLLINE 10 @@ -240,6 +241,8 @@ if (f->id > fk->last_id) fk->last_id = f->id; + pcb_event(PCB_EVENT_FONT_CHANGED, "i", f->id); + return f; } @@ -276,6 +279,7 @@ e = htip_popentry(&fk->fonts, id); pcb_font_free(e->value); + pcb_event(PCB_EVENT_FONT_CHANGED, "i", id); return 0; } Index: trunk/src/main.c =================================================================== --- trunk/src/main.c (revision 7125) +++ trunk/src/main.c (revision 7126) @@ -57,6 +57,7 @@ #include "conf_core.h" #include "vtptr.h" #include "layer_vis.h" +#include "obj_text.h" #include "hid_actions.h" #include "hid_init.h" @@ -233,6 +234,7 @@ pcb_plugins_uninit(); pcb_hid_uninit(); + pcb_text_uninit(); pcb_events_uninit(); pcb_strflg_uninit_buf(); @@ -398,6 +400,7 @@ atexit(pcb_emergency_save); pcb_events_init(); + pcb_text_init(); pcb_buildin_init(); pcb_hid_init(); Index: trunk/src/obj_text.c =================================================================== --- trunk/src/obj_text.c (revision 7125) +++ trunk/src/obj_text.c (revision 7126) @@ -35,6 +35,7 @@ #include "compat_nls.h" #include "undo.h" #include "polygon.h" +#include "event.h" #include "obj_text.h" #include "obj_text_op.h" @@ -600,3 +601,24 @@ { pcb_draw_invalidate(Text); } + +/*** init ***/ +static const char *text_cookie = "obj_text"; + +static void pcb_text_font_chg(void *user_data, int argc, pcb_event_arg_t argv[]) +{ + if ((argc < 2) || (argv[1].type != PCB_EVARG_INT)) + return; + + pcb_trace("font change %d\n", argv[1].d.i); +} + +void pcb_text_init(void) +{ + pcb_event_bind(PCB_EVENT_FONT_CHANGED, pcb_text_font_chg, NULL, text_cookie); +} + +void pcb_text_uninit(void) +{ + pcb_event_unbind_allcookie(text_cookie); +} Index: trunk/src/obj_text.h =================================================================== --- trunk/src/obj_text.h (revision 7125) +++ trunk/src/obj_text.h (revision 7126) @@ -58,6 +58,8 @@ void pcb_text_flip_side(pcb_layer_t *layer, pcb_text_t *text); void pcb_text_set_font(pcb_layer_t *layer, pcb_text_t *text, pcb_font_id_t fid); +void pcb_text_init(void); +void pcb_text_uninit(void); #define pcb_text_move(t,dx,dy) \ do { \