]> git.lyx.org Git - lyx.git/blobdiff - src/layout.C
Fix crash when running lyx -dbg insets -e ...
[lyx.git] / src / layout.C
index 58fd7f1bb93ec9b31cc1b7a8965196533bbf3521..27efc567d46a80a833a3523a67c4f1122cc99b45 100644 (file)
@@ -4,7 +4,7 @@
  *           LyX, The Document Processor
  *      
  *          Copyright 1995 Matthias Ettrich
- *          Copyright 1995-2000 The LyX Team.
+ *          Copyright 1995-2001 The LyX Team.
  *
  * ======================================================
  */
@@ -70,6 +70,7 @@ enum LayoutTags {
        //LT_FIRST_COUNTER,
        LT_FONT, 
        LT_FREE_SPACING, 
+       LT_PASS_THRU,
        //LT_HEADINGS,
        LT_ITEMSEP, 
        LT_KEEPEMPTY, 
@@ -133,6 +134,7 @@ LyXLayout::LyXLayout ()
        fill_bottom = false;
        newline_allowed = true;
        free_spacing = false;
+       pass_thru = false;
 }
 
 
@@ -174,6 +176,7 @@ bool LyXLayout::Read (LyXLex & lexrc, LyXTextClass const & tclass)
                { "parindent",                  LT_PARINDENT },
                { "parsep",                     LT_PARSEP },
                { "parskip",                    LT_PARSKIP },
+               { "passthru",                   LT_PASS_THRU },
                { "preamble",                   LT_PREAMBLE },
                { "rightmargin",                LT_RIGHTMARGIN },
                { "spacing",                    LT_SPACING },
@@ -392,6 +395,11 @@ bool LyXLayout::Read (LyXLex & lexrc, LyXTextClass const & tclass)
                                free_spacing = lexrc.GetInteger();
                        break;
 
+               case LT_PASS_THRU:      // Allow for pass thru.
+                       if (lexrc.next())
+                               pass_thru = lexrc.GetInteger();
+                       break;
+
                case LT_SPACING: // setspace.sty
                        readSpacing(lexrc);
                        break;
@@ -1152,7 +1160,7 @@ void LyXTextClass::readClassOptions(LyXLex & lexrc)
 bool LyXTextClass::hasLayout(string const & name) const
 {
        return find_if(layoutlist.begin(), layoutlist.end(),
-                      compare_memfun(&LyXLayout::name, name))
+                      lyx::compare_memfun(&LyXLayout::name, name))
                != layoutlist.end();
 }
 
@@ -1162,8 +1170,8 @@ LyXLayout const & LyXTextClass::GetLayout (string const & name) const
        LayoutList::const_iterator cit =
                find_if(layoutlist.begin(),
                        layoutlist.end(),
-                       compare_memfun(&LyXLayout::name, name));
-       Assert(cit != layoutlist.end()); // we require the name to exist
+                       lyx::compare_memfun(&LyXLayout::name, name));
+       lyx::Assert(cit != layoutlist.end()); // we require the name to exist
        return (*cit);
 }
 
@@ -1173,8 +1181,8 @@ LyXLayout & LyXTextClass::GetLayout(string const & name)
        LayoutList::iterator it =
                find_if(layoutlist.begin(),
                        layoutlist.end(),
-                       compare_memfun(&LyXLayout::name, name));
-       Assert(it != layoutlist.end()); // we require the name to exist
+                       lyx::compare_memfun(&LyXLayout::name, name));
+       lyx::Assert(it != layoutlist.end()); // we require the name to exist
        return (*it);
 }
 
@@ -1183,7 +1191,7 @@ bool LyXTextClass::delete_layout(string const & name)
 {
        LayoutList::iterator it =
                remove_if(layoutlist.begin(), layoutlist.end(),
-                         compare_memfun(&LyXLayout::name, name));
+                         lyx::compare_memfun(&LyXLayout::name, name));
        LayoutList::iterator end = layoutlist.end();
        bool const ret = (it != end);
        layoutlist.erase(it, end);
@@ -1218,7 +1226,7 @@ LyXTextClassList::NumberOfClass(string const & textclass) const
 {
        ClassList::const_iterator cit =
                find_if(classlist.begin(), classlist.end(),
-                       compare_memfun(&LyXTextClass::name, textclass));
+                       lyx::compare_memfun(&LyXTextClass::name, textclass));
        return cit != classlist.end() ?
                make_pair(true, size_type(cit - classlist.begin())) :
                make_pair(false, size_type(0));
@@ -1258,7 +1266,7 @@ string const &
 LyXTextClassList::NameOfLayout(LyXTextClassList::size_type textclass,
                               LyXTextClass::size_type layout) const
 {
-       static string dummy("dummy");
+       static string const dummy("dummy");
        classlist[textclass].load();
        if (layout < classlist[textclass].numLayouts())
                return classlist[textclass][layout].name();
@@ -1270,11 +1278,11 @@ LyXTextClassList::NameOfLayout(LyXTextClassList::size_type textclass,
 string const &
 LyXTextClassList::NameOfClass(LyXTextClassList::size_type number) const
 {
-       static string dummy("dummy");
+       static string const dummy("dummy");
        if (classlist.size() == 0) {
                return dummy;
        }
-       Assert(number < classlist.size());
+       lyx::Assert(number < classlist.size());
        return classlist[number].name();
 }
 
@@ -1283,12 +1291,12 @@ LyXTextClassList::NameOfClass(LyXTextClassList::size_type number) const
 string const &
 LyXTextClassList::LatexnameOfClass(LyXTextClassList::size_type number) const
 {
-       static string dummy("dummy");
+       static string const dummy("dummy");
        classlist[number].load();
        if (classlist.size() == 0) {
                return dummy;
        }
-       Assert(number < classlist.size());
+       lyx::Assert(number < classlist.size());
        return classlist[number].latexname();
 }
 
@@ -1297,11 +1305,11 @@ LyXTextClassList::LatexnameOfClass(LyXTextClassList::size_type number) const
 string const &
 LyXTextClassList::DescOfClass(LyXTextClassList::size_type number) const
 {
-       static string dummy("dummy");
+       static string const dummy("dummy");
        if (classlist.size() == 0) {
                return dummy;
        }
-       Assert(number < classlist.size());
+       lyx::Assert(number < classlist.size());
        return classlist[number].description();
 }