]> git.lyx.org Git - lyx.git/blobdiff - src/TextClass.cpp
Fix the rest of bug 5010.
[lyx.git] / src / TextClass.cpp
index 0ed38f34b3ba9ebb615ac9adb7fe24361564f303..ff70eeaf03c072474281b1d471f27ccae875ad41 100644 (file)
@@ -27,7 +27,7 @@
 
 #include "frontends/alert.h"
 
-#include "support/assert.h"
+#include "support/lassert.h"
 #include "support/debug.h"
 #include "support/ExceptionMessage.h"
 #include "support/FileName.h"
@@ -109,13 +109,20 @@ std::string translateRT(TextClass::ReadType rt)
 } // namespace anon
 
 
-// This string cannot be translated, because it is a layout identifier.
+// This string should not be translated here, 
+// because it is a layout identifier.
 docstring const TextClass::emptylayout_ = from_ascii("Plain Layout");
 
 
 InsetLayout DocumentClass::empty_insetlayout_;
 
 
+/////////////////////////////////////////////////////////////////////////
+//
+// TextClass
+//
+/////////////////////////////////////////////////////////////////////////
+
 TextClass::TextClass()
 {
        outputType_ = LATEX;
@@ -156,7 +163,6 @@ enum TextClassTags {
        TC_STYLE,
        TC_DEFAULTSTYLE,
        TC_INSETLAYOUT,
-       TC_ENVIRONMENT,
        TC_NOSTYLE,
        TC_COLUMNS,
        TC_SIDES,
@@ -189,7 +195,6 @@ namespace {
                { "counter",         TC_COUNTER },
                { "defaultfont",     TC_DEFAULTFONT },
                { "defaultstyle",    TC_DEFAULTSTYLE },
-               { "environment",     TC_ENVIRONMENT },
                { "float",           TC_FLOAT },
                { "format",          TC_FORMAT },
                { "input",           TC_INPUT },
@@ -379,7 +384,6 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
                        }
                        break;
 
-               case TC_ENVIRONMENT:
                case TC_STYLE:
                        if (lexrc.next()) {
                                docstring const name = from_utf8(subst(lexrc.getString(),
@@ -398,8 +402,6 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt)
                                } else {
                                        Layout layout;
                                        layout.setName(name);
-                                       if (le == TC_ENVIRONMENT)
-                                               layout.is_environment = true;
                                        error = !readStyle(lexrc, layout);
                                        if (!error)
                                                layoutlist_.push_back(layout);
@@ -1034,23 +1036,36 @@ Layout const & TextClass::defaultLayout() const
 }
 
 
-bool TextClass::isDefaultLayout(Layout const & lay) const 
+bool TextClass::isDefaultLayout(Layout const & layout) const 
 {
-       return lay.name() == defaultLayoutName();
+       return layout.name() == defaultLayoutName();
 }
 
 
-bool TextClass::isEmptyLayout(Layout const & lay) const 
+bool TextClass::isEmptyLayout(Layout const & layout) const 
 {
-       return lay.name() == emptyLayoutName();
+       return layout.name() == emptyLayoutName();
 }
 
 
+/////////////////////////////////////////////////////////////////////////
+//
+// DocumentClassBundle
+//
+/////////////////////////////////////////////////////////////////////////
+
+DocumentClassBundle::~DocumentClassBundle()
+{
+       for (size_t i = 0; i != documentClasses_.size(); ++i)
+               delete documentClasses_[i];
+       documentClasses_.clear();
+}
+
 DocumentClass & DocumentClassBundle::newClass(LayoutFile const & baseClass)
 {
        DocumentClass * dc = new DocumentClass(baseClass);
-       tc_list_.push_back(dc);
-       return *tc_list_.back();
+       documentClasses_.push_back(dc);
+       return *documentClasses_.back();
 }
 
 
@@ -1061,6 +1076,12 @@ DocumentClassBundle & DocumentClassBundle::get()
 }
 
 
+/////////////////////////////////////////////////////////////////////////
+//
+// DocumentClass
+//
+/////////////////////////////////////////////////////////////////////////
+
 DocumentClass::DocumentClass(LayoutFile const & tc)
        : TextClass(tc)
 {}
@@ -1089,6 +1110,12 @@ bool DocumentClass::hasTocLevels() const
 }
 
 
+/////////////////////////////////////////////////////////////////////////
+//
+// PageSides
+//
+/////////////////////////////////////////////////////////////////////////
+
 ostream & operator<<(ostream & os, PageSides p)
 {
        switch (p) {