[LyX/master] DocBook: add new layout parameter DocBookWrapperMergeWithPrevious.
Thibaut Cuvelier
tcuvelier at lyx.org
Mon Aug 3 13:39:49 UTC 2020
commit 59b0f88d2b8b2169bede865c6e8a4f1178f73765
Author: Thibaut Cuvelier <tcuvelier at lyx.org>
Date: Sun Aug 2 17:07:38 2020 +0200
DocBook: add new layout parameter DocBookWrapperMergeWithPrevious.
---
lib/scripts/layout2layout.py | 5 ++++-
src/Layout.cpp | 8 ++++++++
src/Layout.h | 4 ++++
src/TextClass.cpp | 2 +-
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/lib/scripts/layout2layout.py b/lib/scripts/layout2layout.py
index 60d4593..e69deba 100644
--- a/lib/scripts/layout2layout.py
+++ b/lib/scripts/layout2layout.py
@@ -11,7 +11,7 @@
# This script will update a .layout file to current format
# The latest layout format is also defined in src/TextClass.cpp
-currentFormat = 82
+currentFormat = 83
# Incremented to format 4, 6 April 2007, lasgouttes
@@ -281,6 +281,9 @@ currentFormat = 82
# - Removed tag Header from ClassOptionsClassOptions
# - 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
# Manual (section "Declaring a new text class").
diff --git a/src/Layout.cpp b/src/Layout.cpp
index c45fd5c..a7e80ea 100644
--- a/src/Layout.cpp
+++ b/src/Layout.cpp
@@ -109,6 +109,7 @@ enum LayoutTags {
LT_DOCBOOKININFO,
LT_DOCBOOKWRAPPERTAG,
LT_DOCBOOKWRAPPERATTR,
+ LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS,
LT_DOCBOOKSECTIONTAG,
LT_DOCBOOKITEMWRAPPERTAG,
LT_DOCBOOKITEMWRAPPERATTR,
@@ -176,6 +177,7 @@ Layout::Layout()
htmllabelfirst_ = false;
htmlforcecss_ = false;
htmltitle_ = false;
+ docbookwrappermergewithprevious_ = false;
spellcheck = true;
forcelocal = 0;
itemcommand_ = "item";
@@ -234,6 +236,7 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
{ "docbooktag", LT_DOCBOOKTAG },
{ "docbookwrapperattr", LT_DOCBOOKWRAPPERATTR },
{ "docbookwrappertag", LT_DOCBOOKWRAPPERTAG },
+ { "docbookwrappermergewithprevious", LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS },
{ "end", LT_END },
{ "endlabelstring", LT_ENDLABELSTRING },
{ "endlabeltype", LT_ENDLABELTYPE },
@@ -743,6 +746,10 @@ bool Layout::readIgnoreForcelocal(Lexer & lex, TextClass const & tclass)
lex >> docbookwrapperattr_;
break;
+ case LT_DOCBOOKWRAPPERMERGEWITHPREVIOUS:
+ lex >> docbookwrappermergewithprevious_;
+ break;
+
case LT_DOCBOOKSECTIONTAG:
lex >> docbooksectiontag_;
break;
@@ -1610,6 +1617,7 @@ void Layout::write(ostream & os) const
os << "\tDocBookItemWrapperTag " << docbookitemwrappertag_ << '\n';
if(!docbookitemwrapperattr_.empty())
os << "\tDocBookItemWrapperAttr " << docbookitemwrapperattr_ << '\n';
+ os << "\tDocBookItemWrapperMergeWithPrevious " << docbookwrappermergewithprevious_ << '\n';
if(!docbookitemlabeltag_.empty())
os << "\tDocBookItemLabelTag " << docbookitemlabeltag_ << '\n';
if(!docbookitemlabelattr_.empty())
diff --git a/src/Layout.h b/src/Layout.h
index 7e9409a..d9eb893 100644
--- a/src/Layout.h
+++ b/src/Layout.h
@@ -203,6 +203,8 @@ public:
///
std::string const & docbookwrapperattr() const;
///
+ bool docbookwrappermergewithprevious() const { return docbookwrappermergewithprevious_; }
+ ///
std::string const & docbooksectiontag() const;
///
std::string const & docbookitemwrappertag() const;
@@ -512,6 +514,8 @@ private:
mutable std::string docbookwrappertag_;
/// Roles to add to docbookwrappertag_, if any (default: none).
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).
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).
diff --git a/src/TextClass.cpp b/src/TextClass.cpp
index eb92612..79cdabd 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 = 82; // dourouc05: DocBook additions.
+int const LAYOUT_FORMAT = 83; // tcuvelier: DocBookWrapperMergeWithPrevious.
// Layout format for the current lyx file format. Controls which format is
More information about the lyx-cvs
mailing list