Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 34289) +++ trunk/scconfig/Rev.h (revision 34290) @@ -1 +1 @@ -static const int myrev = 34078; +static const int myrev = 34290; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 34289) +++ trunk/scconfig/Rev.tab (revision 34290) @@ -1,3 +1,4 @@ +34290 configure move djopt menu from central menufile to plugin menu 34078 configure new infrastructure: anyload 33963 configure new plugin: low level pcb-rnd C code draw 33845 configure librnd separation: link librnd with -l Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 34289) +++ trunk/src/Makefile.dep (revision 34290) @@ -2023,6 +2023,7 @@ ../src_3rd/librnd-local/src/librnd/core/actions.h \ ../src_3rd/librnd-local/src/librnd/core/compat_misc.h ../src_plugins/djopt/djopt.o: ../src_plugins/djopt/djopt.c ../config.h \ + ../src_plugins/djopt/menu_internal.c \ ../src_3rd/librnd-local/src/librnd/config.h conf_core.h \ ../src_3rd/librnd-local/src/librnd/core/conf.h \ ../src_3rd/librnd-local/src/librnd/core/global_typedefs.h \ Index: trunk/src/pcb-menu-default.lht =================================================================== --- trunk/src/pcb-menu-default.lht (revision 34289) +++ trunk/src/pcb-menu-default.lht (revision 34290) @@ -526,14 +526,6 @@ } 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:Puller = { a={a;o;p;}; action=Puller() } ha:Global Puller { li:submenu { @@ -542,8 +534,6 @@ ha:All = { action=GlobalPuller() } } } - - - ha:Only autorouted nets = { checked=plugins/djopt/auto_only; action=conf(toggle, plugins/djopt/auto_only, design) } } } - Index: trunk/src_plugins/djopt/Plug.tmpasm =================================================================== --- trunk/src_plugins/djopt/Plug.tmpasm (revision 34289) +++ trunk/src_plugins/djopt/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: trunk/src_plugins/djopt/djopt-menu.lht =================================================================== --- trunk/src_plugins/djopt/djopt-menu.lht (nonexistent) +++ trunk/src_plugins/djopt/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: trunk/src_plugins/djopt/djopt.c =================================================================== --- trunk/src_plugins/djopt/djopt.c (revision 34289) +++ trunk/src_plugins/djopt/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; }