-
- // add any required modules not already in use
- set<string> const & mods = baseClass()->defaultModules();
- set<string>::const_iterator mit = mods.begin();
- set<string>::const_iterator men = mods.end();
- for (; mit != men; mit++) {
- string const & modName = *mit;
- // see if we're already in use
- if (find(layoutModules_.begin(), layoutModules_.end(), modName) !=
- layoutModules_.end()) {
- LYXERR(Debug::TCLASS, "Default module `" << modName <<
- "' not added because already used.");
- continue;
- }
- // make sure the user hasn't removed it
- if (find(removedModules_.begin(), removedModules_.end(), modName) !=
- removedModules_.end()) {
- LYXERR(Debug::TCLASS, "Default module `" << modName <<
- "' not added because removed by user.");
- continue;
- }
- // Now we want to check the list of selected modules to see if any of them
- // exclude this one.
- bool foundit = false;
- // so iterate over the selected modules...
- LayoutModuleList::const_iterator lit = layoutModules_.begin();
- LayoutModuleList::const_iterator len = layoutModules_.end();
- for (; lit != len; lit++) {
- LyXModule * lm = moduleList[*lit];
- if (!lm)
- continue;
- vector<string> const & exc = lm->getExcludedModules();
- // ...and see if this one excludes us.
- if (find(exc.begin(), exc.end(), modName) != exc.end()) {
- foundit = true;
- LYXERR(Debug::TCLASS, "Default module `" << modName <<
- "' not added because excluded by loaded module `" <<
- *lit << "'.");
- break;
- }
- }
- if (!foundit) {
- LYXERR(Debug::TCLASS, "Default module `" << modName << "' added.");
- layoutModules_.push_back(modName);
- }
- }