bioLegato: Biolegato Menu Language

Note: We should have a look at menus from other applications to see if there are capabilities that need to be in our menus (OpenOffice, Mozilla, MS-Office, NetBeans)


1. Biolegato will probably just directly read the menu directory hierarchy, rather than reading a .bioLegatomenus file.

Advantages:
Disadvantages:
2. A more strict grammar than .GDEmenus
3. Need real number arguments

4. argvalue is an actual value, rather than a reference?

5. File chooser

6. Possible multiple help buttons? Have a command like itemopen: to let you choose both the help file and the method to open it. (Should itemopen and itemhelp be combined into a single line?)

7. Need ways of using data from an object in the menu. For example, the sequence length should be accessible as a variable within the menu. Two ideas:
8. Should be human-readable, human-editable ie. NOT XML

9. Tabbed panes in menus

10. Grouping menu widgets visually in boxes

11. Graphics eg. icons in menus

12. mouse-over help items

13. Sanity checking at the level of the menu (with interactive prompts) This is why we need #7 above.

14. Menu parsing should be extendable by means of plugins.

15. Conditional display of some parameters? That is some parameters are irrelevant  depending on the settings of others. For example, in DNAPARS, there are four parameters that can are not used if resampling is not done. In GDE, these are offset by five dash characters to make it look like indentation. You can still set these parameters, but they are only used if resampling is done.

One approach is to gray out irrelevant parameters. Another would be to just not have them appear if not used.

16. Right now all scripts run by bioLegato require that all parameters be specified on the command line, regardless of whether or not they are used. This works, but it's a bit crude.

17. We will need a script that converts the old .GDEmenus files into bioLegato files. This is useful not just because it will speed out progress in converting to the new format, but also, it will give others who have made local .GDEmenus items a chance to convert them as well.

Instead of a script, another way to do this is to add a plugin to bioLegato that reads .GDEmenus as usual, but then writes out the new format.