DocBook: add new layout parameter DocBookWrapperMergeWithPrevious.

This commit is contained in:
Thibaut Cuvelier 2020-08-02 17:07:38 +02:00
parent c6937cece9
commit 59b0f88d2b
4 changed files with 17 additions and 2 deletions

View File

@ -11,7 +11,7 @@
# This script will update a .layout file to current format # This script will update a .layout file to current format
# The latest layout format is also defined in src/TextClass.cpp # The latest layout format is also defined in src/TextClass.cpp
currentFormat = 82 currentFormat = 83
# Incremented to format 4, 6 April 2007, lasgouttes # Incremented to format 4, 6 April 2007, lasgouttes
@ -281,6 +281,9 @@ currentFormat = 82
# - Removed tag Header from ClassOptionsClassOptions # - Removed tag Header from ClassOptionsClassOptions
# - Removed tag Element for flex insets # - Removed tag Element for flex insets
# Incremented to format 83, 2 August 2020 by dourouc05
# New tag DocBookWrapperMergeWithPrevious
# Do not forget to document format change in Customization # Do not forget to document format change in Customization
# Manual (section "Declaring a new text class"). # Manual (section "Declaring a new text class").

View File

@ -109,6 +109,7 @@ enum LayoutTags {
LT_DOCBOOKININFO, LT_DOCBOOKININFO,
LT_DOCBOOKWRAPPERTAG, LT_DOCBOOKWRAPPERTAG,
LT_DOCBOOKWRAPPERATTR, LT_DOCBOOKWRAPPERATTR,
LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS,
LT_DOCBOOKSECTIONTAG, LT_DOCBOOKSECTIONTAG,
LT_DOCBOOKITEMWRAPPERTAG, LT_DOCBOOKITEMWRAPPERTAG,
LT_DOCBOOKITEMWRAPPERATTR, LT_DOCBOOKITEMWRAPPERATTR,
@ -176,6 +177,7 @@ Layout::Layout()
htmllabelfirst_ = false; htmllabelfirst_ = false;
htmlforcecss_ = false; htmlforcecss_ = false;
htmltitle_ = false; htmltitle_ = false;
docbookwrappermergewithprevious_ = false;
spellcheck = true; spellcheck = true;
forcelocal = 0; forcelocal = 0;
itemcommand_ = "item"; itemcommand_ = "item";
@ -234,6 +236,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
{ "docbooktag", LT_DOCBOOKTAG }, { "docbooktag", LT_DOCBOOKTAG },
{ "docbookwrapperattr", LT_DOCBOOKWRAPPERATTR }, { "docbookwrapperattr", LT_DOCBOOKWRAPPERATTR },
{ "docbookwrappertag", LT_DOCBOOKWRAPPERTAG }, { "docbookwrappertag", LT_DOCBOOKWRAPPERTAG },
{ "docbookwrappermergewithprevious", LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS },
{ "end", LT_END }, { "end", LT_END },
{ "endlabelstring", LT_ENDLABELSTRING }, { "endlabelstring", LT_ENDLABELSTRING },
{ "endlabeltype", LT_ENDLABELTYPE }, { "endlabeltype", LT_ENDLABELTYPE },
@ -743,6 +746,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
lex >> docbookwrapperattr_; lex >> docbookwrapperattr_;
break; break;
case LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS:
lex >> docbookwrappermergewithprevious_;
break;
case LT_DOCBOOKSECTIONTAG: case LT_DOCBOOKSECTIONTAG:
lex >> docbooksectiontag_; lex >> docbooksectiontag_;
break; break;
@ -1610,6 +1617,7 @@ void Layout::write(ostream & os) const
os << "\tDocBookItemWrapperTag " << docbookitemwrappertag_ << '\n'; os << "\tDocBookItemWrapperTag " << docbookitemwrappertag_ << '\n';
if(!docbookitemwrapperattr_.empty()) if(!docbookitemwrapperattr_.empty())
os << "\tDocBookItemWrapperAttr " << docbookitemwrapperattr_ << '\n'; os << "\tDocBookItemWrapperAttr " << docbookitemwrapperattr_ << '\n';
os << "\tDocBookItemWrapperMergeWithPrevious " << docbookwrappermergewithprevious_ << '\n';
if(!docbookitemlabeltag_.empty()) if(!docbookitemlabeltag_.empty())
os << "\tDocBookItemLabelTag " << docbookitemlabeltag_ << '\n'; os << "\tDocBookItemLabelTag " << docbookitemlabeltag_ << '\n';
if(!docbookitemlabelattr_.empty()) if(!docbookitemlabelattr_.empty())

View File

@ -203,6 +203,8 @@ public:
/// ///
std::string const & docbookwrapperattr() const; std::string const & docbookwrapperattr() const;
/// ///
bool docbookwrappermergewithprevious() const { return docbookwrappermergewithprevious_; }
///
std::string const & docbooksectiontag() const; std::string const & docbooksectiontag() const;
/// ///
std::string const & docbookitemwrappertag() const; std::string const & docbookitemwrappertag() const;
@ -512,6 +514,8 @@ private:
mutable std::string docbookwrappertag_; mutable std::string docbookwrappertag_;
/// Roles to add to docbookwrappertag_, if any (default: none). /// Roles to add to docbookwrappertag_, if any (default: none).
mutable std::string docbookwrapperattr_; mutable std::string docbookwrapperattr_;
/// Whether this wrapper tag may be merged with the previously opened wrapper tag.
bool docbookwrappermergewithprevious_;
/// Outer tag for this section, only if this layout represent a sectionning item, including chapters (default: section). /// Outer tag for this section, only if this layout represent a sectionning item, including chapters (default: section).
mutable std::string docbooksectiontag_; mutable std::string docbooksectiontag_;
/// Whether this tag must/can/can't go into an <info> tag (default: never, as it only makes sense for metadata). /// Whether this tag must/can/can't go into an <info> tag (default: never, as it only makes sense for metadata).

View File

@ -62,7 +62,7 @@ namespace lyx {
// You should also run the development/tools/updatelayouts.py script, // You should also run the development/tools/updatelayouts.py script,
// to update the format of all of our layout files. // to update the format of all of our layout files.
// //
int const LAYOUT_FORMAT = 82; // dourouc05: DocBook additions. int const LAYOUT_FORMAT = 83; // tcuvelier: DocBookWrapperMergeWithPrevious.
// Layout format for the current lyx file format. Controls which format is // Layout format for the current lyx file format. Controls which format is