X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Finsets%2FInsetLayout.h;h=c4a12a4018a9e17eaee309c0b4676ba08ed7afe1;hb=59e6610d8ad4d5c5a81d9a6b4ef73ae36231489a;hp=533b62d0e8202452a644db9b97239bdbbdbab675;hpb=08b63ad3c66f8c9e443526555031d09d0bcc0c16;p=lyx.git diff --git a/src/insets/InsetLayout.h b/src/insets/InsetLayout.h index 533b62d0e8..c4a12a4018 100644 --- a/src/insets/InsetLayout.h +++ b/src/insets/InsetLayout.h @@ -15,9 +15,9 @@ #include "ColorCode.h" #include "FontInfo.h" +#include "Layout.h" #include "support/docstring.h" -#include "support/debug.h" #include #include @@ -76,35 +76,74 @@ public: /// std::string latexparam() const { return latexparam_; } /// + docstring leftdelim() const { return leftdelim_; } + /// + docstring rightdelim() const { return rightdelim_; } + /// FontInfo font() const { return font_; } /// FontInfo labelfont() const { return labelfont_; } /// ColorCode bgcolor() const { return bgcolor_; } /// + Layout::LaTeXArgMap const & latexargs() const { return latexargs_; } + /// + Layout::LaTeXArgMap const & postcommandargs() const { return postcommandargs_; } + /// Returns latexargs() + postcommandargs(). + /// But note that it returns a *copy*, not a reference, so do not do + /// anything like: + /// Layout::LaTeXArgMap::iterator it = args().begin(); + /// Layout::LaTeXArgMap::iterator en = args().end(); + /// Those are iterators for different containers. + Layout::LaTeXArgMap args() const; + /// + unsigned int optArgs() const; + /// + unsigned int requiredArgs() const; + /// docstring preamble() const { return preamble_; } + /// Get language dependent macro definitions needed for this inset + docstring const langpreamble() const { return langpreamble_; } + /// Get language and babel dependent macro definitions needed for + /// this inset + docstring const babelpreamble() const { return babelpreamble_; } + /// + bool fixedwidthpreambleencoding() const { return fixedwidthpreambleencoding_; } /// docstring counter() const { return counter_; } /// + docstring refprefix() const { return refprefix_; } + /// The tag enclosing all the material in this inset. Default is "span". std::string const & htmltag() const; - /// + /// Additional attributes for inclusion with the start tag. Default (if + /// a tag is provided) is: class="name". std::string const & htmlattr() const; - /// + /// Tag for individual paragraphs in the inset. Default is none. std::string const & htmlinnertag() const { return htmlinnertag_; } - /// + /// Attributes for that tag. Default (if a tag is provided) is: + /// class="name_inner". std::string const & htmlinnerattr() const; - /// + /// A label for this environment, possibly including a reference + /// to a counter. E.g., for footnote, it might be: + /// \arabic{footnote} + /// No default. + /// FIXME Could we get this from the layout? std::string const & htmllabel() const { return htmllabel_; } /// inline std::string htmllabeltag() const { return "span"; } /// - std::string htmllabelattr() const + std::string htmllabelattr() const { return "class=\"" + defaultCSSClass() + "_label\""; } - /// + /// CSS associated with this inset. docstring htmlstyle() const; - /// + /// Additional material for the header. docstring htmlpreamble() const { return htmlpreamble_; } - /// + /// Whether this inset represents a "block" of material, i.e., a set + /// of paragraphs of its own (true), or should be run into the previous + /// paragraph (false). Examples: + /// For branches, this is false. + /// For footnotes, this is true. + /// Defaults to true. bool htmlisblock() const { return htmlisblock_; } /// std::set requires() const { return requires_; } @@ -117,6 +156,10 @@ public: /// bool isPassThru() const { return passthru_; } /// + docstring passThruChars() const { return passthru_chars_; } + /// + bool parbreakIsNewline() const { return parbreakisnewline_; } + /// bool isNeedProtect() const { return needprotect_; } /// bool isFreeSpacing() const { return freespacing_; } @@ -125,15 +168,32 @@ public: /// bool forceLTR() const { return forceltr_; } /// + bool forceOwnlines() const { return forceownlines_; } + /// bool isInToc() const { return intoc_; } /// + bool spellcheck() const { return spellcheck_; } + /// + bool resetsFont() const { return resetsfont_; } + /// + bool isDisplay() const { return display_; } + /// + bool forcelocalfontswitch() const { return forcelocalfontswitch_; } + /// + docstring const & obsoleted_by() const { return obsoleted_by_; } + /// + bool addToToc() const { return add_to_toc_; } + /// + std::string tocType() const { return toc_type_; } + /// + bool isTocCaption() const { return is_toc_caption_; } private: /// void makeDefaultCSS() const; /// std::string defaultCSSClass() const; /// - std::string defaultCSSLabelClass() const { return defaultCSSClass() + "_label"; } + void readArgument(Lexer &); /// docstring name_; /** @@ -155,6 +215,10 @@ private: /// std::string latexparam_; /// + docstring leftdelim_; + /// + docstring rightdelim_; + /// FontInfo font_; /// FontInfo labelfont_; @@ -164,64 +228,91 @@ private: docstring counter_; /// docstring preamble_; - /// The tag enclosing all the material in this inset. Default is "span". + /// Language dependent macro definitions needed for this inset + docstring langpreamble_; + /// Language and babel dependent macro definitions needed for this inset + docstring babelpreamble_; + /// + bool fixedwidthpreambleencoding_; + /// + docstring refprefix_; + /// mutable std::string htmltag_; - /// Additional attributes for inclusion with the start tag. Default (if - /// a tag is provided) is: class="name". + /// mutable std::string htmlattr_; - /// Tag for individual paragraphs in the inset. Default is none. + /// std::string htmlinnertag_; - /// Attributes for that tag. Default (if a tag is provided) is: - /// class="name_inner". + /// mutable std::string htmlinnerattr_; - /// A label for this environment, possibly including a reference - /// to a counter. E.g., for footnote, it might be: - /// \arabic{footnote} - /// No default. - /// FIXME Could we get this from the layout? + /// std::string htmllabel_; - /// CSS associated with this inset. + /// docstring htmlstyle_; /// Cache for default CSS info for this inset. mutable docstring htmldefaultstyle_; - /// + /// Cache for default CSS class. mutable std::string defaultcssclass_; /// Whether to force generation of default CSS even if some is given. /// False by default. bool htmlforcecss_; - /// Additional material for the header. + /// docstring htmlpreamble_; - /// Whether this inset represents a "block" of material, i.e., a set - /// of paragraphs of its own (true), or should be run into the previous - /// paragraph (false). Examples: - /// For branches, this is false. - /// For footnotes, this is true. - /// Defaults to true. + /// bool htmlisblock_; /// std::set requires_; /// bool multipar_; - /// + /// bool custompars_; /// bool forceplain_; /// bool passthru_; /// - bool needprotect_; + docstring passthru_chars_; + /// + bool parbreakisnewline_; /// bool freespacing_; /// bool keepempty_; /// bool forceltr_; + /// + bool forceownlines_; + /// + bool needprotect_; /// should the contents be written to TOC strings? bool intoc_; + /// check spelling of this inset? + bool spellcheck_; + /// + bool resetsfont_; + /// + bool display_; + /// + bool forcelocalfontswitch_; + /** Name of an insetlayout that has replaced this insetlayout. + This is used to rename an insetlayout, while keeping backward + compatibility + */ + docstring obsoleted_by_; + /// + Layout::LaTeXArgMap latexargs_; + /// + Layout::LaTeXArgMap postcommandargs_; + /// + bool add_to_toc_; + /// + std::string toc_type_; + /// + bool is_toc_caption_; }; /// InsetLayout::InsetLyXType translateLyXType(std::string const & str); +InsetLayout::InsetDecoration translateDecoration(std::string const & str); } // namespace lyx