X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLayout.h;h=14784a27d23315456d7eddb2286a912d28572a97;hb=b814c4fda732c8b5ee019692eb881c35b9335da6;hp=90d1b2e8edf5ff87dc7501aae47f45331c82d546;hpb=51aebc9327345f6ea065035f489dbfec1568279f;p=lyx.git diff --git a/src/Layout.h b/src/Layout.h index 90d1b2e8ed..14784a27d2 100644 --- a/src/Layout.h +++ b/src/Layout.h @@ -94,20 +94,24 @@ public: docstring labelstring; docstring menustring; bool mandatory; + bool nodelims; docstring ldelim; docstring rdelim; docstring defaultarg; docstring presetarg; docstring tooltip; - std::string requires; + std::string required; std::string decoration; FontInfo font; FontInfo labelfont; bool autoinsert; bool insertcotext; + bool insertonnewline; ArgPassThru passthru; docstring pass_thru_chars; bool is_toc_caption; + bool free_spacing; + std::string newlinecmd; }; /// typedef std::map LaTeXArgMap; @@ -116,6 +120,8 @@ public: /// LaTeXArgMap const & postcommandargs() const { return postcommandargs_; } /// + LaTeXArgMap const & listpreamble() const { return listpreamble_; } + /// LaTeXArgMap const & itemargs() const { return itemargs_; } /// Returns true is the layout has arguments. If false, then an /// InsetArgument in this layout stands for the parent InsetText. @@ -147,7 +153,11 @@ public: /// this layout for language \p lang docstring const babelpreamble() const { return babelpreamble_; } /// - std::set const & requires() const { return requires_; } + std::set const & required() const { return required_; } + /// + std::set const & autonests() const { return autonests_; } + /// + std::set const & isAutonestedBy() const { return autonested_by_; } /// std::string const & latexparam() const { return latexparam_; } /// @@ -183,6 +193,52 @@ public: /// bool htmltitle() const { return htmltitle_; } /// + std::string const & docbooktag() const; + /// + std::string const & docbookattr() const; + /// + std::string const & docbooktagtype() const; + /// + std::string const & docbookininfo() const; + /// + bool docbookabstract() const { return docbookabstract_; } + /// + std::string const & docbookwrappertag() const; + /// + std::string const & docbookwrapperattr() const; + /// + std::string const & docbookwrappertagtype() const; + /// + bool docbookwrappermergewithprevious() const { return docbookwrappermergewithprevious_; } + /// + std::string const & docbooksectiontag() const; + /// + std::string const & docbookitemwrappertag() const; + /// + std::string const & docbookitemwrapperattr() const; + /// + std::string const & docbookitemwrappertagtype() const; + /// + std::string const & docbookitemlabeltag() const; + /// + std::string const & docbookitemlabelattr() const; + /// + std::string const & docbookitemlabeltagtype() const; + /// + std::string const & docbookiteminnertag() const; + /// + std::string const & docbookiteminnerattr() const; + /// + std::string const & docbookiteminnertagtype() const; + /// + std::string const & docbookitemtag() const; + /// + std::string const & docbookitemattr() const; + /// + std::string const & docbookitemtagtype() const; + /// + std::string const & docbookforceabstracttag() const; + /// bool isParagraph() const { return latextype == LATEX_PARAGRAPH; } /// bool isCommand() const { return latextype == LATEX_COMMAND; } @@ -307,6 +363,12 @@ public: /** true when the fragile commands in the paragraph need to be \protect'ed. */ bool needprotect; + /** true when the verbatim stuff of this layout needs to be + \cprotect'ed. */ + bool needcprotect; + /** true when specific commands in this paragraph need to be + protected in an \mbox. */ + bool needmboxprotect; /// true when empty paragraphs should be kept. bool keepempty; /// Type of LaTeX object @@ -441,6 +503,56 @@ private: bool htmllabelfirst_; /// CSS information needed by this layout. docstring htmlstyle_; + /// DocBook tag corresponding to this layout. + mutable std::string docbooktag_; + /// Roles to add to docbooktag_, if any (default: none). + mutable std::string docbookattr_; + /// DocBook tag type corresponding to this layout (block, paragraph, or inline; default: block). + mutable std::string docbooktagtype_; + /// DocBook tag corresponding to this item (mainly for lists). + mutable std::string docbookitemtag_; + /// Roles to add to docbookitemtag_, if any (default: none). + mutable std::string docbookitemattr_; + /// DocBook tag type corresponding to this item (block, paragraph, or inline; default: block). + mutable std::string docbookitemtagtype_; + /// DocBook tag corresponding to the wrapper around an item (mainly for lists). + mutable std::string docbookitemwrappertag_; + /// Roles to add to docbookitemwrappertag_, if any (default: none). + mutable std::string docbookitemwrapperattr_; + /// DocBook tag type corresponding to the wrapper around an item (block, paragraph, or inline; default: block). + mutable std::string docbookitemwrappertagtype_; + /// DocBook tag corresponding to this label (mostly for description lists; + /// labels in the common sense do not exist with DocBook). + mutable std::string docbookitemlabeltag_; + /// Roles to add to docbooklabeltag_, if any (default: none). + mutable std::string docbookitemlabelattr_; + /// DocBook tag corresponding to this label (block, paragraph, or inline; default: block). + mutable std::string docbookitemlabeltagtype_; + /// DocBook tag to add within the item, around its direct content (mainly for lists). + mutable std::string docbookiteminnertag_; + /// Roles to add to docbookiteminnertag_, if any (default: none). + mutable std::string docbookiteminnerattr_; + /// DocBook tag to add within the item, around its direct content (block, paragraph, or inline; default: block). + mutable std::string docbookiteminnertagtype_; + /// DocBook tag corresponding to this wrapper around the main tag. + mutable std::string docbookwrappertag_; + /// Roles to add to docbookwrappertag_, if any (default: none). + mutable std::string docbookwrapperattr_; + /// DocBook tag corresponding to this wrapper around the main tag (block, paragraph, or inline; default: block). + mutable std::string docbookwrappertagtype_; + /// 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 tag (default: never, as it only makes sense for metadata). + mutable std::string docbookininfo_; + /// Wehther this paragraph should be considered as abstract. + bool docbookabstract_; + /// Whether this element (root or not) does not accept text without a section (i.e. the first text that is met + /// in LyX must be considered as the abstract if this is true); this text must be output with the specific tag + /// held by this attribute + mutable std::string docbookforceabstracttag_; /// Should we generate the default CSS for this layout, even if HTMLStyle /// has been given? Default is false. /// Note that the default CSS is output first, then the user CSS, so it is @@ -467,12 +579,18 @@ private: /// Are adjacent paragraphs handled as one group? bool par_group_; /// Packages needed for this layout - std::set requires_; + std::set required_; + /// Layouts that are by default nested after this one + std::set autonests_; + /// Layouts that by auto-nest this one + std::set autonested_by_; /// LaTeXArgMap latexargs_; /// LaTeXArgMap postcommandargs_; /// + LaTeXArgMap listpreamble_; + /// LaTeXArgMap itemargs_; /// bool add_to_toc_;