X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Flyxlayout.C;h=fc691697f7c0abb7a19f9e020024aa32fa337f53;hb=2e57f2ff0ae7cd4a6efbf634ffe6d2f4379d9cfc;hp=80e280b1577011124ebe46152a99a0d3602c5836;hpb=305c04ba8bf3dd6797da1adff4972c4f384c9071;p=lyx.git diff --git a/src/lyxlayout.C b/src/lyxlayout.C index 80e280b157..fc691697f7 100644 --- a/src/lyxlayout.C +++ b/src/lyxlayout.C @@ -18,6 +18,8 @@ #include "support/lstrings.h" +using namespace lyx::support; + using std::endl; // The order of the LayoutTags enum is no more important. [asierra300396] @@ -57,6 +59,9 @@ enum LayoutTags { LT_LATEXPARAM, LT_OPTARGS, LT_LATEXTYPE, + LT_LATEXHEADER, + LT_LATEXFOOTER, + LT_LATEXPARAGRAPH, LT_LEFTMARGIN, LT_NEED_PROTECT, LT_NEWLINE, @@ -105,6 +110,7 @@ LyXLayout::LyXLayout () newline_allowed = true; free_spacing = false; pass_thru = false; + is_environment = false; } @@ -135,7 +141,10 @@ bool LyXLayout::Read (LyXLex & lexrc, LyXTextClass const & tclass) { "labelstring", LT_LABELSTRING }, { "labelstringappendix", LT_LABELSTRING_APPENDIX }, { "labeltype", LT_LABELTYPE }, + { "latexfooter", LT_LATEXFOOTER }, + { "latexheader", LT_LATEXHEADER }, { "latexname", LT_LATEXNAME }, + { "latexparagraph", LT_LATEXPARAGRAPH }, { "latexparam", LT_LATEXPARAM }, { "latextype", LT_LATEXTYPE }, { "leftmargin", LT_LEFTMARGIN }, @@ -232,14 +241,29 @@ bool LyXLayout::Read (LyXLex & lexrc, LyXTextClass const & tclass) } break; - case LT_MARGIN: // Margin style definition. + case LT_MARGIN: // margin style definition. readMargin(lexrc); break; - case LT_LATEXTYPE: // Latex style definition. + case LT_LATEXTYPE: // LaTeX style definition. readLatexType(lexrc); break; + case LT_LATEXHEADER: // header for environments + lexrc.next(); + latexheader = lexrc.getString(); + break; + + case LT_LATEXFOOTER: // footer for environments + lexrc.next(); + latexfooter = lexrc.getString(); + break; + + case LT_LATEXPARAGRAPH: + lexrc.next(); + latexparagraph = lexrc.getString(); + break; + case LT_INTITLE: intitle = lexrc.next() && lexrc.getInteger(); break; @@ -380,17 +404,17 @@ bool LyXLayout::Read (LyXLex & lexrc, LyXTextClass const & tclass) case LT_LABELSTRING: // label string definition if (lexrc.next()) - labelstring_ = lexrc.getString(); + labelstring_ = trim(lexrc.getString()); break; case LT_ENDLABELSTRING: // endlabel string definition if (lexrc.next()) - endlabelstring_ = lexrc.getString(); + endlabelstring_ = trim(lexrc.getString()); break; case LT_LABELSTRING_APPENDIX: // label string appendix definition if (lexrc.next()) - labelstring_appendix_ = lexrc.getString(); + labelstring_appendix_ = trim(lexrc.getString()); break; case LT_FREE_SPACING: // Allow for free spacing. @@ -529,7 +553,7 @@ void LyXLayout::readLabelType(LyXLex & lexrc) keyword_item labelTypeTags[] = { { "bibliography", LA_BIBLIO }, { "centered_top_environment", LA_CENTERED_TOP_ENVIRONMENT }, - { "counter_chapter", LA_COUNTER_CHAPTER }, + { "counter_chapter", LA_COUNTER_CHAPTER }, { "counter_enumi", LA_COUNTER_ENUMI }, { "counter_enumii", LA_COUNTER_ENUMII }, { "counter_enumiii", LA_COUNTER_ENUMIII }, @@ -544,7 +568,7 @@ void LyXLayout::readLabelType(LyXLex & lexrc) { "sensitive", LA_SENSITIVE }, { "static", LA_STATIC }, { "top_environment", LA_TOP_ENVIRONMENT } -}; + }; pushpophelper pph(lexrc, labelTypeTags, LA_BIBLIO); int le = lexrc.lex();