X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FLayout.h;h=04f184f3a4d7d263824b39935c8aa25f2d88dd0d;hb=22e6659780390a19174d1bf896317a5baf9e40d7;hp=5f964f80df421f80b3621b951514582f258554e8;hpb=0eb651a2cf6c8c4d39e461748292ffe4e69f2386;p=lyx.git diff --git a/src/Layout.h b/src/Layout.h index 5f964f80df..04f184f3a4 100644 --- a/src/Layout.h +++ b/src/Layout.h @@ -105,6 +105,7 @@ public: FontInfo labelfont; bool autoinsert; bool insertcotext; + ArgPassThru passthru; docstring pass_thru_chars; bool is_toc_caption; }; @@ -116,6 +117,9 @@ public: LaTeXArgMap const & postcommandargs() const { return postcommandargs_; } /// 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. + bool hasArgs() const; /// Returns latexargs() + postcommandargs() + itemargs(). /// But note that it returns a *copy*, not a reference, so do not do /// anything like: @@ -128,7 +132,7 @@ public: /// int requiredArgs() const; /// - docstring const & labelstring(bool in_appendix) const + docstring const & labelstring(bool in_appendix) const { return in_appendix ? labelstring_appendix_ : labelstring_; } /// docstring const & endlabelstring() const { return endlabelstring_; } @@ -145,6 +149,10 @@ public: /// std::set const & requires() const { return requires_; } /// + std::set const & autonests() const { return autonests_; } + /// + std::set const & isAutonestedBy() const { return autonested_by_; } + /// std::string const & latexparam() const { return latexparam_; } /// docstring leftdelim() const { return leftdelim_; } @@ -156,25 +164,25 @@ public: std::string const & labeltag() const { return labeltag_; } /// std::string const & itemtag() const { return itemtag_; } - /// + /// std::string const & htmltag() const; - /// + /// std::string const & htmlattr() const; - /// + /// std::string const & htmlitemtag() const; - /// + /// std::string const & htmlitemattr() const; - /// + /// std::string const & htmllabeltag() const; - /// + /// std::string const & htmllabelattr() const; /// std::string defaultCSSClass() const; /// bool htmllabelfirst() const { return htmllabelfirst_; } - /// + /// docstring htmlstyle() const; - /// + /// docstring const & htmlpreamble() const { return htmlpreamble_; } /// bool htmltitle() const { return htmltitle_; } @@ -214,7 +222,7 @@ public: /// bool operator==(Layout const &) const; /// - bool operator!=(Layout const & rhs) const + bool operator!=(Layout const & rhs) const { return !(*this == rhs); } //////////////////////////////////////////////////////////////// @@ -352,7 +360,7 @@ private: std::string defaultCSSItemClass() const { return defaultCSSClass() + "_item"; } /// std::string defaultCSSLabelClass() const { return defaultCSSClass() + "_label"; } - + /// Name of the layout/paragraph environment docstring name_; @@ -397,13 +405,13 @@ private: /// Internal tag to surround the item text in a list. std::string itemtag_; /// The interpretation of this tag varies depending upon the latextype. - /// In an environment, it is the tag enclosing all content for this set of - /// paragraphs. So for quote, e.g,. it would be: blockquote. For itemize, + /// In an environment, it is the tag enclosing all content for this set of + /// paragraphs. So for quote, e.g,. it would be: blockquote. For itemize, /// it would be: ul. (You get the idea.) /// /// For a command, it is the tag enclosing the content of the command. /// So, for section, it might be: h2. - /// + /// /// For the paragraph type, it is the tag that will enclose each paragraph. /// /// Defaults to "div". @@ -413,7 +421,7 @@ private: mutable std::string htmlattr_; /// Tag for individual paragraphs in an environment. In lists, this /// would be something like "li". But it also needs to be set for - /// quotation, e.g., since the paragraphs in a quote need to be + /// quotation, e.g., since the paragraphs in a quote need to be /// in "p" tags. Default is "div". /// Note that when I said "environment", I meant it: This has no /// effect for LATEX_PARAGRAPH type layouts. @@ -422,7 +430,7 @@ private: mutable std::string htmlitemattr_; /// Tag for labels, of whatever sort. One use for this is in setting /// descriptions, in which case it would be: dt. Another use is to - /// customize the display of, say, the auto-generated label for + /// customize the display of, say, the auto-generated label for /// sections. Defaults to "span". /// If set to "NONE", this suppresses the printing of the label. mutable std::string htmllabeltag_; @@ -464,6 +472,10 @@ private: bool par_group_; /// Packages needed for this layout std::set requires_; + /// 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_; ///