Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 32199) +++ trunk/scconfig/Rev.h (revision 32200) @@ -1 +1 @@ -static const int myrev = 32199; +static const int myrev = 32200; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 32199) +++ trunk/scconfig/Rev.tab (revision 32200) @@ -1,4 +1,4 @@ -32199 configure cleanup: eahc plugin shall register its own menus +32200 configure cleanup: eahc plugin shall register its own menus 32187 configure librnd: infra for menu patching 32169 configure hid_lesstif is part of the hidlib 32120 configure removing the old drc in favor of drc_query Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 32199) +++ trunk/src/Makefile.dep (revision 32200) @@ -4228,6 +4228,7 @@ ../src_plugins/lib_netmap/netmap.h netlist.h funchash_core.h \ librnd/core/funchash.h funchash_core_list.h ../src_3rd/genht/htpi.h ../src_plugins/io_kicad/io_kicad.o: ../src_plugins/io_kicad/io_kicad.c \ + ../src_plugins/io_kicad/menu_internal.c \ ../config.h librnd/config.h librnd/core/plugins.h \ ../src_3rd/puplug/puplug.h ../src_3rd/puplug/libs.h \ ../src_3rd/puplug/os_dep.h ../src_3rd/puplug/config.h \ Index: trunk/src/pcb-menu-default.lht =================================================================== --- trunk/src/pcb-menu-default.lht (revision 32199) +++ trunk/src/pcb-menu-default.lht (revision 32200) @@ -74,7 +74,6 @@ @import_geo - @import_sch - ha:Import KiCad/eeschema schematics = { action=LoadEeschemaFrom() } ha:Import mentor graphics schematics = { action=LoadMentorFrom() } ha:Load netlist file = { action=Load(Netlist) } ha:Load IPC-D-356 netlist = { action=LoadIpc356From() } Index: trunk/src_plugins/io_kicad/Plug.tmpasm =================================================================== --- trunk/src_plugins/io_kicad/Plug.tmpasm (revision 32199) +++ trunk/src_plugins/io_kicad/Plug.tmpasm (revision 32200) @@ -9,6 +9,8 @@ @] #put /local/pcb/mod/YACC {$(PLUGDIR)/io_kicad/parse_y} #put /local/pcb/mod/LEX {$(PLUGDIR)/io_kicad/parse_l} +put /local/pcb/mod/MENUFILE {kicad-menu.lht} +put /local/pcb/mod/MENUVAR {kicad_menu} switch /local/pcb/io_kicad/controls case {buildin} include /local/pcb/tmpasm/buildin; end; Index: trunk/src_plugins/io_kicad/io_kicad.c =================================================================== --- trunk/src_plugins/io_kicad/io_kicad.c (revision 32199) +++ trunk/src_plugins/io_kicad/io_kicad.c (revision 32200) @@ -29,6 +29,7 @@ #include "config.h" #include +#include #include "plug_io.h" #include "write.h" #include "read.h" @@ -35,6 +36,8 @@ #include "read_net.h" #include +#include "menu_internal.c" + static pcb_plug_io_t io_kicad; static const char *kicad_cookie = "kicad plugin"; @@ -62,6 +65,7 @@ rnd_remove_actions_by_cookie(kicad_cookie); RND_HOOK_UNREGISTER(pcb_plug_io_t, pcb_plug_io_chain, &io_kicad); pcb_eeschema_uninit(); + rnd_hid_menu_unload(rnd_gui, kicad_cookie); } int pplg_init_io_kicad(void) @@ -95,6 +99,8 @@ pcb_eeschema_init(); + rnd_hid_menu_load(rnd_gui, NULL, kicad_cookie, 190, NULL, 0, kicad_menu, "plugin: io_kicad"); + /* TODO: Alloc plugin-globals here. */ return 0; Index: trunk/src_plugins/io_kicad/kicad-menu.lht =================================================================== --- trunk/src_plugins/io_kicad/kicad-menu.lht (nonexistent) +++ trunk/src_plugins/io_kicad/kicad-menu.lht (revision 32200) @@ -0,0 +1,9 @@ +ha:rnd-menu-v1 { + li:anchored { + ha:@import_sch { + li:submenu { + ha:Import KiCad/eeschema schematics = { action=LoadEeschemaFrom() } + } + } + } +} \ No newline at end of file