#include "TextClass.h"
-#include "LayoutFile.h"
#include "CiteEnginesList.h"
-#include "Color.h"
#include "Counters.h"
#include "Floating.h"
#include "FloatList.h"
#include "Layout.h"
+#include "LayoutFile.h"
#include "Lexer.h"
-#include "Font.h"
#include "ModuleList.h"
#include "frontends/alert.h"
#include "support/lassert.h"
#include "support/debug.h"
-#include "support/ExceptionMessage.h"
#include "support/FileName.h"
#include "support/filetools.h"
#include "support/gettext.h"
// You should also run the development/tools/updatelayouts.py script,
// to update the format of all of our layout files.
//
-int const LAYOUT_FORMAT = 82; // dourouc05: DocBook additions.
+int const LAYOUT_FORMAT = 90; // spitz: semantic label colors
// Layout format for the current lyx file format. Controls which format is
LYXERR(Debug::TCLASS, "Running `" << command_str << '\'');
cmd_ret const ret = runCommand(command_str);
- if (ret.first != 0) {
+ if (!ret.valid) {
if (format == LAYOUT_FORMAT)
LYXERR0("Conversion of layout with layout2layout.py has failed.");
return false;
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), docbookroot_("article"), docbookforceabstract_(false)
-{
+ cite_full_author_list_(true), bibintoc_(false) {
}
-bool TextClass::readStyle(Lexer & lexrc, Layout & lay) const
+bool TextClass::readStyle(Lexer & lexrc, Layout & lay, ReadType rt) const
{
LYXERR(Debug::TCLASS, "Reading style " << to_utf8(lay.name()));
- if (!lay.read(lexrc, *this)) {
+ if (!lay.read(lexrc, *this, rt == VALIDATION)) {
LYXERR0("Error parsing style `" << to_utf8(lay.name()) << '\'');
return false;
}
Layout lay;
// Since we couldn't read the name, we just scan the rest
// of the style and discard it.
- error = !readStyle(lexrc, lay);
+ error = !readStyle(lexrc, lay, rt);
break;
}
// block.
if (have_layout && !providestyle) {
Layout & lay = operator[](name);
- error = !readStyle(lexrc, lay);
+ error = !readStyle(lexrc, lay, rt);
}
// If the layout does not exist, then we want to create a new
// one, but not if we are in a ModifyStyle block.
else if (!have_layout && !modifystyle) {
Layout layout;
layout.setName(name);
- error = !readStyle(lexrc, layout);
+ error = !readStyle(lexrc, layout, rt);
if (!error)
layoutlist_.push_back(layout);
else {
Layout lay;
// signal to coverity that we do not care about the result
- (void)readStyle(lexrc, lay);
+ (void)readStyle(lexrc, lay, rt);
}
break;
}
FT_HTMLTAG,
FT_DOCBOOKATTR,
FT_DOCBOOKTAG,
+ FT_DOCBOOKTAGTYPE,
FT_LISTCOMMAND,
FT_REFPREFIX,
FT_ALLOWED_PLACEMENT,
{ "allowswide", FT_ALLOWS_WIDE },
{ "docbookattr", FT_DOCBOOKATTR },
{ "docbooktag", FT_DOCBOOKTAG },
+ { "docbooktagtype", FT_DOCBOOKTAGTYPE },
{ "end", FT_END },
{ "extension", FT_EXT },
{ "guiname", FT_NAME },
string htmltag;
string docbookattr;
string docbooktag;
+ string docbooktagtype;
string listname;
string listcommand;
string name;
lexrc.next();
docbooktag = lexrc.getString();
break;
+ case FT_DOCBOOKTAGTYPE:
+ lexrc.next();
+ docbooktagtype = lexrc.getString();
+ break;
case FT_END:
getout = true;
break;
}
Floating fl(type, placement, ext, within, style, name,
listname, listcommand, refprefix, allowed_placement,
- htmltag, htmlattr, htmlstyle, docbooktag, docbookattr,
- required, usesfloat, ispredefined, allowswide,
- allowssideways);
+ htmltag, htmlattr, htmlstyle, docbookattr,
+ docbooktagtype, required, usesfloat, ispredefined,
+ allowswide, allowssideways);
floatlist_.newFloat(fl);
// each float has its own counter
counters_.newCounter(from_ascii(type), from_ascii(within),
defaultLayout = new Layout;
defaultLayout->setUnknown(unknown);
defaultLayout->setName(name);
- if (!readStyle(lex, *defaultLayout)) {
+ if (!readStyle(lex, *defaultLayout, BASECLASS)) {
// The only way this happens is because the hardcoded layout above
// is wrong.
LATTEST(false);
{
vector<CitationStyle> const styles = citeStyles(type);
vector<string> cmds;
+ cmds.reserve(styles.size());
for (auto const & cs : styles)
cmds.push_back(cs.name);