]> git.lyx.org Git - lyx.git/blobdiff - src/LayoutFile.h
How about if we write a script to do some of this and stop doing it
[lyx.git] / src / LayoutFile.h
index 0d4a0d7aa6b1d3c4a4707be22b6069b05700436c..b56da88319d122b4dfe2174195a29dbd120c68fc 100644 (file)
@@ -4,7 +4,8 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
+ * \author Richard Heck (typedefs and such)
  *
  * Full author contact details are available in file CREDITS.
  */
 #ifndef BASECLASSLIST_H
 #define BASECLASSLIST_H
 
+#include "LayoutModuleList.h"
 #include "TextClass.h"
 
 #include "support/strfwd.h"
 
 #include <boost/noncopyable.hpp>
 
+#include <set>
+#include <string>
 #include <vector>
 
 
@@ -61,6 +65,15 @@ class LayoutFile : public TextClass, boost::noncopyable {
 public:
        /// check whether the TeX class is available
        bool isTeXClassAvailable() const { return texClassAvail_; }
+       ///
+       LayoutModuleList const & defaultModules() const 
+                       { return default_modules_; }
+       ///
+       LayoutModuleList const & providedModules() const 
+                       { return provided_modules_; }
+       ///
+       LayoutModuleList const & excludedModules() const 
+                       { return excluded_modules_; }
 private:
        /// Construct a layout with default values. Actual values loaded later.
        explicit LayoutFile(std::string const & filename,
@@ -82,6 +95,7 @@ class LayoutFileList {
 public:
        ///
        LayoutFileList() {}
+       ///
        ~LayoutFileList();
        /// \return The sole instance of this class.
        static LayoutFileList & get();
@@ -89,9 +103,11 @@ public:
        bool empty() const { return classmap_.empty(); }
        ///
        bool haveClass(std::string const & classname) const;
-       ///
+       /// Note that this will assert if we don't have classname, so
+       /// check via haveClass() first.
        LayoutFile const & operator[](std::string const & classname) const;
-       ///
+       /// Note that this will assert if we don't have classname, so
+       /// check via haveClass() first.
        LayoutFile & operator[](std::string const & classname);
        /// Read textclass list. Returns false if this fails.
        bool read();
@@ -99,7 +115,7 @@ public:
        void reset(LayoutFileIndex const & tc);
 
        /// add a default textclass with all standard layouts.
-       LayoutFileIndex addDefaultClass(std::string const & textclass);
+       LayoutFileIndex addEmptyClass(std::string const & textclass);
 
        /// add a textclass from user local directory.
        /// \return the identifier for the loaded file, or else an
@@ -108,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;