]> git.lyx.org Git - lyx.git/blobdiff - src/LayoutFile.h
tex2lyx: support for multiple indices and subindices
[lyx.git] / src / LayoutFile.h
index eda75c20b47ad3ecfaecfe03b7504ed4b8cd0c00..31031eae8e6b0221d408d1c2f6a3e622d7347060 100644 (file)
@@ -13,6 +13,7 @@
 #ifndef BASECLASSLIST_H
 #define BASECLASSLIST_H
 
+#include "LayoutModuleList.h"
 #include "TextClass.h"
 
 #include "support/strfwd.h"
@@ -28,10 +29,6 @@ namespace lyx {
 
 class Layout;
 
-/// Reads the style files
-extern bool LyXSetStyle();
-
-
 /// Index into LayoutFileList. Basically a 'strong typedef'.
 class LayoutFileIndex {
 public:
@@ -63,22 +60,24 @@ private:
 class LayoutFile : public TextClass, boost::noncopyable {
 public:
        /// check whether the TeX class is available
-       bool isTeXClassAvailable() const { return texClassAvail_; }
+       bool isTeXClassAvailable() const { return tex_class_avail_; }
        ///
-       std::list<std::string> const & defaultModules() const 
+       LayoutModuleList const & defaultModules() const 
                        { return default_modules_; }
        ///
-       std::list<std::string> const & providedModules() const 
+       LayoutModuleList const & providedModules() const 
                        { return provided_modules_; }
        ///
-       std::list<std::string> const & excludedModules() const 
+       LayoutModuleList const & excludedModules() const 
                        { return excluded_modules_; }
 private:
        /// Construct a layout with default values. Actual values loaded later.
        explicit LayoutFile(std::string const & filename,
                        std::string const & className = std::string(),
                        std::string const & description = std::string(),
-                       bool texClassAvail = false);
+                       std::string const & prerequisites = std::string(),
+                       std::string const & category = std::string(),
+                       bool texclassavail = false);
        /// The only class that should create a LayoutFile is
        /// LayoutFileList, which calls the private constructor.
        friend class LayoutFileList;
@@ -113,7 +112,9 @@ public:
        /// Clears the textclass so as to force it to be reloaded
        void reset(LayoutFileIndex const & tc);
 
-       /// add a default textclass with all standard layouts.
+       /// Add a default textclass with all standard layouts.
+       /// Note that this will over-write any information we may have
+       /// gotten from textclass.lst about this class.
        LayoutFileIndex addEmptyClass(std::string const & textclass);
 
        /// add a textclass from user local directory.
@@ -123,6 +124,10 @@ public:
                addLocalLayout(std::string const & textclass, std::string const & path);
        /// a list of the available classes
        std::vector<LayoutFileIndex> classList() const;
+
+       ///
+       bool load(std::string const & name, std::string const & buf_path);
+
 private:
        ///
        typedef std::map<std::string, LayoutFile *> ClassMap;