Index: Plug.tmpasm =================================================================== --- Plug.tmpasm (revision 32387) +++ Plug.tmpasm (revision 32388) @@ -1,4 +1,6 @@ put /local/pcb/mod {ar_extern} +put /local/pcb/mod/MENUFILE {ar_extern-menu.lht} +put /local/pcb/mod/MENUVAR {ar_extern_menu} put /local/pcb/mod/OBJS [@ $(PLUGDIR)/ar_extern/ar_extern.o @] Index: ar_extern-menu.lht =================================================================== --- ar_extern-menu.lht (nonexistent) +++ ar_extern-menu.lht (revision 32388) @@ -0,0 +1,9 @@ +ha:rnd-menu-v1 { + li:anchored { + ha:@autoroute { + li:submenu { + ha:External autorouter = { action=ExtRoute() } + } + } + } +} Index: ar_extern.c =================================================================== --- ar_extern.c (revision 32387) +++ ar_extern.c (revision 32388) @@ -38,6 +38,7 @@ #include #include #include +#include #include "conf_core.h" #include "obj_pstk_inlines.h" #include "src_plugins/lib_compat_help/pstk_compat.h" @@ -45,6 +46,8 @@ static const char *extern_cookie = "extern autorouter plugin"; +#include "menu_internal.c" + typedef enum { ERSC_BOARD, ERSC_SELECTED } ext_route_scope_t; @@ -233,6 +236,7 @@ { extroute_free_conf(); rnd_remove_actions_by_cookie(extern_cookie); + rnd_hid_menu_unload(rnd_gui, extern_cookie); } @@ -242,5 +246,7 @@ RND_REGISTER_ACTIONS(extern_action_list, extern_cookie) + rnd_hid_menu_load(rnd_gui, NULL, extern_cookie, 100, NULL, 0, ar_extern_menu, "plugin: ar_extern"); + return 0; }