A little more progress ..
Having done most of the functional coding for the PCB CAD and being able to create and edit designs one thing became clear, keyboard entry sucks more the more options you have to control. I want drop down menus.
So I've started on code to add menus to a project. So far I can create and render a menu list with items and subitems. This code isn't integrated into the PCB CAD yet but to see what it may look like I've mocked up a couple of images.

.. is the basic menu system with separators, checkmarks and subitems. Images can also be used as menu items or subitems instead of text though these are only monochrome ..

All this, including sizing and positioning, is handled by the list build and render code. Defining the menus is a simple process of calling the code to add an item and following that call by the item data. E.g. Here is part of the menu as it's coded ..
Code:
...
BSR add_subitem * add an item subitem
dc.w text+checked * entry flags
dc.b '45 Fix',0 * entry text
ds.w 0 * ensure even
BSR add_subitem * add an item subitem
dc.w text * entry flags
dc.b '90 Fix',0 * entry text
ds.w 0 * ensure even
BSR add_menu * add a menu entry
dc.w text * entry flags
dc.b 'Pad',0 * entry text
ds.w 0 * ensure even
BSR add_item * add a menu item
dc.w text * entry flags
dc.b 'Layer',0 * entry text
ds.w 0 * ensure even
BSR add_subitem * add an item subitem
dc.w text * entry flags
dc.b ' Layer 1 ',0 * entry text
ds.w 0 * ensure even
...
Once all this is made to report menu selections, and the redraw of areas under the menus is handled, I can integrate this into the PCB CAD and won't have to remember all the keystrokes any more.
Lee.