X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FTextClass.cpp;h=eb92612d847b6d9bad0ead06aa018324b53164fe;hb=9d8a45b5c055ef49e45c34ba0d751a0256d97e15;hp=91f68f729124df5327a9a7691c5c21d233d53ce6;hpb=c506f304bc522ea91ad5a7e97cd4e3c7d54376b0;p=lyx.git diff --git a/src/TextClass.cpp b/src/TextClass.cpp index 91f68f7291..eb92612d84 100644 --- a/src/TextClass.cpp +++ b/src/TextClass.cpp @@ -62,7 +62,7 @@ namespace lyx { // You should also run the development/tools/updatelayouts.py script, // to update the format of all of our layout files. // -int const LAYOUT_FORMAT = 81; // rikiheck: GuiName for counters +int const LAYOUT_FORMAT = 82; // dourouc05: DocBook additions. // Layout format for the current lyx file format. Controls which format is @@ -139,12 +139,12 @@ TextClass::TextClass() opt_pagesize_("default|a4|a5|b5|letter|legal|executive"), opt_pagestyle_("empty|plain|headings|fancy"), fontsize_format_("$$spt"), pagesize_("default"), pagesize_format_("$$spaper"), pagestyle_("default"), tablestyle_("default"), + docbookroot_("article"), docbookforceabstract_(false), columns_(1), sides_(OneSide), secnumdepth_(3), tocdepth_(3), outputType_(LATEX), outputFormat_("latex"), has_output_format_(false), defaultfont_(sane_font), titletype_(TITLE_COMMAND_AFTER), titlename_("maketitle"), min_toclevel_(0), max_toclevel_(0), maxcitenames_(2), - cite_full_author_list_(true), bibintoc_(false) -{ + cite_full_author_list_(true), bibintoc_(false) { } @@ -216,7 +216,9 @@ enum TextClassTags { TC_FULLAUTHORLIST, TC_OUTLINERNAME, TC_TABLESTYLE, - TC_BIBINTOC + TC_BIBINTOC, + TC_DOCBOOKROOT, + TC_DOCBOOKFORCEABSTRACT }; @@ -239,6 +241,8 @@ LexerKeyword textClassTags[] = { { "defaultfont", TC_DEFAULTFONT }, { "defaultmodule", TC_DEFAULTMODULE }, { "defaultstyle", TC_DEFAULTSTYLE }, + { "docbookforceabstract", TC_DOCBOOKFORCEABSTRACT }, + { "docbookroot", TC_DOCBOOKROOT }, { "excludesmodule", TC_EXCLUDESMODULE }, { "float", TC_FLOAT }, { "format", TC_FORMAT }, @@ -452,9 +456,6 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt) case LATEX: outputFormat_ = "latex"; break; - case DOCBOOK: - outputFormat_ = "docbook"; - break; case LITERATE: outputFormat_ = "literate"; break; @@ -868,10 +869,20 @@ TextClass::ReturnValues TextClass::read(Lexer & lexrc, ReadType rt) error = !readOutlinerName(lexrc); break; - case TC_TABLESTYLE: + case TC_TABLESTYLE: lexrc.next(); tablestyle_ = rtrim(lexrc.getString()); break; + + case TC_DOCBOOKROOT: + if (lexrc.next()) + docbookroot_ = lexrc.getString(); + break; + + case TC_DOCBOOKFORCEABSTRACT: + if (lexrc.next()) + docbookforceabstract_ = lexrc.getBool(); + break; } // end of switch } @@ -961,7 +972,6 @@ void TextClass::readTitleType(Lexer & lexrc) void TextClass::readOutputType(Lexer & lexrc) { LexerKeyword outputTypeTags[] = { - { "docbook", DOCBOOK }, { "latex", LATEX }, { "literate", LITERATE } }; @@ -974,7 +984,6 @@ void TextClass::readOutputType(Lexer & lexrc) lexrc.printError("Unknown output type `$$Token'"); return; case LATEX: - case DOCBOOK: case LITERATE: outputType_ = static_cast(le); break; @@ -994,7 +1003,6 @@ void TextClass::readClassOptions(Lexer & lexrc) CO_PAGESIZE_FORMAT, CO_PAGESTYLE, CO_OTHER, - CO_HEADER, CO_END }; @@ -1002,7 +1010,6 @@ void TextClass::readClassOptions(Lexer & lexrc) {"end", CO_END }, {"fontsize", CO_FONTSIZE }, {"fontsizeformat", CO_FONTSIZE_FORMAT }, - {"header", CO_HEADER }, {"other", CO_OTHER }, {"pagesize", CO_PAGESIZE }, {"pagesizeformat", CO_PAGESIZE_FORMAT }, @@ -1048,10 +1055,6 @@ void TextClass::readClassOptions(Lexer & lexrc) else options_ += ',' + lexrc.getString(); break; - case CO_HEADER: - lexrc.next(); - class_header_ = subst(lexrc.getString(), """, "\""); - break; case CO_END: getout = true; break; @@ -1373,6 +1376,8 @@ bool TextClass::readFloat(Lexer & lexrc) FT_HTMLSTYLE, FT_HTMLATTR, FT_HTMLTAG, + FT_DOCBOOKATTR, + FT_DOCBOOKTAG, FT_LISTCOMMAND, FT_REFPREFIX, FT_ALLOWED_PLACEMENT, @@ -1386,6 +1391,8 @@ bool TextClass::readFloat(Lexer & lexrc) { "allowedplacement", FT_ALLOWED_PLACEMENT }, { "allowssideways", FT_ALLOWS_SIDEWAYS }, { "allowswide", FT_ALLOWS_WIDE }, + { "docbookattr", FT_DOCBOOKATTR }, + { "docbooktag", FT_DOCBOOKTAG }, { "end", FT_END }, { "extension", FT_EXT }, { "guiname", FT_NAME }, @@ -1410,6 +1417,8 @@ bool TextClass::readFloat(Lexer & lexrc) string htmlattr; docstring htmlstyle; string htmltag; + string docbookattr; + string docbooktag; string listname; string listcommand; string name; @@ -1523,6 +1532,14 @@ bool TextClass::readFloat(Lexer & lexrc) lexrc.next(); htmltag = lexrc.getString(); break; + case FT_DOCBOOKATTR: + lexrc.next(); + docbookattr = lexrc.getString(); + break; + case FT_DOCBOOKTAG: + lexrc.next(); + docbooktag = lexrc.getString(); + break; case FT_END: getout = true; break; @@ -1550,8 +1567,9 @@ bool TextClass::readFloat(Lexer & lexrc) } Floating fl(type, placement, ext, within, style, name, listname, listcommand, refprefix, allowed_placement, - htmltag, htmlattr, htmlstyle, required, usesfloat, - ispredefined, allowswide, allowssideways); + htmltag, htmlattr, htmlstyle, docbooktag, docbookattr, + required, usesfloat, ispredefined, allowswide, + allowssideways); floatlist_.newFloat(fl); // each float has its own counter counters_.newCounter(from_ascii(type), from_ascii(within),