X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FCiteEnginesList.h;h=2979f004bce6e46085bc4449da017ea2e25af4c9;hb=29b9dd8b2f89f3741375ff5494aad03f22c7514f;hp=f1fc04b442b9edf0f739a17981b906b1934ddaeb;hpb=adc93015f9c356d4e5d594df86c888faaab8ad8b;p=lyx.git diff --git a/src/CiteEnginesList.h b/src/CiteEnginesList.h index f1fc04b442..2979f004bc 100644 --- a/src/CiteEnginesList.h +++ b/src/CiteEnginesList.h @@ -4,7 +4,7 @@ * 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 * \author Jürgen Spitzmüller * * Full author contact details are available in file CREDITS. @@ -22,8 +22,7 @@ namespace lyx { /** * This class represents a particular LyX "cite engine", which defines the features - * of a particular citation backend such as natbib or biblatex. In that sense, it is more like - * a LaTeX package, where a layout file corresponds to a LaTeX class. + * of a particular citation backend such as natbib or biblatex. * * In general, a given cite engine can be used with any document class. That said, * one cite engine may `require' another, or it may `exclude' some other cite engine. @@ -51,11 +50,10 @@ public: /// LyXCiteEngine(std::string const & name, std::string const & id, std::vector const & enginetypes, + std::string const & cfm, std::vector const & defaultbiblios, std::string const & description, - std::vector const & packagelist, - std::vector const & requires, - std::vector const & excludes); + std::vector const & packagelist); /// whether the required packages are available bool isAvailable() const; /// the missing prerequisites, if any @@ -67,6 +65,8 @@ public: /// std::string const & getFilename() const { return filename_; } /// + std::string const & getCiteFramework() const { return cite_framework_; } + /// std::vector const & getEngineType() const { return engine_types_; } /// bool hasEngineType(CiteEngineType const &) const; @@ -80,18 +80,7 @@ public: std::vector const & getPackageList() const { return package_list_; } /// - std::vector const & getRequiredEngines() const - { return required_engines_; } - /// Engines this one excludes: the list should be treated disjunctively - std::vector const & getExcludedEngines() const - { return excluded_engines_; } - /// \return true if the engine is compatible with this one, i.e., - /// it does not exclude us and we do not exclude it. - /// this will also return true if cename is unknown and we do not - /// exclude it, since in that case we cannot check its exclusions. - bool isCompatible(std::string const & cename) const; - /// - static bool areCompatible(std::string const & eng1, std::string const & eng2); + bool required(std::string const & p) const; private: /// what appears in the ui std::string name_; @@ -102,18 +91,16 @@ private: std::string filename_; /// the engine type(s) std::vector engine_types_; + /// cite framework (bibtex, biblatex) + std::string cite_framework_; /// default bibliography styles std::vector default_biblios_; /// a short description for use in the ui std::string description_; /// the LaTeX packages on which this depends, if any std::vector package_list_; - /// Engines this one requires: at least one - std::vector required_engines_; - /// Engines this one excludes: none of these - std::vector excluded_engines_; // these are mutable because they are used to cache the results - // or an otherwise const operation. + // of an otherwise const operation. /// mutable bool checked_; /// @@ -160,13 +147,13 @@ public: void operator=(CiteEnginesList const &); /// add an engine to the list void addCiteEngine(std::string const &, std::string const &, - std::vector const &, std::vector const &, - std::string const &, std::vector const &, - std::vector const &, std::vector const &); + std::vector const &, std::string const &, + std::vector const &, std::string const &, + std::vector const &); /// std::vector englist_; }; extern CiteEnginesList theCiteEnginesList; -} +} // namespace lyx #endif