I am developing an application (in Squeak (Smalltalk)) with a major GUI component. It consists of a number of pages where each page contains a number of buttons, check boxes, menus, text areas, and popup windows. Currently each GUI object has a balloon that pops up to tell the user what it does but the amount of information is often woefully inadequate.
For more detailed information I also intend to create a Lyx document that will have a chapter for each page and a description of each GUI object on the page in a structured fashion. For example, a menu might correspond to a section and each choice in the menu might correspond to a subsection of that section. Or the choices of a menu might correspond to elements of a list in the Lyx document. I intend to modify the Squeak balloon system to support direct access to the detailed information in the Lyx document (by the user putting the mouse cursor over the GUI object while pressing the shift key). The user would then see a window containing the information on the GUI object where the window would be owned by a running Lyx program on the entire document. For users the lyx document would be in read only mode so they could not modify the document. (Really the users should see a postscript or pdf file but that is a separate problem.) For developers the Lyx document would be modifyable making editing the Lyx document really easy. Alas, I need help on the Lyx side. Ideally, when the user asks for documentation of a GUI object to be displayed my application would open a (Squeak) window showing the Lyx document with the cursor at the point in the document containing the description of the GUI object. I think this is too difficult so a simpler solution would be for my application to call Lyx to open the document when the application starts but have Lyx not open its window. My application would then need to send messages to Lyx telling it to open its window displaying the text at particular points in the document and also messages to close the Lyx window (but not terminate). Finally, there would also be a "shut down Lyx" message sent when my application closes. Unfortunately, I do not know C++ and all my spare time is put into my application (which will be open sourced) so I am unable to modify Lyx to support these features. Is anybody interested in implementing these features? Or even agree that they are a good idea! Alternative proposals as to how such a capability could be added to Lyx are also welcome. This capability doesn't seem that difficult to add to Lyx to me but if I am wrong perhaps someone can point out what is really involved here. Note that I assume other applications could use this feature including Lyx itself. Thanks for your time. Ralph