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

Attachment: dialogs_and_guiapi.diff.gz
Description: GNU Zip compressed data

Reply via email to