]> git.lyx.org Git - lyx.git/blobdiff - src/LaTeXFeatures.h
GTK graphics dialog: Default to scaling 100% when no scaling or size is given
[lyx.git] / src / LaTeXFeatures.h
index a21d7f65ba3f427925d3d6baf8ae210e551aa728..0b4d6cd0ec60145878e52d1ff046032d3473d7fa 100644 (file)
 
 class Buffer;
 class BufferParams;
-struct Language;
+class Language;
 
 /** The packages and commands that a buffer needs. This class
   contains a list<string>.  Each of the LaTeX packages that a buffer needs
   should be added with void require(string const & name).
-
   i.e require("amssymb")
-
   To add support you should only need to require() the package name as
   packages which don't have special requirements are handled automatically.
   If your new package does need special consideration you'll need to alter
   string const getPackages() const;
   Remember to update the validate function in buffer.C and paragraph.C
   when you do so.
-*/
*  contains a list<string>.  Each of the LaTeX packages that a buffer needs
*  should be added with void require(string const & name).
+ *
*  i.e require("amssymb")
+ *
*  To add support you should only need to require() the package name as
*  packages which don't have special requirements are handled automatically.
*  If your new package does need special consideration you'll need to alter
*  string const getPackages() const;
*  Remember to update the validate function in buffer.C and paragraph.C
*  when you do so.
+ */
 class LaTeXFeatures {
 public:
        ///
@@ -62,8 +62,12 @@ public:
        void addExternalPreamble(std::string const &);
        /// Provide a string name-space to the requirements
        void require(std::string const & name);
+       /// Which of the required packages are installed?
+       static void getAvailable();
        /// Is the package required?
        bool isRequired(std::string const & name) const;
+       /// Is the (required) package available?
+       bool isAvailable(std::string const & name) const;
        ///
        void useFloat(std::string const & name);
        ///
@@ -96,6 +100,10 @@ private:
        FeaturesList features_;
        ///
        FeaturesList preamble_snippets_;
+       /// The available (required) packages
+       typedef std::list<std::string> PackagesList;
+       ///
+       static PackagesList packages_;
        ///
        typedef std::set<Language const *> LanguageList;
        ///