- std::vector<std::string> const & getModules() const;
- /// Add a module to the list of modules in use.
- /// Returns true if module was successfully added.
- /// The makeClass variable signals whether to call makeTextClass. This
- /// need not be done if we know this isn't the final time through, or if
- /// the BufferParams do not represent the parameters for an actual buffer
- /// (as in GuiDocument).
- bool addLayoutModule(std::string modName);
- // Add a list of modules.
- // Returns true if all modules were successfully added.
- // Currently unused.
- // bool addLayoutModules(std::vector<std::string>modNames);
+ LayoutModuleList const & getModules() const { return layout_modules_; }
+ /// List of default modules the user has removed
+ std::list<std::string> const & getRemovedModules() const
+ { return removed_modules_; }
+ ///
+ /// Add a module to the list of modules in use. This checks only that the
+ /// module is not already in the list, so use moduleIsCompatible first if
+ /// you want to check for compatibility.
+ /// \return true if module was successfully added.
+ bool addLayoutModule(std::string const & modName);
+ /// checks to make sure module's requriements are satisfied, that it does
+ /// not conflict with already-present modules, isn't already loaded, etc.
+ bool moduleCanBeAdded(std::string const & modName) const;
+ ///
+ void addRemovedModule(std::string const & modName)
+ { removed_modules_.push_back(modName); }