Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 17440) +++ trunk/src/Makefile.dep (revision 17441) @@ -746,12 +746,12 @@ misc_util.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ ../src_3rd/genvector/genvector_undef.h vtc0.h vtr0.h layer_ui.h layer.h \ - board.h vtroutestyle.h layer_grp.h library.h rats_patch.h board.h data.h \ - crosshair.h vtonpoint.h hid.h ../src_3rd/liblihata/dom.h \ - ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ - ../src_3rd/genht/htsp.h error.h drc.h route.h buffer.h obj_rat_list.h \ - obj_rat.h obj_subc_list.h obj_subc.h ../src_3rd/libminuid/libminuid.h \ - rtree.h ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ + actions.h hid.h ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h error.h drc.h \ + layer_grp.h board.h vtroutestyle.h library.h rats_patch.h board.h data.h \ + crosshair.h vtonpoint.h route.h buffer.h obj_rat_list.h obj_rat.h \ + obj_subc_list.h obj_subc.h ../src_3rd/libminuid/libminuid.h rtree.h \ + ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h hid_dad.h compat_misc.h hid_attrib.h pcb-printf.h event.h @@ -1531,11 +1531,12 @@ ../src_3rd/libminuid/libminuid.h rtree.h \ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ - vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h buffer.h \ - plug_footprint.h vtlibrary.h hid.h ../src_plugins/hid_lesstif/lesstif.h \ - hid_cfg_input.h ../src_3rd/genht/htpp.h hid_cfg.h compat_nls.h board.h \ - vtroutestyle.h library.h rats_patch.h board.h \ - ../src_plugins/hid_lesstif/stdarg.h event.h tool.h + vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h actions.h \ + buffer.h plug_footprint.h vtlibrary.h hid.h \ + ../src_plugins/hid_lesstif/lesstif.h hid_cfg_input.h \ + ../src_3rd/genht/htpp.h hid_cfg.h compat_nls.h board.h vtroutestyle.h \ + library.h rats_patch.h board.h ../src_plugins/hid_lesstif/stdarg.h \ + event.h tool.h ../src_plugins/hid_lesstif/main.o: ../src_plugins/hid_lesstif/main.c \ ../src_plugins/hid_lesstif/xincludes.h ../config.h math_helper.h \ conf_core.h conf.h global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ @@ -1642,7 +1643,7 @@ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h pcb-printf.h \ - hid.h ../src_plugins/hid_lesstif/lesstif.h hid_cfg_input.h \ + actions.h hid.h ../src_plugins/hid_lesstif/lesstif.h hid_cfg_input.h \ ../src_3rd/genht/htpp.h hid_cfg.h compat_nls.h board.h vtroutestyle.h \ library.h rats_patch.h board.h hid_flags.h \ ../src_plugins/hid_lesstif/stdarg.h misc_util.h event.h @@ -3846,14 +3847,15 @@ ../src_plugins/lib_gtk_common/dlg_drc.h \ ../src_plugins/lib_gtk_common/in_mouse.h \ ../src_plugins/lib_gtk_common/glue.h board.h library.h rats_patch.h \ - board.h event.h ../src_plugins/lib_gtk_hid/render.h data.h crosshair.h \ - vtonpoint.h route.h buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h \ - obj_subc.h ../src_3rd/libminuid/libminuid.h rtree.h \ + board.h event.h ../src_plugins/lib_gtk_hid/render.h \ + ../src_plugins/lib_gtk_hid/actions.h data.h crosshair.h vtonpoint.h \ + route.h buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h obj_subc.h \ + ../src_3rd/libminuid/libminuid.h rtree.h \ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h search.h rats.h \ netlist.h route_style.h change.h action_helper.h hid_attrib.h \ - ../src_plugins/lib_gtk_hid/actions.h compat_nls.h compat_misc.h \ + ../src/actions.h ../src/hid.h compat_nls.h compat_misc.h \ ../src_plugins/lib_gtk_common/act_print.h \ ../src_plugins/lib_gtk_common/act_fileio.h \ ../src_plugins/lib_gtk_common/wt_layersel.h \ @@ -4695,24 +4697,25 @@ obj_common.h layer.h ../src_plugins/query/query_exec.h \ obj_pstk_inlines.h data.h thermal.h obj_subc_parent.h ../src_plugins/query/query_act.o: ../src_plugins/query/query_act.c \ - ../config.h ../src_plugins/query/query.h ../src_3rd/genvector/vtp0.h \ + ../config.h actions.h hid.h ../src_3rd/liblihata/dom.h \ + ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ + ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.h error.h drc.h unit.h \ + global_typedefs.h pcb_bool.h attrib.h layer.h globalconst.h \ + obj_arc_list.h obj_common.h flag.h data_parent.h obj_arc.h \ + ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_impl.h \ + ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ + obj_line_list.h obj_line.h obj_poly_list.h obj_poly.h polyarea.h \ + obj_text_list.h obj_text.h font.h ../src_3rd/genht/htip.h box.h \ + math_helper.h move.h misc_util.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h ../src_3rd/genht/htsi.h \ - ../src_3rd/genht/ht.h ../src_3rd/genregex/regex_se.h \ + ../src_3rd/genvector/genvector_undef.h layer_grp.h \ + ../src_plugins/query/query.h ../src_3rd/genvector/vtp0.h \ + ../src_3rd/genht/htsi.h ../src_3rd/genregex/regex_se.h \ ../src_3rd/genregex/regex_templ.h ../src_3rd/genregex/regex.h \ - ../src_plugins/query/fields_sphash.h obj_common.h flag.h globalconst.h \ - attrib.h global_typedefs.h pcb_bool.h unit.h data_parent.h layer.h \ - obj_arc_list.h obj_common.h obj_arc.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ - ../src_3rd/genlist/gentdlist_undef.h obj_line_list.h obj_line.h \ - obj_poly_list.h obj_poly.h polyarea.h obj_text_list.h obj_text.h font.h \ - ../src_3rd/genht/htip.h box.h math_helper.h move.h misc_util.h \ - ../src_3rd/genvector/gds_char.h ../src_plugins/query/query_y.h \ - ../src_plugins/query/query_exec.h draw.h hid.h \ - ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ - ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h error.h drc.h \ - layer.h layer_grp.h select.h operation.h board.h vtroutestyle.h \ - library.h rats_patch.h board.h macro.h dolists.h + ../src_plugins/query/fields_sphash.h obj_common.h layer.h \ + ../src_plugins/query/query_y.h ../src_plugins/query/query_exec.h draw.h \ + select.h operation.h board.h vtroutestyle.h library.h rats_patch.h \ + board.h macro.h dolists.h ../src_plugins/query/query_exec.o: ../src_plugins/query/query_exec.c \ ../config.h data.h globalconst.h global_typedefs.h pcb_bool.h unit.h \ layer.h attrib.h obj_arc_list.h obj_common.h flag.h data_parent.h \ @@ -4804,11 +4807,12 @@ obj_text_list.h obj_text.h font.h ../src_3rd/genht/htip.h \ ../src_3rd/genht/ht.h box.h math_helper.h move.h misc_util.h \ ../src_3rd/genvector/gds_char.h layer_grp.h library.h rats_patch.h \ - board.h data.h crosshair.h vtonpoint.h hid.h ../src_3rd/liblihata/dom.h \ + board.h actions.h hid.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ - ../src_3rd/genht/htsp.h error.h drc.h route.h buffer.h obj_rat_list.h \ - obj_rat.h obj_subc_list.h obj_subc.h ../src_3rd/libminuid/libminuid.h \ - rtree.h ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ + ../src_3rd/genht/htsp.h error.h drc.h data.h crosshair.h vtonpoint.h \ + route.h buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h obj_subc.h \ + ../src_3rd/libminuid/libminuid.h rtree.h \ + ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ ../src_3rd/genvector/vtp0.h vtpadstack.h obj_pstk_shape.h polygon.h \ vtpadstack_t.h hid.h rtree.h undo.h ../src_3rd/libuundo/uundo.h \ @@ -5285,20 +5289,19 @@ globalconst.h attrib.h data_parent.h misc_util.h brave.o: brave.c ../config.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h brave.h conf_core.h conf.h \ - global_typedefs.h pcb_bool.h unit.h pcb-printf.h \ - ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/dom.h \ - ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ - ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.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 conf_hid.h error.h \ - compat_misc.h hid_dad.h hid_attrib.h hid.h drc.h attrib.h layer.h \ - obj_arc_list.h obj_common.h flag.h data_parent.h obj_arc.h \ - ../src_3rd/genlist/gendlist.h obj_line_list.h obj_line.h obj_poly_list.h \ - obj_poly.h polyarea.h obj_text_list.h obj_text.h font.h \ + ../src_3rd/genvector/genvector_undef.h brave.h actions.h hid.h \ + ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h \ + ../src_3rd/genht/ht.h error.h drc.h unit.h global_typedefs.h pcb_bool.h \ + attrib.h layer.h globalconst.h obj_arc_list.h obj_common.h flag.h \ + data_parent.h obj_arc.h ../src_3rd/genlist/gendlist.h \ + ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ + ../src_3rd/genlist/gentdlist_undef.h obj_line_list.h obj_line.h \ + obj_poly_list.h obj_poly.h polyarea.h obj_text_list.h obj_text.h font.h \ ../src_3rd/genht/htip.h box.h math_helper.h move.h misc_util.h \ - layer_grp.h + layer_grp.h conf_core.h conf.h pcb-printf.h \ + ../src_3rd/liblihata/lihata.h ../src_3rd/genvector/vtp0.h list_conf.h \ + conf_hid.h compat_misc.h hid_dad.h hid_attrib.h buffer.o: buffer.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 \ @@ -5430,11 +5433,10 @@ obj_text_list.h obj_text.h font.h ../src_3rd/genht/htip.h \ ../src_3rd/genht/ht.h box.h math_helper.h move.h misc_util.h \ ../src_3rd/genvector/gds_char.h layer_grp.h library.h rats_patch.h \ + actions.h hid.h ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h error.h drc.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 ../src_3rd/genht/htsp.h \ - ../src_3rd/genvector/vtp0.h list_conf.h route_style.h error.h hid.h \ - drc.h tool.h macro.h + ../src_3rd/genvector/vtp0.h list_conf.h route_style.h tool.h macro.h conf_core.o: conf_core.c ../config.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 \ @@ -5610,21 +5612,21 @@ obj_arc_draw.h obj_rat_draw.h obj_line_draw.h obj_poly_draw.h \ obj_pstk_draw.h find_misc.c change.h find_clear.c find_debug.c \ find_print.c find_any_isect.c -find_act.o: find_act.c ../config.h board.h global_typedefs.h pcb_bool.h \ - unit.h vtroutestyle.h attrib.h ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h layer.h globalconst.h \ - obj_arc_list.h obj_common.h flag.h data_parent.h obj_arc.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_impl.h \ - ../src_3rd/genlist/gendlist.h ../src_3rd/genlist/gentdlist_undef.h \ - obj_line_list.h obj_line.h obj_poly_list.h obj_poly.h polyarea.h \ - obj_text_list.h obj_text.h font.h ../src_3rd/genht/htip.h \ - ../src_3rd/genht/ht.h box.h math_helper.h move.h misc_util.h \ - ../src_3rd/genvector/gds_char.h layer_grp.h library.h rats_patch.h \ - conf_core.h conf.h pcb-printf.h ../src_3rd/liblihata/lihata.h \ +find_act.o: find_act.c ../config.h actions.h hid.h \ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h \ - ../src_3rd/genvector/vtp0.h list_conf.h data.h crosshair.h vtonpoint.h \ - hid.h error.h drc.h route.h buffer.h obj_rat_list.h obj_rat.h \ + ../src_3rd/genht/ht.h error.h drc.h unit.h global_typedefs.h pcb_bool.h \ + attrib.h layer.h globalconst.h obj_arc_list.h obj_common.h flag.h \ + data_parent.h obj_arc.h ../src_3rd/genlist/gendlist.h \ + ../src_3rd/genlist/gentdlist_impl.h ../src_3rd/genlist/gendlist.h \ + ../src_3rd/genlist/gentdlist_undef.h obj_line_list.h obj_line.h \ + obj_poly_list.h obj_poly.h polyarea.h obj_text_list.h obj_text.h font.h \ + ../src_3rd/genht/htip.h box.h math_helper.h move.h misc_util.h \ + ../src_3rd/genvector/gds_char.h ../src_3rd/genvector/genvector_impl.h \ + ../src_3rd/genvector/genvector_undef.h layer_grp.h board.h \ + vtroutestyle.h library.h rats_patch.h conf_core.h conf.h pcb-printf.h \ + ../src_3rd/liblihata/lihata.h ../src_3rd/genvector/vtp0.h list_conf.h \ + data.h crosshair.h vtonpoint.h route.h buffer.h obj_rat_list.h obj_rat.h \ obj_subc_list.h obj_subc.h ../src_3rd/libminuid/libminuid.h rtree.h \ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ @@ -5660,8 +5662,8 @@ obj_line_list.h obj_line.h obj_poly_list.h obj_poly.h polyarea.h \ obj_text_list.h obj_text.h font.h ../src_3rd/genht/htip.h \ ../src_3rd/genht/ht.h box.h math_helper.h move.h misc_util.h \ - ../src_3rd/genvector/gds_char.h layer_grp.h library.h rats_patch.h hid.h \ - ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/genvector/gds_char.h layer_grp.h library.h rats_patch.h \ + actions.h hid.h ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h error.h drc.h \ action_helper.h conf_core.h conf.h pcb-printf.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/genvector/vtp0.h list_conf.h \ @@ -5863,9 +5865,10 @@ ../src_3rd/genvector/genvector_undef.h layer_grp.h hid_nogui.h plugins.h \ ../src_3rd/puplug/puplug.h ../src_3rd/puplug/libs.h \ ../src_3rd/puplug/os_dep.h ../src_3rd/puplug/config.h \ - ../src_3rd/puplug/libs.h ../src_3rd/puplug/error.h hid_attrib.h \ - hid_init.h conf_core.h conf.h pcb-printf.h ../src_3rd/liblihata/lihata.h \ - ../src_3rd/genvector/vtp0.h list_conf.h compat_misc.h compat_inc.h + ../src_3rd/puplug/libs.h ../src_3rd/puplug/error.h actions.h \ + hid_attrib.h hid_init.h conf_core.h conf.h pcb-printf.h \ + ../src_3rd/liblihata/lihata.h ../src_3rd/genvector/vtp0.h list_conf.h \ + compat_misc.h compat_inc.h hid_nogui.o: hid_nogui.c ../config.h hid.h ../src_3rd/liblihata/dom.h \ ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h \ ../src_3rd/genht/htsp.h ../src_3rd/genht/ht.h error.h drc.h unit.h \ @@ -6546,7 +6549,7 @@ ../src_3rd/genlist/gentdlist_undef.h ../src_3rd/genlist/gentdlist_impl.h \ ../src_3rd/genlist/gendlist.h globalconst.h error.h compat_misc.h \ event.h -plug_footprint_act.o: plug_footprint_act.c ../config.h hid.h \ +plug_footprint_act.o: plug_footprint_act.c ../config.h actions.h hid.h \ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h \ ../src_3rd/genht/ht.h error.h drc.h unit.h global_typedefs.h pcb_bool.h \ @@ -6602,7 +6605,7 @@ ../src_3rd/puplug/config.h ../src_3rd/puplug/libs.h \ ../src_3rd/puplug/error.h ../config.h ../src_3rd/genvector/gds_char.h \ ../src_3rd/genvector/genvector_impl.h \ - ../src_3rd/genvector/genvector_undef.h compat_misc.h hid.h \ + ../src_3rd/genvector/genvector_undef.h compat_misc.h actions.h hid.h \ ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ ../src_3rd/liblihata/parser.h ../src_3rd/genht/htsp.h \ ../src_3rd/genht/ht.h error.h drc.h unit.h global_typedefs.h pcb_bool.h \ @@ -6720,10 +6723,10 @@ obj_text_list.h obj_text.h font.h ../src_3rd/genht/htip.h \ ../src_3rd/genht/ht.h box.h math_helper.h move.h misc_util.h \ ../src_3rd/genvector/gds_char.h layer_grp.h library.h \ - ../src_3rd/genht/htsp.h ../src_3rd/genht/hash.h data.h crosshair.h \ - vtonpoint.h hid.h ../src_3rd/liblihata/dom.h \ - ../src_3rd/liblihata/lihata.h ../src_3rd/liblihata/parser.h error.h \ - drc.h route.h buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h \ + ../src_3rd/genht/htsp.h ../src_3rd/genht/hash.h actions.h hid.h \ + ../src_3rd/liblihata/dom.h ../src_3rd/liblihata/lihata.h \ + ../src_3rd/liblihata/parser.h error.h drc.h data.h crosshair.h \ + vtonpoint.h route.h buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h \ obj_subc.h ../src_3rd/libminuid/libminuid.h rtree.h \ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h obj_pstk_list.h obj_pstk.h \ @@ -7305,9 +7308,9 @@ obj_arc.h ../src_3rd/genlist/gendlist.h obj_line_list.h obj_line.h \ obj_poly_list.h obj_poly.h polyarea.h obj_text_list.h obj_text.h font.h \ ../src_3rd/genht/htip.h box.h math_helper.h move.h misc_util.h \ - layer_grp.h library.h rats_patch.h data.h crosshair.h vtonpoint.h hid.h \ - error.h drc.h route.h buffer.h obj_rat_list.h obj_rat.h obj_subc_list.h \ - obj_subc.h ../src_3rd/libminuid/libminuid.h rtree.h \ + layer_grp.h library.h rats_patch.h actions.h hid.h error.h drc.h data.h \ + crosshair.h vtonpoint.h route.h buffer.h obj_rat_list.h obj_rat.h \ + obj_subc_list.h obj_subc.h ../src_3rd/libminuid/libminuid.h rtree.h \ ../src_3rd/genrtree/genrtree_api.h rtree2_compat.h ht_subc.h \ ../src_3rd/genht/ht.h ../src_3rd/genht/hash.h obj_pstk_list.h obj_pstk.h \ vtpadstack.h obj_pstk_shape.h polygon.h vtpadstack_t.h action_helper.h \ Index: trunk/src/actions.h =================================================================== --- trunk/src/actions.h (revision 17440) +++ trunk/src/actions.h (revision 17441) @@ -1,8 +1,37 @@ -#ifndef PCB_HID_ACTIONS_H -#define PCB_HID_ACTIONS_H +#ifndef PCB_ACTIONS_H +#define PCB_ACTIONS_H #include "hid.h" +/* This is used to register the action callbacks (for menus and + whatnot). HID assumes the following actions are available for its + use: + SaveAs(filename); + Quit(); +*/ +struct pcb_hid_action_s { + /* This is matched against action names in the GUI configuration */ + const char *name; + /* Called when the action is triggered. If this function returns + non-zero, no further actions will be invoked for this key/mouse + event. */ + int (*trigger_cb)(int argc, const char **argv); + /* Short description that sometimes accompanies the name. */ + const char *description; + /* Full allowed syntax; use \n to separate lines. */ + const char *syntax; +}; + +extern void pcb_hid_register_action(const pcb_hid_action_t *a, const char *cookie, int copy); + +extern void pcb_hid_register_actions(const pcb_hid_action_t *a, int, const char *cookie, int copy); +#define PCB_REGISTER_ACTIONS(a, cookie) PCB_HIDCONCAT(void register_,a) ()\ +{ pcb_hid_register_actions(a, sizeof(a)/sizeof(a[0]), cookie, 0); } + +/* Inits and uninits the whole action framework */ +void pcb_hid_actions_init(void); +void pcb_hid_actions_uninit(void); + /* These are called from main_act.c */ void pcb_print_actions(void); void pcb_dump_actions(void); @@ -34,4 +63,15 @@ else show msg and let the user click in the drawing area */ void pcb_hid_get_coords(const char *msg, pcb_coord_t *x, pcb_coord_t *y); +/* temporary hack for smooth upgrade to fungw based actions */ +#define PCB_OLD_ACT_BEGIN \ +{ \ + int argc = oargc; \ + const char **argv = oargv + +#define PCB_OLD_ACT_END \ + (void)argc; \ + (void)argv; \ +} + #endif Index: trunk/src/brave.c =================================================================== --- trunk/src/brave.c (revision 17440) +++ trunk/src/brave.c (revision 17441) @@ -32,6 +32,7 @@ #include #include "brave.h" +#include "actions.h" #include "conf_core.h" #include "conf_hid.h" #include "compat_misc.h" Index: trunk/src/conf_act.c =================================================================== --- trunk/src/conf_act.c (revision 17440) +++ trunk/src/conf_act.c (revision 17441) @@ -26,10 +26,10 @@ #include "config.h" #include "board.h" +#include "actions.h" #include "conf_core.h" #include "route_style.h" #include "error.h" -#include "hid.h" #include "tool.h" #include "macro.h" Index: trunk/src/find_act.c =================================================================== --- trunk/src/find_act.c (revision 17440) +++ trunk/src/find_act.c (revision 17441) @@ -32,6 +32,7 @@ * */ #include "config.h" +#include "actions.h" #include "board.h" #include "conf_core.h" #include "data.h" Index: trunk/src/font_act.c =================================================================== --- trunk/src/font_act.c (revision 17440) +++ trunk/src/font_act.c (revision 17441) @@ -26,7 +26,7 @@ #include "config.h" #include #include "board.h" -#include "hid.h" +#include "actions.h" #include "error.h" #include "font.h" #include "action_helper.h" Index: trunk/src/global_typedefs.h =================================================================== --- trunk/src/global_typedefs.h (revision 17440) +++ trunk/src/global_typedefs.h (revision 17441) @@ -65,6 +65,8 @@ typedef unsigned int pcb_cardinal_t; typedef unsigned char pcb_uint8_t; /* Don't use in new code. */ +typedef struct pcb_hid_action_s pcb_hid_action_t; + #include "pcb_bool.h" #include "unit.h" Index: trunk/src/hid.h =================================================================== --- trunk/src/hid.h (revision 17440) +++ trunk/src/hid.h (revision 17441) @@ -87,36 +87,6 @@ #define PCB_HIDCONCAT(a,b) a##b -/* This is used to register the action callbacks (for menus and - whatnot). HID assumes the following actions are available for its - use: - SaveAs(filename); - Quit(); -*/ -typedef struct { - /* This is matched against action names in the GUI configuration */ - const char *name; - /* Called when the action is triggered. If this function returns - non-zero, no further actions will be invoked for this key/mouse - event. */ - int (*trigger_cb)(int argc, const char **argv); - /* Short description that sometimes accompanies the name. */ - const char *description; - /* Full allowed syntax; use \n to separate lines. */ - const char *syntax; -} pcb_hid_action_t; - -extern void pcb_hid_register_action(const pcb_hid_action_t *a, const char *cookie, int copy); - -extern void pcb_hid_register_actions(const pcb_hid_action_t *a, int, const char *cookie, int copy); -#define PCB_REGISTER_ACTIONS(a, cookie) PCB_HIDCONCAT(void register_,a) ()\ -{ pcb_hid_register_actions(a, sizeof(a)/sizeof(a[0]), cookie, 0); } - -/* Note that PCB expects the GUI to provide the following actions: - - LibraryChanged() - */ - /* File Watch flags */ /* Based upon those in dbus/dbus-connection.h */ typedef enum { @@ -630,20 +600,4 @@ smaller than a screen pixel. */ extern int pcb_pixel_slop; -/* Inits and uninits the whole action framework */ -void pcb_hid_actions_init(void); -void pcb_hid_actions_uninit(void); - -/* temporary hack for smooth upgrade to fungw based actions */ -#define PCB_OLD_ACT_BEGIN \ -{ \ - int argc = oargc; \ - const char **argv = oargv - -#define PCB_OLD_ACT_END \ - (void)argc; \ - (void)argv; \ -} - - #endif Index: trunk/src/hid_init.c =================================================================== --- trunk/src/hid_init.c (revision 17440) +++ trunk/src/hid_init.c (revision 17441) @@ -37,6 +37,7 @@ and provides a dl-compat layer on windows. Also solves the opendir related includes. */ #include "plugins.h" +#include "actions.h" #include "hid_attrib.h" #include "hid_init.h" #include "misc_util.h" Index: trunk/src/plug_footprint_act.c =================================================================== --- trunk/src/plug_footprint_act.c (revision 17440) +++ trunk/src/plug_footprint_act.c (revision 17441) @@ -28,7 +28,7 @@ */ #include "config.h" -#include "hid.h" +#include "actions.h" #include "plug_footprint.h" static const char pcb_acts_fp_rehash[] = "fp_rehash()" ; Index: trunk/src/plugins.c =================================================================== --- trunk/src/plugins.c (revision 17440) +++ trunk/src/plugins.c (revision 17441) @@ -32,7 +32,7 @@ #include "config.h" #include "genvector/gds_char.h" #include "compat_misc.h" -#include "hid.h" +#include "actions.h" unsigned long pcb_api_ver = PCB_API_VER; Index: trunk/src/rats_patch.c =================================================================== --- trunk/src/rats_patch.c (revision 17440) +++ trunk/src/rats_patch.c (revision 17441) @@ -29,6 +29,7 @@ #include "genht/hash.h" #include "config.h" +#include "actions.h" #include "data.h" #include "error.h" #include "copy.h" Index: trunk/src/undo_act.c =================================================================== --- trunk/src/undo_act.c (revision 17440) +++ trunk/src/undo_act.c (revision 17441) @@ -35,6 +35,7 @@ #include "conf_core.h" #include "board.h" +#include "actions.h" #include "data.h" #include "action_helper.h" #include "error.h" Index: trunk/src_plugins/export_openems/mesh.c =================================================================== --- trunk/src_plugins/export_openems/mesh.c (revision 17440) +++ trunk/src_plugins/export_openems/mesh.c (revision 17441) @@ -29,6 +29,7 @@ #include "mesh.h" #include "layer.h" #include "layer_ui.h" +#include "actions.h" #include "board.h" #include "data.h" #include "hid_dad.h" Index: trunk/src_plugins/hid_lesstif/library.c =================================================================== --- trunk/src_plugins/hid_lesstif/library.c (revision 17440) +++ trunk/src_plugins/hid_lesstif/library.c (revision 17441) @@ -10,6 +10,7 @@ #include "compat_misc.h" #include "data.h" +#include "actions.h" #include "buffer.h" #include #include "plug_footprint.h" Index: trunk/src_plugins/hid_lesstif/styles.c =================================================================== --- trunk/src_plugins/hid_lesstif/styles.c (revision 17440) +++ trunk/src_plugins/hid_lesstif/styles.c (revision 17441) @@ -12,6 +12,7 @@ #include "data.h" #include "pcb-printf.h" +#include "actions.h" #include "hid.h" #include "lesstif.h" #include "hid_flags.h" Index: trunk/src_plugins/lib_gtk_hid/actions.c =================================================================== --- trunk/src_plugins/lib_gtk_hid/actions.c (revision 17440) +++ trunk/src_plugins/lib_gtk_hid/actions.c (revision 17441) @@ -30,13 +30,13 @@ #include "gui.h" #include "board.h" +#include "actions.h" #include "data.h" #include "search.h" #include "change.h" #include "action_helper.h" #include "hid_attrib.h" -#include "actions.h" -#include "hid.h" +#include "../src/actions.h" #include "compat_nls.h" #include "compat_misc.h" Index: trunk/src_plugins/query/query_act.c =================================================================== --- trunk/src_plugins/query/query_act.c (revision 17440) +++ trunk/src_plugins/query/query_act.c (revision 17441) @@ -30,6 +30,7 @@ #include #include #include "config.h" +#include "actions.h" #include "query.h" #include "query_y.h" #include "query_exec.h" Index: trunk/src_plugins/renumber/renumberblock.c =================================================================== --- trunk/src_plugins/renumber/renumberblock.c (revision 17440) +++ trunk/src_plugins/renumber/renumberblock.c (revision 17441) @@ -25,6 +25,7 @@ #include "config.h" #include "board.h" +#include "actions.h" #include "data.h" #include "hid.h" #include "rtree.h"