Using menu designer to fully manage your menu structure
27-07-2026
Visit associated GitHub repository
Visit reference documentation page

This is the traditional way of using tcMenu, where you allow the menu designer to manage your menu structure and round-trip every time new menu items were added. This means that you had to run through designer every time you added a new menu item, which divided opinion, some liked it; others thought that it was a painful process.

With the web version you have the choice of using the round-trip mode described here, or you can now use the embedded menu designer as an initializer instead. Round trip mode will only work in Chrome or Edge, it is not supported in Firefox or Safari.

Pros and cons

Pros

  • Designer manages the menu structure, there is no manual code editing
  • The structure is static, meaning far less runtime allocation during setup.
  • On AVR and Harvard architectures it is possible to use PROGMEM to store the menu static.
  • I18N support is built-in, there's no need for the python script to update header files.

Cons

  • Every change in menu items requires a round-trip to the designer.
  • The code for the menus is outside your control (stored in project files).
  • If you need to look at the static code (rare), it is opaque.

Open a project in round-trip mode

To start with this mode, go to Menu Edit from the page header and you'll see a button labelled "Open Local Project Directory (round trip)". This will present you with a file browser to select the directory where your project is located. Once you have selected the directory, the menu designer UI will open it and you can start editing your menu structure.

Once you've opened the project, the browser will remember that you gave permission to that directory. This extra permission allows the menu designer to both read and write files in that directory. That means we can apply the changes after code generation back to the local project directory.

If I18N support is enabled, the menu designer will automatically update the header files with the new translations during code generation. Designer will also read the translations from the main source properties file and present them instead of the property key in the UI.

You can read more about enabling multi-language menu support.

Editing the

These may be of interest

Want to let us know about something?

We use cookies to analyse traffic and to personalise content. We also embed Twitter and Youtube on some pages, these companies have their own privacy policies.

See the privacy policy and terms of use of this site should you need more information or wish to adjust your settings.