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

Reply via email to