• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. some thing about the user menus in ADE!(complete!)

Stats

  • Locked Locked
  • Replies 16
  • Subscribers 145
  • Views 8658
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

some thing about the user menus in ADE!(complete!)

imagesensor123
imagesensor123 over 14 years ago

 Hi,

    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.

Regards,

zfeng

  • Cancel
Parents
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Zfeng,

    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!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • Andrew Beckett
    Andrew Beckett over 14 years ago

    Zfeng,

    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!

    Regards,

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information