]> git.lyx.org Git - lyx.git/commitdiff
DocBook: add new layout parameter DocBookWrapperMergeWithPrevious.
authorThibaut Cuvelier <tcuvelier@lyx.org>
Sun, 2 Aug 2020 15:07:38 +0000 (17:07 +0200)
committerThibaut Cuvelier <tcuvelier@lyx.org>
Sat, 19 Sep 2020 18:43:36 +0000 (20:43 +0200)
lib/scripts/layout2layout.py
src/Layout.cpp
src/Layout.h
src/TextClass.cpp

index 60d4593482bc673c2b9765b808fbe260adfcfb13..e69deba6241bc3e765cbe0ecbeeb49e22106796c 100644 (file)
@@ -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").
 
index c45fd5c101d4e4d3cbfc4ad26289ca36677157ed..a7e80ea3f36d56980fdbd0002456204f4589ce4c 100644 (file)
@@ -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())
index 7e9409ad44c9216dfe9f3091657ad61dbb812f2c..d9eb893c2e447353fd5eba62ba20103e0da59e98 100644 (file)
@@ -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).
index 4cc5eba0edf59d7832585af6733fcaeae7ae58b6..469cfafff4a857929f4b96e8684b5902121a30ac 100644 (file)
@@ -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