X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FModuleList.h;h=252ebfd0e59ef2c33db1ebb4e728eb42a35084de;hb=b5722962fb0393299e02df0b146522770e98aef6;hp=125b61e9923f03daf0867348b2a6aa4d5f95c9b6;hpb=488b9ae3a20395e66411329c4a5e262d30e0c771;p=lyx.git diff --git a/src/ModuleList.h b/src/ModuleList.h index 125b61e992..252ebfd0e5 100644 --- a/src/ModuleList.h +++ b/src/ModuleList.h @@ -12,14 +12,13 @@ #ifndef MODULELIST_H #define MODULELIST_H -#include #include #include namespace lyx { /** - * This class represents a particular LyX "module", which is a like a layout + * This class represents a particular LyX "module", which is like a layout * file, except that it does not stand alone. In that sense, it is more like * a LaTeX package, where a layout file corresponds to a LaTeX class. Or, in * LyX's own terms, a module is more like an included file that can be used @@ -32,14 +31,14 @@ namespace lyx { * The requires and excludes are given in comments within the module file, * which must begin roughly so: * #\DeclareLyXModule{Theorems (By Section)} + * #\DeclateCategory{Theorems} * #DescriptionBegin * #Numbers theorems and the like by section. * #DescriptionEnd * #Requires: theorems-std | theorems-ams * #Excludes: theorems-chap - * #Category: theorems * The description is used in the gui to give information to the user. The - * Requires, Excludes, and Categofy lines are read by the configuration script + * Requires, Excludes, and Category lines are read by the configuration script * and written to a file lyxmodules.lst in the user configuration directory. * That file is then read on startup to populate the ModuleList, below. * @@ -55,7 +54,7 @@ public: std::vector const & packagelist, std::vector const & requires, std::vector const & excludes, - std::string const & catgy); + std::string const & catgy, bool const local); /// whether the required packages are available bool isAvailable() const; /// the missing prerequisites, if any @@ -79,6 +78,8 @@ public: { return excluded_modules_; } /// std::string category() const { return category_; } + /// Is this a local module (from the user directory)? + bool isLocal() const { return local_; } /// \return true if the module is compatible with this one, i.e., /// it does not exclude us and we do not exclude it. /// this will also return true if modname is unknown and we do not @@ -111,6 +112,8 @@ private: /// mutable bool available_; /// + mutable bool local_; + /// mutable std::vector prerequisites_; }; @@ -150,11 +153,11 @@ public: void addLayoutModule(std::string const &, std::string const &, std::string const &, std::vector const &, std::vector const &, std::vector const &, - std::string const &); + std::string const &, bool const); /// std::vector modlist_; }; extern ModuleList theModuleList; -} +} // namespace lyx #endif