}
+void BufferParams::removeExcludedModules()
+{
+ // remove any modules the new base class excludes
+ list<string> oldModules = getModules();
+ clearLayoutModules();
+ list<string>::const_iterator oit = oldModules.begin();
+ list<string>::const_iterator oen = oldModules.end();
+ list<string> const & exclmods = baseClass()->excludedModules();
+ for (; oit != oen; ++oit) {
+ // are we excluded by the document class?
+ if (find(exclmods.begin(), exclmods.end(), *oit) != exclmods.end()) {
+ LYXERR0("Module " << *oit << " dropped because excluded by document class.");
+ continue;
+ }
+ layoutModules_.push_back(*oit);
+ }
+}
+
+
void BufferParams::addDefaultModules()
{
// add any default modules not already in use
// are we excluded by the document class?
if (find(exclmods.begin(), exclmods.end(), modname) != exclmods.end()) {
consistent = false;
- LYXERR0("Module " << modname << " dropped because excluded by document class.");
+ LYXERR0("WARNING: Module " << modname << " should already have been dropped!");
continue;
}
}
pimpl_->baseClass_ = classname;
+ removeExcludedModules();
addDefaultModules();
checkModuleConsistency();
///
void readRemovedModules(Lexer &);
///
+ void removeExcludedModules();
+ ///
void addDefaultModules();
/// checks for consistency among modules: makes sure requirements
/// are met, no modules exclude one another, etc, and resolves any