Index: Plug.tmpasm =================================================================== --- Plug.tmpasm (revision 34289) +++ Plug.tmpasm (revision 34290) @@ -1,6 +1,8 @@ put /local/pcb/mod {djopt} append /local/pcb/mod/OBJS [@ $(PLUGDIR)/djopt/djopt.o @] put /local/pcb/mod/CONF {$(PLUGDIR)/djopt/djopt_conf.h} +put /local/pcb/mod/MENUFILE {djopt-menu.lht} +put /local/pcb/mod/MENUVAR {djopt_menu} switch /local/pcb/djopt/controls case {buildin} include /local/pcb/tmpasm/buildin; end; Index: djopt-menu.lht =================================================================== --- djopt-menu.lht (nonexistent) +++ djopt-menu.lht (revision 34290) @@ -0,0 +1,22 @@ +ha:rnd-menu-v1 { + li:main_menu { + ha:Connects = { + li:submenu { + ha:Optimize routed tracks { + li:submenu { + ha:Auto-Optimize = { a={a;o;a;}; action=djopt(auto) } + ha:Debumpify = { a={a;o;d;}; action=djopt(debumpify) } + ha:Unjaggy = { a={a;o;u;}; action=djopt(unjaggy) } + ha:Vianudge = { a={a;o;n;}; action=djopt(vianudge) } + ha:Viatrim = { a={a;o;t;}; action=djopt(viatrim) } + ha:Ortho pull = { a={a;o;o;}; action=djopt(orthopull) } + ha:Simple optimization = { a={a;o;s;}; action=djopt(simple) } + ha:Miter = { a={a;o;m;}; action=djopt(miter) } + ha:Only autorouted nets = { checked=plugins/djopt/auto_only; action=conf(toggle, plugins/djopt/auto_only, design) } + - + } + } + } + } + } +} Index: djopt.c =================================================================== --- djopt.c (revision 34289) +++ djopt.c (revision 34290) @@ -57,10 +57,14 @@ #include #include "obj_pstk_inlines.h" +#include +#include "menu_internal.c" + conf_djopt_t conf_djopt; static const char *djopt_cookie = "djopt"; + #define dprintf if(0)rnd_printf #define selected(x) PCB_FLAG_TEST(PCB_FLAG_SELECTED, (x)) @@ -2569,6 +2573,7 @@ void pplg_uninit_djopt(void) { rnd_remove_actions_by_cookie(djopt_cookie); + rnd_hid_menu_unload(rnd_gui, djopt_cookie); rnd_conf_unreg_fields("plugins/djopt/"); } @@ -2581,5 +2586,8 @@ #include "djopt_conf_fields.h" RND_REGISTER_ACTIONS(djopt_action_list, djopt_cookie) + + rnd_hid_menu_load(rnd_gui, NULL, djopt_cookie, 175, NULL, 0, djopt_menu, "plugin: djopt"); + return 0; }