// -*- C++ -*-
/**
- * \file ModuleList.h
+ * \file LayoutModuleList.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Richard Heck
+ * \author Richard Kimberly Heck
*
* Full author contact details are available in file CREDITS.
*/
class LayoutFile;
/**
- Represents a list of modules, such as might be associated with
+ Represents a list of modules, such as might be associated with
a particular document. Provides methods for adding modules, checking
- if a module can be added, and, importantly, adapting the list to a
+ if a module can be added, and, importantly, adapting the list to a
new DocumentClass.
*/
class LayoutModuleList {
{ return lml_.insert(pos, str); }
///
void push_back(std::string const & str) { lml_.push_back(str); }
- ///
+ ///
size_t size() const { return lml_.size(); }
/// This is needed in GuiDocument. It seems better than an
/// implicit conversion.
std::list<std::string> const & list() const { return lml_; }
+ /// List of modules as a comma-separated string
+ std::string asString() const;
/// 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,
/// to be made.
bool adaptToBaseClass(LayoutFile const * const lay,
std::list<std::string> const & removedModules);
+ ///
+ bool operator==(LayoutModuleList const & other) const {
+ return lml_ == other.lml_;
+ }
+ ///
+ bool operator!=(LayoutModuleList const & other) const {
+ return !operator==(other);
+ }
private:
/// Removes modules excluded by, provided by, etc, the base class.
/// \param lay The document class against which to check.
///
std::list<std::string> lml_;
};
-}
+} // namespace lyx
#endif