Attached is a patch that turns guiapi and Dialogs on their head, as I proposed the other day.
The guiapi functions no longer require a LyXView argument. Instead, they invoke the Dialogs methods and so guiapi.C is now common to all frontends. The "work" is done in xforms/Dialogs.C xforms/Dialogs2.C. Dialog.h stores a list of all dialogs, but knows nothing about their implementation. Instead it stores a load of boost::functions that invoke the frontends as appropriate. These two files implement Lars' 'lazy' creation, but it's computaionally expensive, so I split the file in two. I'm not sure if this is the best way to do things, so would value criticism. Regards, Angus
dialogs_and_guiapi.diff.gz
Description: GNU Zip compressed data