After refering to the analogartist reference, i have copie the simui.menus to my home directory( or work directory), and modify it to add a menu in Tools by add this line ("mytool" ?callback()) in the Tools section of the simui.menus file, but this menu did not turn up when the analogArtist stratup. it seems that the default menus are loaded in ADE. Does anyone know the reason? when i use the command ddGetStartupAll("menus"), the result shows ("~/menu"), i think it is the menu folder which i placed in my home folder. i got quite confused about how to add a user menu in ADE, thanks for explaining this method to me.
by the way, i have load this menu by adding this line "load("~/menu/simui.menus")" in my .cdsinit.
The approach of replacing the "Tools" menu with "Tools " is something that I came up with - it's in solution 11286092
This solution has an example with lots of comments (it's for Simulation rather than Tools, but it's the same idea) which explain why you are doing this. It's trying to avoid having to reimplement the whole of the standard menu in the local customization - it inherits from the one in the installation. So it has to load it first, and then be able to find out the contents of the existing Tools (or Simulation in my case) menu and build on that.
Since the sevAddMenuItemLists is defining a function to call which builds the menu info, if you call the menu the same (no space), then it will only ever find yours, and not the standard one. There are ways around this, but they currently require private functions.
The reason for the quoting is because if you look closely, you'll see that the backquote (i.e. "`") is being used. This is similar to the forward quote, in that it stops the list after it being evaluated except when the symbol is preceded by a comma or comma-at. This allows values to be spliced into the list that is built, without disturbing the structure. The best way to explain this is probably to look at my solution on macros. Rather than me reinventing the wheel and repeating it here!