]> git.lyx.org Git - lyx.git/blobdiff - src/TextClass.cpp
* src/inset/InsetNomencl.cpp:
[lyx.git] / src / TextClass.cpp
index 3f756bdd4997c30373f37461e9b715d06ba9b4cd..a594375cda5930118f51d3513ea237c56dc77d64 100644 (file)
@@ -61,7 +61,7 @@ private:
 };
 
 
-int const FORMAT = 7;
+int const FORMAT = 8;
 
 
 bool layout2layout(FileName const & filename, FileName const & tempfile)
@@ -111,10 +111,10 @@ std::string translateRT(TextClass::ReadType rt)
 
 // This string should not be translated here, 
 // because it is a layout identifier.
-docstring const TextClass::emptylayout_ = from_ascii("Plain Layout");
+docstring const TextClass::plain_layout_ = from_ascii("Plain Layout");
 
 
-InsetLayout DocumentClass::empty_insetlayout_;
+InsetLayout DocumentClass::plain_insetlayout_;
 
 
 /////////////////////////////////////////////////////////////////////////
@@ -182,7 +182,8 @@ enum TextClassTags {
        TC_TITLELATEXNAME,
        TC_TITLELATEXTYPE,
        TC_FORMAT,
-       TC_ADDTOPREAMBLE
+       TC_ADDTOPREAMBLE,
+       TC_USEMODULE
 };
 
 
@@ -213,7 +214,8 @@ namespace {
                { "style",           TC_STYLE },
                { "titlelatexname",  TC_TITLELATEXNAME },
                { "titlelatextype",  TC_TITLELATEXTYPE },
-               { "tocdepth",        TC_TOCDEPTH }
+               { "tocdepth",        TC_TOCDEPTH },
+               { "usemodule",       TC_USEMODULE }
        };
        
 } //namespace anon
@@ -241,11 +243,11 @@ bool TextClass::read(FileName const & filename, ReadType rt)
        LYXERR(Debug::TCLASS, "Reading " + translateRT(rt) + ": " +
                to_utf8(makeDisplayPath(filename.absFilename())));
 
-       // Define the `empty' layout used in table cells, ert, etc. Note that 
+       // Define the plain layout used in table cells, ert, etc. Note that 
        // we do this before loading any layout file, so that classes can 
        // override features of this layout if they should choose to do so.
-       if (rt == BASECLASS && !hasLayout(emptylayout_))
-               layoutlist_.push_back(createEmptyLayout(emptylayout_));
+       if (rt == BASECLASS && !hasLayout(plain_layout_))
+               layoutlist_.push_back(createBasicLayout(plain_layout_));
 
        Lexer lexrc(textClassTags);
        lexrc.setFile(filename);
@@ -491,6 +493,13 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
                        break;
                }
 
+               case TC_USEMODULE: {
+                       lexrc.next();
+                       string const module = lexrc.getString();
+                       usemod_.insert(module);
+                       break;
+               }
+
                case TC_LEFTMARGIN:     // left margin type
                        if (lexrc.next())
                                leftmargin_ = lexrc.getDocString();
@@ -504,7 +513,7 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
                case TC_INSETLAYOUT:
                        if (lexrc.next()) {
                                InsetLayout il;
-                               if (il.read(lexrc))
+                               if (il.read(lexrc, *this))
                                        insetlayoutlist_[il.name()] = il;
                                // else there was an error, so forget it
                        }
@@ -947,7 +956,7 @@ Layout & TextClass::operator[](docstring const & name)
 
 bool TextClass::deleteLayout(docstring const & name)
 {
-       if (name == defaultLayoutName() || name == emptyLayoutName())
+       if (name == defaultLayoutName() || name == plainLayoutName())
                return false;
 
        LayoutList::iterator it =
@@ -991,7 +1000,7 @@ bool TextClass::load(string const & path) const
 void DocumentClass::addLayoutIfNeeded(docstring const & n) const
 {
        if (!hasLayout(n))
-               layoutlist_.push_back(createEmptyLayout(n, true));
+               layoutlist_.push_back(createBasicLayout(n, true));
 }
 
 
@@ -1010,7 +1019,7 @@ InsetLayout const & DocumentClass::insetLayout(docstring const & name) const
                        break;
                n = n.substr(0,i);
        }
-       return empty_insetlayout_;
+       return plain_insetlayout_;
 }
 
 
@@ -1035,11 +1044,11 @@ bool TextClass::isDefaultLayout(Layout const & layout) const
 
 bool TextClass::isPlainLayout(Layout const & layout) const 
 {
-       return layout.name() == emptyLayoutName();
+       return layout.name() == plainLayoutName();
 }
 
 
-Layout TextClass::createEmptyLayout(docstring const & name, bool unknown) const
+Layout TextClass::createBasicLayout(docstring const & name, bool unknown) const
 {
        static Layout * defaultLayout = NULL;