[LyX/master] DocBook: add new layout parameter DocBookWrapperMergeWithPrevious.

Thibaut Cuvelier tcuvelier at lyx.org
Sat Sep 19 18:18:54 UTC 2020


commit ad18c194920fe8ed8f339ee5fc755e8f3473db51
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 4cc5eba..469cfaf 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