X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FModuleList.h;h=252ebfd0e59ef2c33db1ebb4e728eb42a35084de;hb=f5669c0a3db80510085ee65df4618d6915317939;hp=90894b8109216dcf964439fd617beb2ba58faeed;hpb=281799d34241c187ab3bad2d7fbf9e2b009fde6b;p=lyx.git diff --git a/src/ModuleList.h b/src/ModuleList.h index 90894b8109..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,12 +31,12 @@ 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 Category lines are read by the configuration script * and written to a file lyxmodules.lst in the user configuration directory. @@ -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