ControlInset is a templatised class that is used as the base class for many of the inset controllers. Currently, both the definition and declaration of the class are in ControlInset.h. Changing anything in this file results in recompilations of:
in directory controllers: ControlBibitem.C ControlBibtex.C ControlCitation.C ControlCommand.C ControlError.C ControlERT.C ControlExternal.C ControlFloat.C ControlGraphics.C ControlInclude.C ControlIndex.C ControlMinipage.C ControlRef.C ControlToc.C ControlUrl.C in directory xforms Dialogs.C FormBibitem.C FormBibtex.C FormCitation.C FormError.C FormERT.C FormExternal.C FormFloat.C FormGraphics.C FormInclude.C FormIndex.C FormMinipage.C FormRef.C FormToc.C FormUrl.C A total of 30 files! If, however, I split the file into a definition in ControlInset.h and a declaration of the class in ControlInset.C, then #include "ControlInset.C" in just 8 .C files of classes derived from ControlInset<xyz>: ControlCommand.C ControlERT.C ControlError.C ControlExternal.C ControlFloat.C ControlGraphics.C ControlInclude.C ControlMinipage.C then changing code in ControlInset.C results in the recompilation of these 8 files only. It works like a dream here and I can see no issues associated with this. Do those more knowledgable than I have any problems with it? If not, I'd like to submit the change. Angus