]> git.lyx.org Git - lyx.git/blobdiff - src/LayoutFile.h
Fix layout bug. Pasting text into a cell tried to set Standard layout, because
[lyx.git] / src / LayoutFile.h
index fd95c04e91ffab735187cfff1372cf3ad3a3904f..04c4a38228c8296b42bfd25b45dae6b97ccaabd5 100644 (file)
@@ -18,6 +18,8 @@
 
 #include <boost/noncopyable.hpp>
 
+#include <set>
+#include <string>
 #include <vector>
 
 
@@ -45,12 +47,24 @@ private:
 };
 
 /// This class amounts to little more than a `strong typedef'.
+/// 
 /// A LayoutFile represents the layout information that is 
 /// contained in a *.layout file.
+/// 
+/// No document- (that is, Buffer-) specific information should 
+/// be placed in these objects. They are used as the basis for 
+/// constructing DocumentClass objects, which are what represent
+/// the layout information associated with a Buffer. (This is also 
+/// a subclass of TextClass, implemented in TextClass.{h,cpp}.)
+/// Buffer-specific information should therefore be placed in a
+/// DocumentClass object.
+/// 
 class LayoutFile : public TextClass, boost::noncopyable {
 public:
        /// check whether the TeX class is available
        bool isTeXClassAvailable() const { return texClassAvail_; }
+       ///
+       std::set<std::string> const & defaultModules() const { return usemod_; }
 private:
        /// Construct a layout with default values. Actual values loaded later.
        explicit LayoutFile(std::string const & filename,
@@ -88,23 +102,16 @@ public:
        /// Clears the textclass so as to force it to be reloaded
        void reset(LayoutFileIndex const & tc);
 
-       enum Layout_Type {
-               System,
-               Local,
-               Embedded
-       };
-       
+       /// add a default textclass with all standard layouts.
+       LayoutFileIndex addEmptyClass(std::string const & textclass);
+
        /// add a textclass from user local directory.
        /// \return the identifier for the loaded file, or else an
        /// empty string if no file was loaded.
        LayoutFileIndex
-               addLayoutFile(std::string const & textclass, std::string const & path,
-                       Layout_Type type);
+               addLocalLayout(std::string const & textclass, std::string const & path);
        /// a list of the available classes
        std::vector<LayoutFileIndex> classList() const;
-       /// 
-       static std::string const localPrefix;
-       static std::string const embeddedPrefix;
 private:
        ///
        typedef std::map<std::string, LayoutFile *> ClassMap;