]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeXFeatures.h
* src/inset/InsetNomencl.cpp:
[lyx.git] / src / LaTeXFeatures.h
index fa64d8f7fbcd6ac79cc6c9f1c865f5ad75359f96..bcf1ed43b82b618701684c670579ed40e48f4b69 100644 (file)
@@ -66,8 +66,10 @@ public:
        void showStruct() const;
        ///
        void addPreambleSnippet(std::string const &);
-       /// Provide a string name-space to the requirements
+       /// Add a feature name requirements
        void require(std::string const & name);
+       /// Add a set of feature names requirements
+       void require(std::set<std::string> const & names);
        /// Which of the required packages are installed?
        static void getAvailable();
        /// Is the (required) package available?
@@ -80,7 +82,7 @@ public:
        */
        bool mustProvide(std::string const & name) const;
        ///
-       void useFloat(std::string const & name);
+       void useFloat(std::string const & name, bool subfloat = false);
        ///
        void useLanguage(Language const *);
        ///
@@ -105,22 +107,24 @@ public:
 private:
        std::list<docstring> usedLayouts_;
 
-       /// Static preamble bits from the external material insets
-       typedef std::list<std::string> FeaturesList;
+       /// The features that are needed by the document
+       typedef std::set<std::string> Features;
        ///
-       FeaturesList features_;
+       Features features_;
+       /// Static preamble bits from the external material insets
+       typedef std::list<std::string> SnippetList;
        ///
-       FeaturesList preamble_snippets_;
+       SnippetList preamble_snippets_;
        /// The available (required) packages
-       typedef std::list<std::string> PackagesList;
+       typedef std::set<std::string> Packages;
        ///
-       static PackagesList packages_;
+       static Packages packages_;
        ///
        typedef std::set<Language const *> LanguageList;
        /// used languages (only those that are supported by babel)
        LanguageList UsedLanguages_;
        ///
-       typedef std::set<std::string> UsedFloats;
+       typedef std::map<std::string, bool> UsedFloats;
        ///
        UsedFloats usedFloats_;
        ///